Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I'm designing a circuit to convert sensor values to ADC using the STM32U073MC (LQFP-80).Unfortunately, I'm new to the STM32U0 series.I read the RM0503(Rev 4) Reference manual(page 427) and found that the OPAMP1_VOUT can be connected to ADC1_IN8.However, I checked the datasheet's(DS14548 - Rev 2 - March 2024) port table(page 32/Table 12. STM32U073x8/B/C pin/ball definition) and it seems to be connected to ADC1_IN7.1. Which information is correct? (ADC1_IN7 or ADC1_IN8)2. Also, could you briefly explain how to make the desired connection using CubeMX provided by ST? - I wish configure VM_SEL bits as “inverting not externally connected” with CubeMX.
Hi, we are designing a product around the STM32WB5MMGH6TR but cannot find a full datasheet.On the product page we can find what is described as a datasheet (main purple download button at the top) but is only a 37 pages "technical brochure" that does not show the current consumption in various modes, nor many technical parameters.There are plenty other documents but none of them show the current consumption nor all the technical specs and details you normally get from an MCU datasheet.Where can I find a full datasheet showing the all current consumption data?Thank youRick
I configured FREERTOS on my STM32FT67ZI card with a USART3 device. I started the microROS agent on my PC but the connection is not created and it gives me this message: run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM2 -b 115200 [1762814038.235435] info | TermiosAgentLinux.cpp | init | running... | fd: 14 [1762814038.236035] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4 What could it be?If I search for the topic, it doesn't bring up any results.How can I tell if the problem is on the card or the PC? I'm connected to the ST-Link USB cable.
Hello, I am fighting about a week to enable USB-PD comms on my STM32G0B1 MCU and even chat GPT literally told me - he don't have a solution ( shock, a?) One last try before I quit, is to try 1.5.0 package version but I can see in cube MX only 1.6.0 the earliest. (attached). Repository has 1.5.0 folder and zip. Any ideas?
Hi, I'm using TouchGFX 4.26 on CM7 core, and I'm unable to generate a working project. When I open touchgfx file the IDE is opening correctly, but when it's the time to generate code (F4) TouchGFX IDE search for .cproject file to update with new data and correct include paths, but it search for cproject in the same path of the .ioc file and not in the CM7 folder, in dual core projects the file system structure is different, so it's impossible to generate a corret project, because .cproject is not updated. Is there a way to solve this issue? All project and code is generated with STM32CubeIDE 1.19
Hi everyone,I've been using TouchGFX v25 for almost a month and successfully flashing it to my STM32F7 board. I create projects in Designer, then open CubeIDE to edit the code, build, and flash. Everything was working fine.Recently, I tried installing the STM32Cube extension for VSCode. I was able to build the project, but couldn't get it to run. After that, when I tried running it again using CubeIDE, the screen became corrupted. I can still flash old projects and create new ones, but the top part of the screen consistently shows the same issue.As a first step, I deleted VSCode and erased the flash using STM32 Programmer.Then I uninstalled and reinstalled all components: STM32CubeMX, STM32 Programmer, CubeIDE, and TouchGFX. I also updated TouchGFX to v26.After that, I deleted the IDE workspace and removed the folders:C:\Users\myuser\.stm32cubemx and C:\Users\myuser\.stm32cubeideThen I’ve compared ioc files before and after using my backup on GitHub. They show differences in term
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code. Hello, I am using the STM32H735G-DK board, and I am trying to send data via the USB COM port (USB FS (CN14) to display it in TextFields on the TouchGFX screen. However, after flashing the program, the display went black.In the stack trace, I see the following issues, but I cannot figure out what is causing them. Can anyone please help me? main.c /* USER CODE BEGIN OCTOSPI1_Init 2 */ HAL_OSPI_DeInit(&hospi1); ospi_nor_int.InterfaceMode = BSP_OSPI_NOR_OPI_MODE; ospi_nor_int.TransferRate = BSP_OSPI_NOR_DTR_TRANSFER; BSP_OSPI_NOR_DeInit(0); if(BSP_OSPI_NOR_Init(0, &ospi_nor_int) != BSP_ERROR_NONE) // -> green highlighted { Error_Handler(); } if(BSP_OSPI_NOR_EnableMemoryMappedMode(0) != BSP_ERROR_NONE) { Error_Handler(); } /* USER CODE END OCTOSPI1_Init 2 */ &
Hello thereI´ve consulted documents explaining the ASPEP - I´m still wondering how synchronisation is done. -Like is there a unique token / value / ASCII character marking the start or end of a telegram?E.g. the NMEA protocol for GPS antennas use the '$' to indicate a start of frame so the receiver can null it´s bytecounters. I mean somehow what ever parses incomming data must be able to tell if a certain byte is the very first of a new message or not and eventually go back to some idle state.It can´t relie on the assumption that everything always stays in sync and that like never ever a byte get´s lost. - br, Justus
Hi ST, I'm looking for STM32 boards that are permitted for end-product usage. In particular, I find Nucleo wonderful but my understanding is they are not to be distributed in the product. Does ST offer any comparable SBCs to Nucleo that can be essentially be mounted on a host board without having to do a custom PCB just for the MCU? If not, to what extent can Nucleo/Discovery boards be used, f.e. development/evaluation only, test/cert, etc? Historically I have seen assortments of off-the-shelf SBCs being used even in industrial/medical equipment which struck me as very practical and I haven't come across anything from ST for this, so maybe I am looking in the wrong place. Open to suggestions and guidance. Thank you!
Hello,Need information about, does LPUART can wakeup? if the clock source is LSI (32Khz)?Because I have tried multiple examples to wakeup but it only works in debug mode but not in release mode.I have also work on optimization level, currently optimization is None for both debug and release.Thanks,Nitin
Hello,I'm using STM32F439 with LWIP, SNMPv3, and mbedTLS, without FreeRTOS. I've encountered a performance issue when using the hardware acceleration for AES and SHA1 provided by ST (aes_alt.c, sha1_alt.c).Specifically, when decoding SNMPv3 messages, the software implementation of AES128 + SHA1 from mbedTLS is significantly faster than the hardware-accelerated version. I measured the execution time of snmp_receive() using a timer:- mbedTLS software AES128 + SHA1: ~800 µs- mbedTLS + ST-provided hardware AES (aes_alt.c) + SHA1: ~2.4 msThis is a 3x slowdown when using the hardware path.Can anyone explain why the hardware implementation is slower? Is this expected behavior due to HAL overhead, lack of DMA, or something else?Thanks in advance for any insights!Best regards, Piotr
Hi everyone,We’re developing an IoT node for agricultural applications and plan to make it compliant with certification requirements (CE, CRA, RED).We’re using the X-CUBE-AZURE package as our starting point and want to use TF-M (Trusted Firmware-M) for security.We’re new to cybersecurity and TrustZone, so I’d like to ask the community:Which peripherals and parts of the application stack should be implemented on the secure side of TF-M in this case?In our design we have various interfaces: UART, I2C, SPI, Wi-Fi module, Digital I/O, Analog I/O, CANBus, Modbus, and SDI-12.Which of these should be configured as secure or non-secure, and which parts of the Azure IoT stack are typically expected to run in the secure vs non-secure world?Any practical examples or recommendations based on your experience with X-CUBE-AZURE and TF-M would be very helpful. Thanks in advance!
I’m working with a NUCLEO-H533RE board (STM32H5 series, TrustZone enabled) and using ST-LINK for debugging.Here is the issue:Debug Authentication succeeds (certificate-based).Immediately after, the tool disconnects and shows:Error: Unable to get core ID Error: Cannot connect to access port 1! If you are trying to connect to a device with TrustZone enabled please try to connect with HotPlug mode. If you are trying to connect to a device which supports Debug Authentication with certificate and password, please open your device using it.Log shows:SDMAuthenticate: Authentication successful Debug Authentication Success Disconnected from device. ST-LINK FW: V3J16M8 Board: NUCLEO-H533RE Voltage: 3.28VST-Link configuration:Port: SWDMode: HotPlugAccess Port: 0Reset Mode: Software ResetSWD Frequency: 8000 kHzShared: DisabledI've tried:HotPlug Mode as recommended for TrustZone.Debug Authentication with valid certificate and key.ST-Link firmware is up to date.Still, after authentication, I cannot
Good morning, so we are currently doing research; however, we recently switched microcontroller to the STM32 G431RB Nucleo board, and currently, there is an issue on how to read the Hall sensor frequency using Simulink. We already have done this using textual code; however, Simulink is needed for this research for further improvement and autonomous prediction.Currently, I have configured Timer 1 to generate a PWM of 26 Hz with a prescaler value of 169 and a counter value of 99, and configured Timer 3 to read the frequency by setting only the prescaler of the channel to be 169, and the channel is one. (the microcontoller clock is 170 Mhz and so is the timers)In Simulink, I configured the PWM, which was observed in the oscilloscope to be fine. However, when it came to using the timer capture block to capture the clock ticks to later convert to frequency, there was no output.I’m fairly sure it’s my configuration; however, as there is no help online or videos or examples, it is extremely h
Hello,My device contains both a bootloader and an application. I’m currently trying to protect the bootloader using PCROP on the STM32G0B1.As a first approach, I attempted to configure PCROP using STM32CubeProgrammer. However, this failed — once PCROP was activated for the bootloader region, the bootloader was unexpectedly erased.Here’s what I did:Flashed the bootloader to address range 0x08000000–0x0800BFFF.Activated PCROP by setting the start and end addresses for the bootloader region (see screenshot below). After this, the bootloader was erased.Even when I deactivated PCROP_END, the result remained the same — the bootloader was still erased.I would greatly appreciate any insights into why this is happening and how to properly activate PCROP without losing the bootloader.Best regards,Alexander
Hello all, I am doing some tests with a NUCLEO-U575ZI-Q Board and FreeRTOS. I have created a simple program based on a STM32 examples, the unit will go into EnterSTOP2Mode and wakes up when the button is pressed.This is the code I have on the main.c file:int 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(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* Configure the System Power */ SystemPower_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Init scheduler */ osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */ MX_FREERTOS_Init(); /* Start scheduler */ osKernelStart(); /*
For H7, the kernel clock limit are given in Table 61 Kernel clock distribution overview as shown inhttps://community.st.com/t5/stm32cubemx-mcus/stm32h745-fdcan-clock-frequency/td-p/83540I do not find a similar table for U5 in the most recent datasheets and reference manual. If I did not look carefully enough, any hint to find it is welcome. Otherwise ST should consider adding like for H7.
Hi ST team,I am using STM32U5G9 as secondary MCU. It has simple firmware upgrade feature. It would be reset by main MCU and enter system memory bootloader using Boot0 pin. The system memory bootloader would receive upgrade image (application) from main MCU by USART and write the image into internal flash. (AN3155 and AN2606)This method is simple but it does not have any sercrity feature. I would like to ask if I could add MCUBoot and secure boot into this method with minimum effort?1. System memory bootloader would receive signed image (application) from main MCU and write it into non-secure area.2. Exit system memory bootloader and enter secure boot3. Secure boot verifies the authenticity and integrity of the application.4. Execute the application.Is this possible?
Hi Everyone,I am working on the Project where STM32F407VET6 with External PHY. Configured the ETH and LWIP and I am able to get the IP address. Now I need implement the MQTT in the project. With MQTT command received some task will be performed by the STM MCU. Set up No RTOS used. Any Example of Ethernet MQTT will be Helpful. I think to use MQTT. Which library will be helpful.Thanks and regards,Mallikarjun
Hello STM32 community,I am working with the Infineon TLE9879QxA40 BLDC Shield designed for Arduino Uno (5V logic) and trying to control it using STM32F407 (3.3V logic). Although the SPI communication setup matches the Arduino example, the motor does not respond.Key points to note:The TLE9879 shield’s digital I/O and SPI interface operate at 5V logic levels, powered by an internal 5V regulator, as specified in the datasheet and official shield hardware design.Arduino Uno outputs 5V signals natively, so it communicates directly with the TLE9879 without issues.STM32F407 GPIOs operate at 3.3V logic levels and cannot be configured to output 5V signals internally.Without external level shifting on MOSI, SCLK, and CS lines, the 3.3V signals are insufficient to reliably trigger the TLE9879 inputs, resulting in failed communication.Additionally, 5V outputs from the TLE9879 can damage STM32 inputs if those pins are not 5V tolerant.Proper operation requires implementing level shifting circuits to
The STM32H753 Reference Manual (RM0433) covers the integrated flash memory inside the microcontroller. It does not say why type of flash is integrated though (NOR or NAND). Is it possible to share what type of flash it is?
Hello,I have :STM32U5G9J-DK2Windows 10STM32CubeIDE 1.7.0TouchGFX 4.23.0 installed in STM32CubeIDE with helps/manage embedded software packageTouchGFX designer 4.23.0 Sometimes when I generate the code from the .ioc, after having made a modification in the configuration,compilation errors appears with the filesnema_hal.cTouchGFXConfiguration.cpplocated in Application/User/TouchGFX/target/generatedIt seems to be a problem with GPU2D.After the first generation of the files with Designer, it does work without any problem.I can make some modifications in the .ioc and generate the code but after a while I have compilations errors, always with those 2 files, even if I have only add a GPIO_Output.I have tried some things like regenerate code in Designer and STM32CubeIDE,delete some directories and regenerate code in Designer and STM32CubeIDE, butimpossible to repair those errors.Is this a known issue ?I have searched on the forum but nobody seems to have the same problem than me.&nb
Hello everyone, for a few days I have been struggling with skipping and running the bootloader on stm32g474ret6 via usart.I have an STM, 12MHz crystal, and an FTDI chip on my own PCB, with RTS/CTS disconnected for now. After sending a command via USART, the control LED lights up, but the bootloader doesn't start. What am I doing wrong?#include <stdint.h> #include "stm32g4xx.h" #include "stm32g4xx_hal.h" #define SYS_MEM_BASE 0x1FFF0000 void JumpToBootloader(void) { __disable_irq(); SysTick->CTRL = 0; for (int i = 0; i < 8; i++) { NVIC->ICER[i] = 0xFFFFFFFF; NVIC->ICPR[i] = 0xFFFFFFFF; } __DSB(); __ISB(); HAL_DeInit(); HAL_RCC_DeInit(); __HAL_RCC_HSI_ENABLE(); while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET); __HAL_RCC_SYSCLK_CONFIG(RCC_SYSCLKSOURCE_HSI); __DSB(); __ISB(); uint32_t msp = *(__IO uint32_t *)(SYS_MEM_BASE + 0x0); uint32_t reset = *(__IO uint32_t *)(SYS_MEM_BASE + 0x4); SCB->VTOR = SYS_MEM_BASE; __DSB(); __ISB(); __
Hello, I am working with an STM32G431 MCU and referring to the STM32G4 Series Safety Manual (UM2454). In section 3.6.4 (Embedded Flash Memory) — Table 21: FLASH_SM_0, it describes a periodic software test for Flash memory using signature-based methods (e.g., CRC). According to the document, this diagnostic can be implemented via X-CUBE-STL, but I would like to implement it manually, without using the STL library. My goal is to verify Flash memory integrity periodically or at startup by computing a CRC over a defined Flash region and comparing it with a stored “golden” reference signature in Flash. I would like to understand the following: What is the correct approach to implement FLASH_SM_0 manually according to the safety manual’s requirements? How should I select the Flash regions for testing (code, data, unused memory)? What is the recommended way to store and update the reference (golden) CRC signature in Flash? Are there any STM32 hardware CRC peripheral examples or best p
Hello everyI want to increase STM32G473 FDCAN Tx buffer and Rx buffer size,In STM32G473 datasheet >> "A 3-Kbyte message RAM memory implements filters, receive FIFOs, receive buffers, transmit event FIFOs, transmit buffers. This message RAM is shared between the threeFDCAN modules."In my project, I used three FDCAN(FDCAN1 FDCAN2 FDCAN3),However, after testing, if there is no delay, each FDCAN can only send a maximum of 3 data.This seems to match the SRAMCAN_TFQ_NBR parameter.But when I modified this parameter, the data sent became very strange, and the CAN analyzer could not receive normal data. Does anyone know how to increase the tx buffer size of FDcan? Besides this, I would also like to know how to increase the size of the rx bufferIf you have any questions, please feel free to discuss with us,Thanks!
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.