Find out more about STM32 implementations with external components, discuss use cases, and discover how to use new tools and ST components.
Most recent activity
I have this hardware. X_NUCLEO-53L9A1 and Nucleo-H563ZI. I installed the drivers and flashed GrabRel binary into the STM32H5. I open Jarv3D but No hardware detected.
Hi,I am developing application on B-U585I-IOT02A (STM32U585), using mx_wifi component V2.3.3 (SPI transport, socket mode MX_WIFI_NETWORK_BYPASS_MODE == 0), EMW3080B module firmware V2.3.4, bare-OS shim, link associated and DHCP lease verified before every test.Symptom. MX_WIFI_Socket_setsockopt() returns -1 immediately for MX_SO_BLOCKMODE (0x1000) at level MX_SOL_SOCKET (0xfff). The refusal is value-invariant: optval 0 and 1 behave identically (0 would request the module's default state), and OptLen 1, 2 and 4 all fail — so the option name, not the payload, is rejected. MX_WIFI_Socket_getsockopt() on the same option is refused as well, so the effective mode cannot even be read back. Mainstream options on the same socket (MX_SO_REUSEADDR, MX_SO_SNDTIMEO, MX_SO_RCVTIMEO) succeed.Minimal reproint32_t sock = MX_WIFI_Socket_create(obj, MX_AF_INET, MX_SOCK_STREAM, MX_IPPROTO_TCP);int32_t optval = 1; /* 1 = non-blocking */int32_t ret = MX_WIFI_Socket_setsockopt(obj, soc
Hi everyone,I'm having a very annoying issue with an STM32U5G9ZJ and a Newhaven NHD-4.0-480480AF-MSXP-CTP display using an ST7701SN over 2-lane MIPI DSI.The basic communication works, but I cannot get any video onto the display.What worksThe panel responds correctly to LP short DSI commands:Reset works. ST7701 registers can be read. The initialisation sequence runs successfully. 0x29 Display ON works. 0x23 All Pixels On makes the display white.So the panel and the LP DSI communication are working.What doesn't workAs soon as I try to send RGB888 video over HS DSI, the display stays black.I've tested this both using the LTDC/framebuffer and the internal pattern generator. The latter was to rule out the framebuffer/LTDC completely.The pattern generator starts successfully and the DSI registers show the video engine and both data lanes entering an active HS state, but the panel still stays black.I'm using:2 DSI lanes RGB888 Burst video mode 480 × 480 480 packet size Continuous clock Automa
Hi there, can someone explain what the GP configuration of the STM32N6 is? I can only find information that the dedicated pinout is different (Datasheet Chap.7) but no more information whether this has any influence on the functionality. Is there any reason why the STM32N657H3QG is not available in “Tape and ring” packaging?Thanks Mitja
Hi, I have been developing IoT application for the B-U585I-IOT02A (STM32U585AI) and encountered following problem:When attempting to set a socket to non-blocking mode MX_SO_BLOCKMODE = 1 using the MX_WIFI_Socket_setsockopt() API the call fails immediately and returns -1.Steps to reproduce:1. Create a socket using MX_WIFI_Socket_create()2.Try to configure MX_SO_BLOCKMODE = 1 MX_WIFI_Socket_setsockopt()3. Get instant -1 in the runtimeMinimal Reproducible Code#include "mx_wifi.h"#include "mx_wifi_bare_os.h" /* Using Bare OS mode */void test_nonblocking_socket_config(void){ int32_t sock = -1; int32_t optval = 1; /* 1 = Non-blocking mode */ int32_t ret = -1; /* 1. Create TCP Socket */ sock = MX_WIFI_Socket_create(MX_WIFI_AF_INET, MX_WIFI_SOCK_STREAM, MX_WIFI_IPPROTO_TCP); if (sock < 0) { /* Handle socket creation failure */ return; } /* 2. Configure Socket to Non-blocking Mode */ ret = MX_WIFI_Socket_setsockopt(sock,
Hello Community,I would like to report another significant logic bug in the generated firmware libraries for the Vienna Rectifier project (specifically located in the Digital Power Control stack file BSP/DPC_FW_PACK/src/DPC_Loopctrl.c).The Issue:Inside the function DPC_LCT_FeedForwardCtrl(..), the firmware is supposed to evaluate whether the AC Voltage Feed-Forward task is enabled before adding the d-axis and q-axis AC feed-forward grid terms (fVd_feed_sub and fVq_feed_sub) to the current loop outputs.However, the original ST framework code erroneously checks the DC voltage feed-forward enable flag instead of the AC one.The Code Snippet:cvoid DPC_LCT_FeedForwardCtrl(DPC_LCT_CDC_t *pCDC_sub, float *pVd_ctrl_FF_sub, float *pVq_ctrl_FF_sub){ float fVd_feed_sub = pCDC_sub->fVdFeed; float fVq_feed_sub = pCDC_sub->fVqFeed; float fVd_ctrl_sub = pCDC_sub->fVdCurrentCtrl; float fVq_ctrl_sub = pCDC_sub->fVqCurrentCtrl; /* AC feedforward task */ // BUG: Checks bVDC_FF_Enable
Hello Community,I am writing to report a highly critical issue regarding the Vienna Rectifier reference project generated and downloaded via eDesignStudio / Digital Power Workbench (targeting the STM32G474 MCU).The Issue & Context:Upon downloading the automatically generated project package from the eDesignStudio platform and opening the .ioc configuration file locally, STM32CubeMX flags that the template is outdated and prompts the user to either maintain legacy libraries or migrate.The downloaded template from eDesignStudio was built with legacy STM32CubeMX V6.14.0 and STM32Cube FW_G4 V1.6.1. Modern local environments prompt for a migration to STM32Cube FW_G4 V1.6.3. The Critical Hardware/Firmware Bug:If a developer chooses the "Migrate" path to align the project with modern libraries, the automatic code generation introduces a catastrophic control bug:After completing the migration, generating the code, and flashing the MCU, HTRIM2/Timer A output generates incorrect PWM switchin
1.I would like to connect 6 Industrial Sensor which support (4-20ma) or (0-10 Volt ) to STM32H723ZGT6.Guide me both Manual circuit or any IC which can perform below TVS / series protectionPrecision shunt / scalingRC anti-alias filter2.How i can connect and what need to be done for io protection from Reverse polarity and Surge protection
Hi, guys. (admin, if this post is inappropriate please delete)So I am doing quite a complicated project (well for my skill level anyway) and my own code is stating to confuse me. Are there any guidelines for writing readable code in embedded development? I attached my whole project link below. my project on github Any tips would be helpful. I am no where near done and the amount of code I have to write is orders of magnitude away from being finished. I am using cube IDE for this project. A while ago I did try and transition over to vscode but I was getting a lot of issues with cmake and might have become allergic to it. I have also changed how cube ide looks a bit. below is an screenshot. tldrtips on orginising code so its easyer for me to follow my own stuff if you have any tips on making cubeide look better? attached link to my github project below.
Hello Team,We want to have Standalone Programmer based on ST`s Existing Flash Module Like St-Link V2, V3 Or Mini PCB tools.I should be able to Use External ST MCU to Command this SWD module for Flashing n all task , like CubeProgrammer.Basic Interface like Pushbutton to Start the Flash and Some LED to showcase any Error. We would not prefer expensive available off-the-Shelf Programmer like Segger..... Not want to use Rpi as well. This basically for FAE.Regards,
I was trying to configure ethernet on my android phone via using usb cdc ncm on stm32 nucleo U5A5 and i was unable to see the ethernet option in the network settings of the phone.It was completely greyed out. I tried the same on ios and i was able to connect via ethernet. What am i supposed to do to resolve this ?im using ncm of tiny usb for this connectivity.
Hi, I wrote a flash bootloader for STM32G070 using IAR ide.It gets via modbus RTU the command/data to manage the FSM that does the update procedure.Because the master during erasing/programming needs a real time update on overall progression, the .intvec table, the main, the modbus stack and the updaing FSM are all relocated in RAM.With firmware in RAM and a management of FLASH delete/program via IT the firmware can handle modbus during flash programming.The .intvec relocation is done programmtically, copying it from FLASH (0x08000000) to RAM (0x20000000) (0xB8 bytes): I did via explicit firmware because I’m not able to do it via .icfAlso relocated in RAM stm32g0xx_hal_flash*.o via “initialize by copy” in .icf.VTOR set to 0x20000000main entry point and other self-made function as well as modbus stack’s marked as __ramfunc.Great, you say, if everyhing works why this topic? The truth is: to do all above I did a workaround because a problem came when I linked HAL_FLASH_IRQHandler.Wit
Hello, We are using Keil MDK with version 5.27 for our firmware developement. We want to start using STM32C5 series and I wanted to use software packs for STM32C5 series by using pack installer in Keil. But it is not possible to download this pack with Keil and also imprting this pack to Keil is not supported. What could be solution for this when we want to retain our IDE as Keil. Our license for Keil supports only for this v5.27.
Using a new ST-LINK/V2,it always Error: Problem occured while trying to connectI use the wire I bought before to connect it, it will be OKI want to know why this is
Dear Sir/Madam,We have got below products " STM32F030C8T6 " from the authorized distributor and we found the label shows as below : Country of Origin: United Statis it the spelling error or other reason ? Is it the correct label ? when did it change the label format ? Will you have the relate documents with the PCN or the link ? Pls help to check and advise .Will be much appreciate it .Thank youSuki
Hello. I am a beginner, I am trying to connect an STM32 nucleo f446re to an LCD, model 1602A V 2.0.I tried making a test code with no functions to see if the display worksI only see a grid of rectangles light up and when running the code no characters display. What could be the issue? This is the code: int main(void){/* USER CODE BEGIN 1 */HAL_Init();SystemClock_Config();// LCD Board label STM32 pin//---------------------------------------// RS D10 PB6// E D9 PC7// D4 D8 PA9// D5 D7 PA8// D6 D6 PB10// D7 D5 PB4// =====================================================// ENABLE GPIO CLOCKS// =====================================================RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN;RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN;// =====================================================// CONFIGURE GPIO PINS AS OUTPUTS// =====================================================// PB6 = RSGPIOB->MODER &= ~(3U << (6 * 2));GPIOB->MODER |= (1U <<
Hello, We are using F777VI and H743VI in our products and we need to meet UL requirement. https://iq.ulprospector.com/en/document?e=206486 Primary cells and batteries are not rechargeable. Secondary cells and batteries are rechargeable. Primary cells and batteries are designated to be either technician replaceable or user replaceable. Secondary lithium ion cells are not intended to be user replaceable. The circuitry containing the primary cells and batteries should include two diodes (or equivalent) to prevent charging current. Alternatively, the circuitry containing primary cells and batteries should include one diode (or equivalent) and a current-limiting device, such as a resistor. What is the solution you offer, is such capability embedded in ST processors or should be added externally?. It is not very efficient to have diode Drop (0.4V - 0.7V) in a 3V battery coin, or a 2 AA battery (2.4V).
Hi all,I’m configuring a GitHub Actions CI pipeline for an STM32 project with auto-generated CMake files (STM32CubeIDE/CubeMX).I already created a custom Debian container including the dedicated ARM toolchain (arm-none-eabi) version 14.3.rel1 for reproducible builds.What is the best practice: how do I have to configure the CmakeList? Is there a template?How can I keep custom flags/include paths/post-build steps without editing generated files directly?Do you have a minimal working example for STM32 + CMake on GitHub Actions (including .elf/.bin/.hex artifacts)?Thanks in advance for any recommendations.
Hi STM Team,We are currently using the 25 MHz crystal configuration based on the NUCLEO-H723ZG reference design for our STM32H723 + LAN8742 Ethernet implementation.The original/reference crystal used is:NX2016SA 25 MHz – EXS00A-CS11321 (NDK)Frequency: 25 MHz Load capacitance (CL): 6 pF ESR: 80 Ω Reference design uses approximately 5.1/5.6 pF load capacitors.However, the above crystal is currently not readily available in the market, so we evaluated the following alternatives:ECS-250-6-37-JTN-TR – 25 MHz, 6 pF, 80 Ω X2C025000DZ1H-U XRCGB25M000F1SBAR0With the above replacement crystals, we are observing significant data loss during Ethernet communication through the LAN8742.We have already tried the recommended/reference crystal configuration and compared the Ethernet behavior with the replacement crystals, but the issue is still observed with the alternate parts.Could you please help us identify a suitable 25 MHz crystal for the STM32H723 + LAN8742 configuration, preferably a currently
I try to do power wirign for the STM32N645 but unfortunately the AN and the User Guide are not perfectly clear and somewhat incomplete.When I understand it correct, the STM32N6 generates the VDDCORE voltage of 0,89V internally, so all I have to do with the VDDCORE-pins is to connect them with each other and to couple each of them with 100 nF to ground, right? For this I need a specific SMPS configuration which lets the MCU generate this voltage. Here I have a description in the AN and the User Guide which shows some wiring scheme named “Configuration when using SMPS (option 1)” that consists of two inductances and a capacitor and external 1.8V feed into VDDSMPS input.My problem here: the wiring scheme of the development board of that MCU is completely different to what the documentations say. And: neither in the AN nor in the User Guide there are any values for these components. So the question is: what wiring should i use with which component values to let the MCU generate the VDDCORE
Hello,I am looking for an existing implementation of the SAE J2716 SENT (Single Edge Nibble Transmission) protocol for an STM32L4xx device.My goal is to interface with sensors that use the SENT protocol and decode the incoming data stream on the MCU.At the moment, my idea is to use:A timer channel configured in Input Capture mode to measure pulse widths. DMA to transfer captured timer values with minimal CPU overhead. Some form of interrupt or callback to process a complete 32-bit SENT message (24-bit payload + CRC + Status nibble).Since this requires coordinating several hardware peripherals (timer, input capture, DMA, interrupts, and frame decoding), I would like to know whether ST already provides any of the following:Application notes related to SENT reception. Example projects demonstrating SENT decoding. STM32Cube examples, Middleware, libraries, or reusable classes implementing the SENT protocol.If anyone has experience implementing SENT on STM32L4 devices, I would appreciate an
Hi,I have read about the capabilities of the STM32G030P6T6 microcontroller, and they are truly excellent. Is it possible to implement any desired effect for WS2812 LEDs using this microcontroller without an HSE crystal?Are there any limitations?
Hello everyone,I'm working on a custom PCB (professionally soldered, LGA packages) builtaround an STM32G474RET6, and I'm stuck on a communication issue with twoof my three SPI sensors. I'd really appreciate some insight from anyonewho has run into this before.My setup:- Host MCU: STM32G474RET6- Shared SPI3 bus: SCK=PC10, MISO=PC11, MOSI=PC12- TMAG5170 (SPI-only magnetometer), CS=PA11- ISM330DHCX (IMU), CS=PD2- MMC5983MA (magnetometer), CS=PA12The symptom I'm seeing:My TMAG5170 communicates perfectly over SPI, which tells me my SPI3 bus,my shared SCK/MISO/MOSI wiring, and my power rail are all healthy.However, my ISM330DHCX and MMC5983MA never respond in SPI mode — WHO_AM_I/ Product ID reads keep returning garbage (0xFF).Here's what I've already tried:1. I ruled out a software bug by switching from separate HAL_SPI_Transmit / HAL_SPI_Receive calls to a single HAL_SPI_TransmitReceive — no change.2. I checked for solder bridges under the LGA packages with a multimeter (MISO to 3V3,
hi We are using the STM32F103CBT6 as the ST-Link controller in our new gateway board.In the first version of the board, the ST-Link did not work as expected. We have made some changes, and this is the second version of the board.Could you please review the ST-Link schematic section and let us know if there are any issues or recommended changes? Your feedback would be very helpful in ensuring that the ST-Link works correctly in this version.Thank you in advance for your support.
I am using a STM32H723ZG and a jetson orin nano in my project. but to communicate between them i am using a sn65hvd230 CAN module and have chosen pd0 and pd1 as fdcan_rx and fdcan_tx. i have tried several times but for some reason when i have alreay activated my can at the jetson side and it also beign detected, i also set the bitrate and even tried doing candup can0 many times and still the text, “HELLO W“ dosent print out here is my code:- /* USER CODE BEGIN Header *//********************************************************************************* @file : main.c* @brief : Main program body******************************************************************************* @attention** Copyright (c) 2026 STMicroelectronics.* All rights reserved.** This software is licensed under terms that can be found in the LICENSE file* in the root directory of this software component.* If no LICENSE file comes with this software, it is provided AS-IS.**************************************************
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.