Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi Expert,Good day.STM32F412ZGT6 are come in Reel packaging, I need the tray dimensions to ensure the tray fits properly in the pick-and-place machine. What is the feeding direction and pitch dimension? Could you help me locate the tray drawings for the STM32F412ZGT6 with the 144-LQFP (20x20x1.4 mm) package?I can't find out anything regarding this.Looking for your valuable support.Thank you.Ivan Paul
Hello everyone !I'm currently working on the STM NUCLEO-wl55jc card and I'm having a few problems with it.I'm using the Ping Pong example code, which allows LoRa point-to-point communication between 2 cards. This works perfectly.My problem now is that I'd like to put one of my 2 cards in StandBy mode. So I use the function ‘HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1_HIGH);’ -> line 113, to initialise the wakeup pin, and the function ‘HAL_PWR_EnterSTANDBYMode();’ -> line 117, to enter StandBy mode. Then, in my while(1) loop, under ‘ifdef GO_TO_LOW_POWER’, I simply want to turn on an LED when I exit StandBy mode and start LoRa communication using this ‘MX_SubGHz_Phy_Process();’ -> line 146, function. However, when a pulse arrives on the wakeup pin, PA0, the LED lights up but unfortunately communication doesn't take place. So I wanted to know if this was the right way to proceed and if my card really went into StandBy mode at the start or not. Because when it's supposed to be in thi
Hi,I bought an STM32L0538-DISCO MB1143B for an internal project.This is the first time i work with an e-paper and i am surprised by the refresh time of the display which is slower than i expected and could be an issue. I observe the refresh time of the display is highly dependant of the temperature:100° = 2.1s25° = 2.1s15° = 3.1s10° = 6.4sCould you confirm that is a "standard" refresh time for an e-paper ?Apart from temperature is there another way to reduce the refresh time ? Best Regards,
Hello,I am working on a project with a Nucleo-G431KB. I am using UART1 to receive GPS data (LEA-6S module, 9600 baud, 3.3V) on pin PB7 (RX), and I send data to a LoRa module (Ebyte E32868T20 module, 3.3V, 9600 baud too) on PB6 (TX).I configured UART1 in asynchronous mode with interrupts enabled (USART1 global interrupt active).In my code, I call HAL_UART_Receive_IT(&huart1, &recep, 1) at startup, and I relaunch HAL_UART_Receive_IT at the end of HAL_UART_RxCpltCallback().The GPS sends data correctly (tested with a direct connection) and the lora module works too (tested by sending text every 3 seconds), but on the Nucleo, the UART interrupt never seems to trigger.I give you my main.c and my .ioc fileAny idea what could block the UART RX interrupt on the G431KB?Thanks!
Hi everyone, I'm working on implementing a UDP communication between my STM32H755 (Nucleo-144) and a PC, where the microcontroller acts as a UDP client. I'm using lwIP with the netconn API and FreeRTOS is already running with several tasks (that's the only reason why I went directly for netconn API instead of RAW API). The communication works fine when I use osDelay(100) in the data transmission task, but if I try to increase the transmission frequency (e.g., osDelay(10)), I start running into RAM overflow issues. I've placed the lwIP sections in D2 SRAM like this in the -FLASH.ld code: .lwip_sec (NOLOAD) : { . = ABSOLUTE(0x30000000); *(.Rx_PoolSection) . = ABSOLUTE(0x30040000); *(.RxDecripSection) . = ABSOLUTE(0x30040060); *(.TxDecripSection) } >RAM_D2 I also set PBUF_POOL_SIZE = 128, but increasing this value doesn't solve the issue. Is there a better way to optimize memory handling with netconn at high data rates? Any insights or suggestions would be greatly appreciated.T
Greetings , I ve tried to work with ethernet and lwip on stm32f756 nucleo board but somehow didint figure out whats wrong. https://community.st.com/t5/stm32-mcus-products/stm32f756-ethernet-and-lwip-lwip-ram-heap-pointer/m-p/768279#M272145I tried this solution Watched https://www.youtube.com/watch?v=Wg3edgNUsTk&list=PLfIJKC1ud8ggZKVtytWAlOS63vifF5iJC&t=607sbut still cannot ping my board with direct connection on my computer or by using my internet modem.May I get example or proper tutorial for that step by step because I didint understand whats going on , why I need to change ram locations etc.I just cancelled everything and uploading my file here. May I get help for eth?
Hello,I'm new to the USB protocol and currently facing an issue with USBX.I'm working on a project using ThreadX and the USBX stack, trying to develop a Custom HID device with two endpoints: one IN and one OUT.I generated the code using STM32CubeMX, and then modified:the HID descriptor,the USBD_Custom_HID_Activate and USBD_Custom_HID_Deactivate functions,as well as the thread entry:static VOID app_ux_device_thread_entry(ULONG thread_input) { /* USER CODE BEGIN app_ux_device_thread_entry */ TX_PARAMETER_NOT_USED(thread_input); HAL_PWREx_EnableVddUSB(); // Enable USB power /* Initialize USB DRD_FS controller */ MX_USB_PCD_Init(); /* Configure USB packet memory area (PMA) for endpoints */ HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x00, PCD_SNG_BUF, 0x0C); // EP0 HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x80, PCD_SNG_BUF, 0x4C); // EP1 IN HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x81, PCD_SNG_BUF, 0x8C); // EP2 IN HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x02, PCD_SNG_BUF,
Hi everyone,I have STM32 Nucleo F767ZI Board and OneRNG V3.0 by Moonbase. OneRNG is using USB Serial Protocol. When I connect OneRNG directly to PC through USB connector, open it's COM Port on Serial Monitor like Putty, send CMD "cmdO", it starts giving continuous stream of Random Numbers until I send "cmdo" to stop data stream reception. Now what I want is, instead of PC, I want use STM32 Nucleo F767ZI board with OneRNG using USB interface CDC VCP with Nucelo as Host and OneRNG as a device. OneRNG doesn't need any coding as it's already working with built-in firmware from the organization. I am providing below my OnrRNG, Nucleo board, CubeMX cobfiguration and main file, but I am unable to receive any data from OneRNG.Looking forward to your kind responses...I am using following link to configure and connect OneRNG according to my own needs "https://embetronicx.com/tutorials/microcontrollers/stm32/stm32-usb-host-msc-connect-pendrive-to-stm32/"I am using following tutorial to code for U
Hi, I have been trying to study how to use the N657X0 Nulceo board. When I tried to test the USART of the board with an FSBL project, there was no print on the serial monitor, and I could not find the reason. Could somebody check what the problem is with my project? I have attached my projects below.
Hi to everybody.I'm trying to create a simple program testing the anti tamper function of the STM32 serie U0.I have the Nucleo U031, but I have tested with the U083's example (adjusted in the MCU tipe) but nothing changes, both LL and HAL. (there are different examples using LL and HAL, but only for U083 version).Create a new HAL project using the U031 but the pressing of the blue button (connected to the PC13) doesn't work.The new self create project is exaclty = to the example, but nothing.Using another Nucleo such as L073 and create a new project from scratch work.Simply, I have enabled the RTC_Tamp IRQ from NVIC, put a breakpoint in the ISR but nothing.Where is the problem?
Dear STMicroelectronics Support Team,I hope this message finds you well.We are currently using the STM32WB55RGV7 MCU as per your datasheet recommendation, we have designed RF1 Section with a Low-Pass Filter circuit, Like below attached image.This circuit covered range was very low with Low pass Filter. -The RF distance covered as very low distance compared with another one board with the same STM32WB55RGV7 MCU with band Pass filter Circuit. here I have included the Schematic image below.Below attached Circuit was highest range covered circuit with Band pass filter, -If I want to increase the RF Range in this circuit, which one is the best method, and what is different between Band pass and low pass Filter ?
Background - TouchGFX based HMI application where I want to display JPEGs I am streaming.I have setup the bitmap cache for TouchGFX and can confirm it works as expected with raw RGB565/888 bitmaps.I am trying to integrate the JPEG codec to stream JPEG data instead of the raw bitmaps, to reduce latency.DMA2D is *not* configured to be used by TouchGFX, so that I can use it to convert the output of the JPEG codec to RGB565 format to store in my bitmap cache, that touchGFX draws. Additionally, I have configured my IOC not to generate the DMA2D init function call.For JPEG codec and DMA2D code, I have referred to the H7 example project (JPEG_DecodeFromFlashDMA) provided by ST.When I test with few sample JPEGs, it works as expected and displays accurately, but does not for other samples.It seems to work with CSS 4:2:0 images only, and not with CSS 4:4:4 or 4:2:2 images - It seems to be the JPEG decode works as expected, and the DMA2D transformation(?) is what is causing issues.I have attached
Hi,I have been using Tim11 general purpose timer in Nucleo-f410rb micro controller board to blink an led at a delay of 1 second but there is a deviation of 18 ms in it. which have a 16 bit prescaler and 16 bit auto reload counter with it. In the .ioc file the clock configuration section I have set the clock frequency of the APB2 bus timer clock as 100Mhz which is the maximum frequency can be set and the prescaler value as 9999 and Auto reload register value as 9999. Also the datasheet of the board given stm32f410rb datasheet . and the user manual Stm32f410rb user manual After made the changes in the .ioc file generated code and code is generated for the changes I made and after that i start the timer in the main function like belowint main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /*
Hi,Why isn't handleKeyEvent() called in touchghx simulator when I press the backspace or the enter keys of my keyboard?Also, it's a bit sad that it only works with ascii char, so I just can't send a 'é' or a 'è' char for instance… Could it be improved in the next version of touchgfx plz?Thanks in advance.
0Hello,I'm trying to communicate with an ATMOS22 weather sensor using the SDI-12 protocol on an STM32L072 microcontroller. I'm using USART1 in half-duplex mode , configured for 1200 baud , 7E1 parity , and inverted logic , as required by the SDI-12 specification.Despite double-checking both my wiring and code — including using a level shifter between the sensor and the STM32 board — I'm not receiving any response at all from the sensor. The dataReceived flag is never set, and the log consistently shows "SDI-12 Response: TIMEOUT" after each command.Here's what I've done so far:Properly implemented the break (15ms LOW) and mark (12ms HIGH) signals before each command. Used GPIO toggling to simulate break/mark timing before switching back to UART mode. Configured USART1 for half-duplex mode , with TX/RX inversion enabled . Used HAL_UARTEx_ReceiveToIdle_IT() with a callback function to handle incoming data. Tried various SDI-12 commands such as aI!, aM!, aD0!, aR0!, etc.Can anyone help me
Hiii,I am currently using an STM32U5G9J-DK2 Discovery Kit and have configured USB in CDC_ACM mode in high speed. I generated a code default the usb device appears in device manager under ports as a virtual COM port. However, I would like to change this functionality so that it works as a WinUSB device instead.I got a example useful GitHub repository that provides a solution for converting CDC_ACM to WinUSB: "https://github.com/MichaelTien8901/STM32WINUSB" .this above link will show steps to convert STM32 USB CDC to WINUSB Device with HAL library. And the bellow link shows . Convert CDC to WINUSB by changing the descriptors and some HAL USB library files. "https://github.com/MichaelTien8901/STM32WINUSB/commit/d6a8037b8c282652bd62fa252435c10598939752" I successfully implemented these changes on an STM32H7 series controller since its USB stack is quite similar to the STM32F4 series used in the example.However, I’
Hi everyone,I'm working on STM32WB10CC and I use it as a BLE peripheral only. I would like to have 2 simultaneous BLE connections on it. I used STM32CubeMX with STM32_WPAN to setup my BLE. I'm able to connect one device but when I'm trying to connect a second one, it connect and disconnect instantly with the following errors :- 0x3E (HCI_CONNECTION_FAILED_TO_BE_ESTABLISHED_ERR_CODE)- 0x08 (HCI_CONNECTION_TIMEOUT_ERR_CODE)To handle multiple connections, I used STM32WB-BLE-sensors-multiple-links example.I calculated my GATT table with the excel given by ST (GATT_DB_Size_SRAM_NVM).Here is my config :CFG_BLE_NUM_LINK = 2CFG_BLE_NUM_GATT_SERVICES = 6CFG_BLE_NUM_GATT_ATTRIBUTES = 28CFG_BLE_ATT_VALUE_ARRAY_SIZE = 187CFG_FAST_CONN_ADV_INTERVAL_MIN = 0x80 //80msCFG_FAST_CONN_ADV_INTERVAL_MAX = 0xA0 //100msUse case :To perform my test, I'm trying to connect with an android and IPhone using nRFConnect. When I connect with the android phone first and then the IPhone, no problems, but in the other
Hello all,I am using IAR Embedded Workbench 8.22.3 and needed to add support for the STM32G4 series (specifically the STM32G431RB). Since this version of IAR does not natively support STM32G4, I followed the official patch installation process.Steps Followed & ObservationsDownloaded & Installed Patch for IARDownloaded STM32G4 patch from ST’s official GitHub/STM32CubeG4 Patch for EWARM.Ran Install_Patch.bat as Administrator → Patch installed successfully.Restarted IAR → STM32G4 series appeared in the device list.Compiled application successfully.Created a new project targeting STM32G431RB.Compilation completed successfully without errors.Download & Debug Issue (Flashing Failure)When trying to Download and Debug, the following error appeared in the IAR Debug Log: Checked the flash loader directory::file_folder: C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0 EWARM F\S 8.22.3\arm\config\flashloader\ST\Found the following files:FlashSTM32G43xxB.flashFlashST
Problem Description:MCU Model: STM32H723VGT6DMA Configuration:DMA1/DMA2 handles 15 DMA channels in total:5 UARTs (TX + RX)4 additional UART RX channels1 PWM channel (TIM15 CCR1 via DMA)Observed Failure:After 10–60 minutes of normal operation, all peripherals using DMA2 stop functioning:UARTs: RX overrun errors occur (ORE flag set in ISR).PWM (TIM15 CCR1):DMA circular mode remains active (Half/Complete Transfer interrupts trigger normally).SxNDTR counts correctly, but CCR1 register data never updates (verified via debugger).No DMA Error Flags:TEIF (Transfer Error), FEIF (FIFO Error), and other error flags in DMA_LISR/HISR remain cleared.Key Observations:Failure suggests DMA2 loses access to data bus without triggering error detection mechanisms.Issue persists across multiple boards, ruling out hardware defects.Troubleshooting Performed:DMA buffer addresses confirmed in AXI SRAM (0x24000000) with MPU full-access permissions.Int
Hello, I use STM32CubeIDE to compile the motor control code. The code runs without problem, when in normal run modes. To use SWV trace for debug, I do the following:1) complie for debug2) start debug by "Resume"3) stop debug by "Suspend"4) reset the uC by the black button 5) open Motor Pilot and build the connection6) start the motor in speed or torque control mode. And the motor runs as expected. The three phase currents are monitored with current probe. The waves are symetrical and ok.7) keep the Motor Pilot running and the motor running and change to CubeIDE 8) click th red button "Start Trace" in SWV without restart debug by "Resume". Noise is obtained in the measured phase current, even when nothing is tracked, because still not resumed. And the noise disapears clicking on "Start Trace", the red button.Can you understand the noise issue in this case? How to use SWV in parallel to Motor Pilot? Thanks for your support. STM32User
[Inquiry Regarding Large-Scale Library Operation on STM32H7-Based System] MCU: STM32H7 Series (Planned) OS: FreeRTOS Memory Configuration: External SDRAM External Serial Flash (QSPI) Our company is planning to utilize large-scale libraries. We would like to inquire about how to operate such libraries within the STM32 environment, as outlined below.If there are any official ST documents or reference materials related to the following items, please kindly share them as well. Q1. Use of Large Static Libraries (.a)The size of the code and data in the library is expected to exceed several megabytes.In such cases, what is the general approach for loading and executing large libraries on STM32? Q2. Considerations for Using External SDRAM and Serial FlashWhen using both external SDRAM and Serial Flash together,what are the recommended methods and key considerations for stable library operation? Q3. FreeRTOS + File System-Based Dynamic LoadingIs it possible to store libraries a
Hello,I have an STM32WB5MMG chip, and I work with power consumption. I have the problem that after I stop advertising (aci_gap_set_non_discoverable()), I see that a flag LL_PWR_IsActiveFlag_C2DS() is still False, and I can not switch to Switch_On_HSI(). Why does the CPU2, after stopping advertising, not go to deep sleep mode?
Dear All, I'm trying to develop a USB HID mouse and keyboard both on the same USB connection for the nucleo-H755ZIQ board. I mean a complete project (from configuration in CubeMx) and software implementation for CubeIDE. On the net I've tryed some example to emulate mouse and keyboard separately (one a time) and they work. But I'm not able to implement mouse and keyboard simultaneously on the same single USB connection. My goal, at the moment, is software in which if I press the user button could move the mouse pointer and send a character as a keyboard. Could somebody help me? Best regards
As described in the subject above, I burned the OTA firmware on the board with the STM32WB55 Microcontroller and I can no longer use CubeIDE or CubeProgrammer because it does not recognize the Debugger (ST-Link). It gives the message below in the image. What really happened? But I can use the ST BLE Sensor App on the smartphone and see the STM_OTA advertising and I can also do the Firmware Upgrade (P2P Application and Heart Rate both adapted to run on FUOTA). Therefore the microcontroller is working well as the BLE Stack too. But unfortunately I can not use the board in CubeProgrammer or CubeIDE and for now I am not finding the solution to solve this. I have already tried changing the mode and reset mode in CubeProgrammer, the voltage is correct, etc.
Hello, we started programming on the NUCLEO-G431RB breadboard equipped with the STM32G431RB processor.We therefore created a new program configured on the processor in question using STM32CubeMX. However, during development, we received our electronic board, which we equipped with the STM32G431CBU6 processor. To continue our development on it, we had to change the processor.We therefore returned to STM32CubeMX to modify the .ioc file only in "Project Manager." We don't have control over the "MCU Reference" line to switch from STM32G431RBTx to STM32G431CBUx (CBU6)? How can we port our code?Thank you for your recommendations.
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.