Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
My current project is a small (15 x 30 mm) PCB, with 4 layers. I use the STM32WB1MMC module for BT connectivity. Are there things to consider when designing this 4-layer PCB in order to maximize BT range?Thanks!
Does anyone know if the PGA OpAmp in the STM32 has the ability to interface with a differential input - like a Strain Gauge Wheatstone bridge? I'm not convinced its going to work because my signal is going to swing +/-50mV, and the OpAmp does no look like it can handle a differential input. There's probably some jiggly pokery that can be done to condition it externally, just wondered if anyone has any experience before I go down that route myself.
We are using STM32H743 Controller in one of our LRU (Line replaceable unit).Since February end, The LRU System Test equipment cannot load the programming (.bin ) file to many units. This is the first time this specific failure mode has appeared. This is also the first time that any kind of OPS programming failure has appeared that isn't an operator or facility issue.We have tried loading the .bin file using STM32Cube programmer as well but still the issue exists.We have recently come across this PCN where Bootloader version of 9.1 is Changed to V9.2 resolving abnormal data output on the USART1_TX PB14.We are using USART3_TX on PB14 and USART3_RX on PB11. Do you think OPC bootloader V9.1 to V9.2 has any impact on USART 3 interface used for RS-232 ?Note , once we replace the STM32 IC with the old batch code , this issue is resolved. More details :Here are our connections.USART1_TX : PB14 (PULL DOWN 100K), series resistor 47 ohms.USART1_RX :PB15 (PULL DOWN 100K ) se
Hi,I have an issue on MIPI Display with our custom board, information as below, Core: STM32U599NJH6Frame Buffer Address: 0x200D0000 (Internal SRAM)MIPI Driver : ST7797Resolution: 400*400Reference example : STM32Cube_FW_U5_V1.6.0\ STM32U5x9J-DK\ DSI_VideoMode_SingleBufferI have noticed that example code is the same MIPI command and also LTDC timing as mine.And I set as the same ,but still not display anything. So I checked few things, DSI_Dn/Dp signal in scope are the same polarity (It should be differential signal)> PCB layout & Schematic both design in correct. And Dn/Dp is in correct impedance.> There is a saying, no display or Black will show the same polarity, is it correct?In example code, there are two different CMD(SetPanelConfig, mipi_config).> After set with mipi_config, there is no change on display and same polarity.> After set with SetPanelConfig, display appear stripe but same polarity. If it is correct of my understandi
Greetings,During the power-on and power-off processes of the STM32F407 chip, the GPIO used as the DAC output will be pulled high for 8ms. The goal is that the GPIO should remain low when there is no DAC output. Adding an external pull-down resistor has an effect but cannot completely eliminate it. It was not present during online debugging, only occurring when there was a power surge. After erasing the program, it still existed. Preliminary judgment is that it is a hardware issue. Is there any way to solve this problem?Thank you so much for the help. @KDJEM.1 @LPetr.1 @TDK
Hi, We are working on railway projects where we are looking for SIL 2 microcontroller. As per our analysis we found out that we need to integrate the X-CUBE-STL package to make it to SIL 2compliance. And we have found out that it should have supported MCU's. As per our analysis the STM32H5 and STM32H7 series supports X-CUBE-STIL package. So, we wanted to know are the safety certified libraries available in this package to make it as SIL 2 compliance. Also, can you suggest if there are any SIL 2 certified microcontrollers available. Regards, Rajath
Hello,I updated my development kit with the example IOT_HTTP_WebServer from the example selector in STM32 IDE. Then I needed to upgrade the firmware on wifi module, which seemed to work. I think I can connect to wifi, but I cannot open a webpage when I paste the IP address, with all demonstrations for pressure, humidity, etc. The web page is searching and in the end I get a message the page cannot be found. What can this depend on? Yhe following is what I get on the Tera terminal when I sign in the network: Selected Access Point INS-GUEST ch 6 rss -48 Security WPA2-AES country .CN bssid 0a.8d.db.db.4c.2cC:/Users/xxxxxx my name here/STM32CubeIDE/workspace_1.18.1/IOT_HTTP_WebServer/WebServer/Target/net_interface.c:191 main ... 0x2000004c 0x20000c6c "xxx WIFI-NETWORK name here "- Network Interface starting:-
Hi, good morning to all. I'm in the process to design an application based on STM32U5G9ZJT6Q. My first question, please, is: is it possible to have this STM32 drive three different displays, and possibly have TouchGFX manage the whole three ?In my case I've:Display #1: Rotary 1.3" display (SPI interface, 240x240. IC GC9A01N). Connected to:STM32's SPI3-MOSISTM32's SPI3-SCKSTM32's general GPIOs for Chip Select and D/C SelectDisplay #2: Same type Rotary 1.3" display (SPI interface, 240x240. IC GC9A01N). Connected to:STM32's SPI1-MOSISTM32's SPI1-SCKSTM32's general GPIOs for Chip Select and D/C Select Display #3: 5" display (24 bit RGB interface, 800x480. IC ST7262-G4). Touch screen for user selection options. Connected to the STM32's dedicated 8xR, 8XG, 8XB, plus VSYNC, HSYNC, etc. Would this work ?Furthermore, second question, sorry: if I utilize MOSI and SCK dedicated pins on the STM32 (on SPI1 for example), can I utilize the other SPI1's pins of the same interface for ot
I've been struggling with a variety of issues with FreeRTOS/LWIP/DHCP/MDNS, before I've even got to implement my application code (which will be a UDP app). I've read all of the documents that have been linked in the forums, I've gone through the official ST example code (a lot of which conflicts with what the documents say...) and I'm at my wits end. I've seen issues constantly being raised in the forums, all to do with memory management. These issues date back many years and while things might be solved for one person at one point in time, there is no telling if a solution from 2019 or 2021 applies in 2025. In this issue I'm trying to show the simplest example of a failure and am looking for guidance to not only fix the issue, but understand it and avoid it in future situation.So, here we go:I have the STM32H735-DK and am working with CubeIDE and CubeMX. I have started with the official stm32hotspot example. I have made the following changes:Updated lwip.c to change the default
I'm writing a small HAL of my own for the STM32F1 and I noticed that sometimes the DMA would read in the wrong order for seemingly no reason. After several tests, I came up with this code: const std = @import("std"); const microzig = @import("microzig"); const RCC = microzig.chip.peripherals.RCC; const DMA = microzig.chip.peripherals.DMA1; const DMA_t = microzig.chip.types.peripherals.bdma_v1; const stm32 = microzig.hal; const timer = microzig.hal.timer.GPTimer.init(.TIM2); const uart = stm32.uart.UART.init(.USART1); const gpio = stm32.gpio; const TX = gpio.Pin.from_port(.A, 9); pub const microzig_options = microzig.Options{ .logFn = stm32.uart.log, }; const AdvancedADC = microzig.hal.adc.AdvancedADC; const ADC_pin1 = gpio.Pin.from_port(.A, 1); const ADC_pin2 = gpio.Pin.from_port(.A, 2); fn DMA_init(arr_addr: u32, adc_addr: u32) void { const CH1: *volatile DMA_t.CH = @ptrCast(&DMA.CH); CH1.CR.raw = 0; //disable channel CH1.NDTR.raw = 0; CH1.CR.modify(.{ .DIR = DMA_t.DIR.
The STM32 HAL is good and simple. It's highly appreciated that I am not forced to use a certain build system. But there is one thing that drives me crazy: The STM32 HAL has lots of weakly defined symbols. That forces me to put any strong symbol overrides into objects linked with the executable. It is impossible to put the HAL and the strong symbol overrides into a or different static libraries. It's a nightmare. Consider projects where all hardware-related code is hidden in static libraries and the executable code is platform-independent.A pragmatic solution could be to enclose all weak function definitions in the ST32 SDK inside ifdef guards to be able to switch those off. I will now copy the related HAL files out of the SDK and patch them on my own. That's not optimal because I will have to repeat that on every SDK update.Please consider to fix this problem.
Hello, I have tried to turn on LEDs on the STM32F429i eval board, using buttons and interrupt. I also noticed on the touch screen, there is GUI that has some basic operations like opening the folder and playing a simple game. What kind of RTOS does it use ? Is it FreeRTOS ?I have been looking for labs that can be implemented on the board from all sources and put them together. It's really hard to find some good examples for the eval board. Is there any official example projects from ST ?
Hello ST Community, I noticed that STM32L5 series (e.g., STM32L552) does not currently have official FDCAN support in Zephyr. The stm32l5.dtsi does not define an fdcan node, and there are no corresponding bindings or support in the driver layer for this series. I’ve attempted to adapt the FDCAN configuration using references from STM32G4 and STM32U5 series. While I was able to build the device tree by manually adding a node with compatible = "st,stm32-fdcan", the runtime initialization fails—likely due to differences in clock setup or message RAM layout. I would really appreciate guidance on the following: Is there a plan to add STM32L5 FDCAN support officially in Zephyr? What would be the correct fdcan node configuration in the .dtsi or overlay? What values should be used for bosch,mram-cfg and what memory region is reserved for message RAM on STM32L552? Are there any working examples or patches that can help enable FDCAN on STM32L5? Any help or direction would be greatly ap
Hello dear supporters,I had some issues setting up my STM32G0B1CET6N as USB Communication Device Class (Virtual Port COM). Clock Source for the USB is the internal "HSI48 RC" oscillator, designed for USB application. What happened? I used the default USB Settings (default USB STMCube MX generated).I started debugging (step by step) and came to the MX_USB_Device_Init();function inside the main.c Then I open the Windows11 "Gerätemanager (Device Manger)" and the USB device always failed to get recognized. --------------------------------------------------------------------------------------------------------------------------------------------------I relaunched the debugger and this time I just klicked on the "Run" button. No step by step debugging this time. The STM32 gets recognized as a COM device without any problem. And the communication (sending data to the putty terminal) works without any problem. ---------------------------------
Greetings,We have implemented a USB peripheral on the STM32G474RE discovery board using code that runs properly on the STM32WB and STM32F0 parts. On the G474, the USB setup completes, but the USB bus quickly suspends after the completion of the configuration phase when the host receives descriptors. We were able to fix this issue by disabling (not setting) the CRS_CR_CEN flag in the CRS module. There are no samples of USB peripherals in the latest Cube release, so we don't have an easy way to share the running program. We can setup HRTIM_PFC_TransitionMode which includes some USB code.In ./Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.c you will find this 1561 void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit) 1562 { 1563 uint32_t value; 1564 1565 /* Check the parameters */ 1566 assert_param(IS_RCC_CRS_SYNC_DIV(pInit->Prescaler)); 1567 assert_param(IS_RCC_CRS_SYNC_SOURCE(pInit->Source)); 1568 assert_param(IS_RCC_CR
Hi all,I'm trying to use the I2C2 bus to read from a BNO055 IMU. I've already configured the I2C1 bus to be used by DCMI as I have a camera attached and can't reuse it since it is configured in Fast Mode Plus and the BNO055 can only handle up to 400kHz, and the I2C3 bus is used for the LDC screen, leaving only the I2C2 bus available. I wanted to know how to enable and interface with the I2C2 bus as it seems like there are no pins broken out for the I2C2 bus. Any help would be greatly appreciated!
Hello,I'm a beginner on CubeIDE but I want to learn how to use the BLE from the STM32WB55 Nucleo Board. I've been following several tutorials throughout the web, from ST and others, such as https://www.youtube.com/watch?v=i10X4Blr8ns or https://www.youtube.com/watch?v=QbeJFj9LNvc. I do everything as told, but my problem appears when I try to set the BLE. There I have disable everything, except from the Custom Template parameter:Then, in Configuration, I enable CFG_HW_USART1_ENABLED which is supposed to give me access to the next parameter: CFG_HW_USART1_DMA_TX_SUPPORTED but this one stays unaccessible as shown here: I've followed the red message to ensure that everything was right, but the previous steps already checks those requests.Does anyone has any hint for me? I would appreciate it a lot. Thanks in advance!
I'm trying to convert a 3D printer into a CNC, but I can't find any software to use it with my HA753ZI core. Any ideas would be appreciated. Regards.
Hi. I am currently using the stm32u545ret6q mcu. Looking at the RCC of reference documentation(RM0456) it says that it has MSIS hardware autocalibration, but the example code(AN5676) only shows how to adjust the trimming value. Do you have any example code that shows how to do hardware auto-calibration?
Exactly how does one connect the "Motor Profiler" to an out-of-the-box STEVAL-ESC001V1?I read all of the available documentation to no avail. Is the STLink USB hardware device required and does it need to be connected to the J4 "SWD" port?One section of the documentation [UM2197] "implies" that a 3.3V USB-to_TTL serial connection to the J2 "UART" connector would work:UART/I²C port (J2): normally used for serial communication between the ESC board and a PC; ST MC Workbench can be connected with the STM32, adding an external circuit (requires USB/RS232 converter-3v3 level).... but when the Motor Profiler is connected in this manner, I always receive a "No STLink Detected" error from the ST-Link CLI v2.4.0 from the Motor Profiler software.Thanks for your help,
It's quite annoying that the names of the BLE stack are cut off, even though there's plenty of free space. The browser doesn't matter. My screen resolution is 2496 x 1664, with 150% scaling on Windows.
Hello,I'm working on a project using the STM32H750B-DK board with TouchGFX and FreeRTOS. The application gets stuck in this loop:while ((HAL_GetTick() - tickstart) < Delay) {}I debugged and confirmed that HAL_GetTick() is not incrementing
I am using MCSDK 6.4.0 and am creating a new inverter board using STMC Board Designer. I am using the STM32G474RETx MCU.When I select the Clock Source as "24 MHz External Crystal", save the project, and exit back to the list of boards, the "Clock Source" column correctly shows this board is using "24_cristal". When I edit the board, the clock source reverts back to "Internal RC Oscillator". In the figure below, I have selected 24 MHz External Crystal. I press "Save" and am taken back to the list of boards. The list correctly shows the clock source as "24_cristal"Now if I edit this board again, the clock source has reverted back to Internal RC OscillatorCould this be a possible bug, or is MCSDK forcing the STM32G747 to only operate in Internal RC Oscillator mode?
Hi, We use NUCLEO-H753ZI. Input signals to all ADCs are 60Hz/50Hz, the sampling clock is set as 5Mhz. The sample time is set to 12.clock cycles. We found the cross talk (interference) between two ADC adjacent channels in STM32H753 assigned to two ADCs and sampled simultaneously. Is it normal? If it is normal, the the number of useable ADC channels would be cut to a half. If it is not normal, how to make the corrections? Thank you for your help,Rong
Hello,Trying to implement SPI bus (Master only) to transmit 16 bit to LCD, utilize linked list GPDMA ch 6, I looked at the UART linked list example and tried to modify it to work with SPI with no success, only the first half word is sent and then it stops without any interrupts...I'm using the "HAL_SPI_Transmit_DMA" after initiate all linked list array by CubeMx.Does any one has any SPI linked list example?
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.