Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi,I am trying to make a basic Enhanced Advertising low power application using Arduino IDE.I use a standard P-NUCLEO WB55.I need Arduino IDE because this application is intended to be open for modifications.The current STM Documentation (https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_BLE_Arduino) is more than one year old and is outdated.I succeed in lighting the 3 color led by redefining their PIN OUT according with the electrical schematic. But I was not even able to get print messages (I guess the Serial is not properly define for that board).Where can I found a basic Arduino Example.I did already the update of the M0 FW which is supposed to be HCI compliant. FUS version V2.2.0.0 and STACK version v1.24.0.3.Thanks in advance.Edited to fix link.
Dear allI am using STM32H563 and interface with some CAN bus sensors to receive and sometimes send data to them. The CAN bus sensors are developed by a partner company. I developed my software refer to FDCAN_Com_IT example provided in IDE firmware package. They work fine most of time, but there is an issue has been bother me - for a few sensors, tmy software doesn't receive the message form them, it doesn't generate interrupt simply. Don't think the sensor module is fault as they can be received by a CANUSB dongle, it seems the issues are with a few fixed sensor modules only, so i am wonder what I have done wrong to miss the message, on Logic analyser, message can be seen although sometimes it is with error, but most of time, they are fine, just doesn't reach my ISR. Regards!Ping
Environment: STM32L4 + 32.768K LSEFunction: Wake up and work once every hour, then enter stop2 mode. During the one-hour sleep, wake up every ten minutes to feed the external watchdog.Problem: The device resets directly when waking up every ten minutes.Current known information: The device was tested in the company for over twenty days without any issues (including restarts, freezes, etc.). After the prototypes were given to customers, problems started to occur in about 10 to 20 days. Currently, there are two failed devices. After power cycling, the devices did not return to normal. External reset also did not restore them to normal. Re-flashing the devices allows them to operate normally, and they are currently under continuous pressure testing to see if the issue will recur.Current debugging progress: When the device restarts, the nRST pin has a low-level time of less than 1ms. The 3.3V power supply pin of the MCU is stable as observed by the oscilloscope. The TP5010_DONE_Pin has a 4
Hi there!I already configured LwIP package and make it work on a NUCLEO-H755ZIQ following @Adam BERLINGER gude in the Knowledge base section:https://community.st.com/t5/stm32-mcus/how-to-create-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308 Well, trying to move the LwIP heap memory to a larger memory location I experienced a n unexpected issue:When I locate the heap in the DTCMRAM of the M7 core, communication will no more work at all(no ping, no tcp connection...).Locating it in D1 (AXI RAM) or D3 RAM all work as expected.I checked also the MPU configurations ad all seems correct, it seems that in DTCMRAM there is a different behavior. Just for my comprehension, there is something wrong in locating such heap into the DTCMRAM?Thanks in advance! iTTy
Greetings,in one of my current projects i am using a STM32WB55 as peripheral which requests a secure connection with the host (bonding mode = 1). When the connection is newly established, everything works as expected - the "pairing" dialogue pops up once and when the procedure completed, the connection works. With Android there is no further problem.But iOS causes inconvenient behavior by not automatically re-pair when the information got stale or lost. I didn't find a way to at least reopen the pairing dialogue on a secured connection. iOS terminates the connection as soon as it receives a "key missing" error and there seems to be no way to let it re-pair. The user has to "forget" my device and restart the pairing procedure manually... However some approachers at least caused different behaviour:Set the bonding mode to 0 in the authentication requirements.If not done already remove the pairing information in iOS by forgetting the device.Do one of the following:issue aci_gap_slave
I designed a PCB using the STM32H743 in the TFBGA240 +25 package.When I power the board, the STM32 gets hot. I measured the voltage across the VCAP capacitors, and it is 2.2 V, while it should be a maximum of 1.35 V.What could be causing the VCAP voltage to rise to 2.2 V?
ST moderator: updated the title with the MCU part number. I am working on an embedded web interface hosted on an STM32-based system using lwIP. The interface serves basic HTML pages along with multiple product images for browsing and preview.On pages that contain several high-resolution images, similar in structure to pages like this: I notice slower load times and occasional rendering delays when everything is served directly from the MCU web server.For those with experience building embedded web servers on STMicroelectronics platforms, what techniques have you found most effective for improving image delivery and overall page responsiveness?Examples could include compression approaches, external memory usage, filesystem choices, or caching strategies.Looking for practical guidance based on real implementations.
I’m working with TouchGFX in STM32CubeIDE. After creating a new project and copying over the IOC file and pin configuration from the verified design used for my custom PCB, I’m now running into errors. Some components fail to build, and I’m getting “file not found” errors for certain header files—even though the files clearly exist and I can open them in the IDE.Do you have any suggestions for fixing include paths or linker settings to resolve this?
I have an STM32H563 running FreeRTOS and LwIP with the netcon interface.For the most part its working OK, however when I send a lot of data (around 250KB/s for a few seconds) it crashes with a HARD_FAULTIt looks like the memory (pbufs) are being corruptedThe driver (etherentif.c) is based on LwIP/LwIP_HTTP_Server_Socket_RTOS/Src/ethernetif.ctaken from the STM32H7 cubeIs there an updated driver for the STM32H5 or one with known reliability ?
Expected Log using UART :[BOOT] UART initialized successfully[BOOT] Starting ThreadX kernel[NET] NetX Duo initialization started[NET] IP stack and protocols enabled[TX] ThreadX kernel running[NET] NetX application thread running[NET] Network stack ready[NET] Static IP: 192.168.1.1But the it breaks at [NET] NetX application thread running and i have found the following error using debugger and stucked at the error, so need guidance on bring up of Ethernet and perfect log using the UART I want to send the data from the pc to the STM Board through the ethernet [using] TCP and store the data at some memory so initially i want to bring up the flow and stucked at the error. main.c/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2026 STMicroelec
Hi,I want to kick ADC1 IN5 with the Timer TIM2. I'm working with CubeIDE.I select:ADC1 -> ADC_Regular_Conversion_Mode -> External Trigger Conversion Source -> Timer 2 Trigger Out eventTIM2 -> Trigger Output (TRGO) Parameters -> Update EventBut ADC1 does not run, Data Register is constant.If I kick ADC1 by software everything is fine, I get some noisy numbers.TIM2 is running, the count register is counting.Why does TIM2 not kick ADC1 by the TRGO event?This setup used to work fine on STM32F303. What do I miss on the STM32F429?THX CheersDetlef
In rm0316 rev 10 for the stm32F303x, the documentation for the ABRQ bits in the CAN_TSR transmit status register states: Setting this bit has no effect when the mailbox is not pending for transmission. I am finding on my STM32F303 that setting ABRQx when the mailbox is empty will actually clear the RQCPx and TXOKx status bits in the CAN_TSR. This effect is important to note, because if you're using the TXOKx bit to determine if the message was transmitted or aborted and ABRQx was set after the mailbox finishes its transmission and becomes empty, you will think the message was successfully aborted (because TXOKx is cleared by the late abort) when it was actually transmitted. Even if you disable interrupts and check the mailbox status immediately before setting the ABRQx bit, it seems like there is still a race condition where the mailbox transmission could complete between the read and write operations, which could occasionally cause the abort to be late. Is there a way to do this
hi, ive noticed that hand landmarks pre built binarys uvc output does not work on the C02 revision NUCLEO-N657X0-Q but does work on the c01 rev, could anyone guide me on how to get this demo up and running ont he c02?
I'm very new to this so be kind. I've been working on a display for CAN data. I have the display designed and it works and while building code for the CAN and using the GPIO5 LED for testing, when I Run it, I get a garbaged display. I have a working sample project that was provided to me as a guide, when I run it, it works fine, but when I go back to my project, part of the other project is still being displayed. It's as if it's not fully erasing and programming everything. I did some research and found suggestions to select Full Chip Erase, but there isn't one.
Hello, I was writing some code and one day a handler_reset() appears in the debug panel It is said that appears because it give the opportunity to the user to debug from the very begining. But why? if there is already the ability to set the breakpoint in the main... I cannot assign a value to a variable. And the other things is the fact that since it has appear I cannot longer debug and the variables make no sense. What causes all that and which is the solution??Thanks.
Hi,I am currently facing an issue while connecting to the STM32 board using STM32CubeProgrammer. The tool consistently shows the error: "Unable to read device ID from ROM table."I have already tried the following troubleshooting steps:Performed a hardware/software/core reset using the RESET buttonVerified that all required supply voltages are correctChecked the hardware connectionsDespite this, the programmer is still unable to establish communication with the M7 core via ST-Link. It appears that the device is not being detected properly, and at the moment the board has become unusable.Could you please guide me on possible causes or additional steps I can take to resolve this issue? I would be happy to provide any further information if required.Thank you for your support.Best regards,Prathiksha
I am using the ST Host library version 3.54 on an STM32F769 device, supporting HID devices. I am using the internal Full Speed phys.I have a USB mouse connected and all works fine, however I would like to save power when the mouse is not being used by putting it into suspend. I cannot see any support for this in the ST middleware, so I asked Ai and got this:USBH_StatusTypeDef USBH_LL_Suspend(USBH_HandleTypeDef *phost) { HCD_HandleTypeDef *hhcd = phost->pData; USB_OTG_GlobalTypeDef *USBx = hhcd->Instance; uint32_t USBx_BASE = (uint32_t)USBx; USBx->GINTMSK |= USB_OTG_GINTMSK_WUIM; /* Suspend the port */ USBx_HPRT0 |= USB_OTG_HPRT_PSUSP; return USBH_OK; }This works fine - the mouse powers down and there is a useful drop in power consumption.However, I cannot get the port out of standby. This is the code Ai gave me for the Host to awake the port:USBH_StatusTypeDef USBH_LL_Resume(USBH_HandleTypeDef *phost) { HCD_HandleTypeDef *hhcd = phost->pData; U
Hello, I wonder that examples could apply Nucleo-H753ZI board... There are some examples about H743 or another one but no example for Nucleo-H753ZI board. I understand 48k-2channel-16bit can be implemented easily, But I wonder that Nucleo-H753ZI can make 44.1kHz sampling or, 24bit input or, 4 ~ 6 channel input. I can't solve just 48kHz-24bit-2Channel input's buffer underrun problem, 44.1kHz-16bit-2Channel buffer underrun, and recognizing USB3300 ULPI to Nucleo-H753ZI. Is it can be done by this board? Or, Is there any spec making limits? edit: related thread <Nucleo - H753ZI> + <USB3300 ULPI> connecting to P... - STMicroelectronics Community
Heyho,I just changed a big PCB (1st revision working) with a H733 and added a micro SD cardholder and connected it to the SDMMC2 peripheral.Only to find out later that this #2 does NOT work with the extra IDMA controller.SDMMC1 is out of the question because I absolutely need I2SCKIN for the SAIs, and I didn't want to change the complete pin-out and PCB design (Altium says: Components on board: 1015).I'm pretty sure I've checked the RM, but maybe I oversaw something...So, is there any way to use another DMA with SDMMC2 ?Thanks in advance!
Hello Team, I am using stm32f769 controller. I am using timer 1 channel 4 for pwm output, and my APB1 clock is 180MHZ here I am taking prescaler : 17999 and ARR=1999 and ccr=1000 for this values I can see output of pwm by generating 5hz pulses. But when I want to generate 486 pulses where my psc:17999 , ARR=19, ccr=10, I cant see any output pulses, my pwm is not responding. (ARR+1)(psc+1)=180MHZ/frequency (ARR+1)(psc+1)=180MHZ/486 (ARR+1)(psc+1)= 370370 ARR+1=370370/18000 ARR+1=20 ARR=19 for some values upto ARR= 40 i am getting output over pwm but from values ARR=20 i am not getting output could you please help me Thanks vamshi kumar
Dear all, I would like to connect a camera to my Nucleo F756ZG board, with the goal to send images via the ethernet port. However, this board doesn't feature a 30-pin ZIF connector nor a 22‑pin FFC connector....Apparently, the STM32 F756ZG has a "DCMI". Is this accessible on the Nucleo board as well?Which module/camera do you recommend for the Nucleo F756ZG?Would you recommend Arducam? They seem suspiciously cheapThe B-CAMS-IMX is not compatible, right?Many thanks
Hello everyone,I’m working with the STM32U5G9J-DK2 and trying to implement a Bootloader + XIP (Execute-In-Place) application architecture using the external flash.Target setup:A minimal bootloader running from internal flashThe main application linked to and executing from external flash (memory-mapped at 0x90000000)The main motivation is to free internal flash and validate this approach for a future MCU with very limited internal flash.What I’m specifically looking for help withProper CubeMX / .ioc configuration for the bootloaderWhich peripherals must be enabled (RCC, PWR, ICACHE, OSPI, etc.)Which peripherals should not be enabled to avoid conflicts with the XIP appAny STM32U5-specific gotchas when initializing OSPI for XIPProper configuration of the application projectRecommended changes to the application .iocWhat initialization should be removed from the app (HAL_Init, clock, OSPI, FLASH, etc.)Reference samplesSTM32Cube examples that demonstrate a full bootloader + XIP app flow on
STM32G030F6P6 microcontroller CubeIDE environment when enabling interrupt for I2C an LL_I2C_EnableIT_RX (I2C2); error occurs _______stm32g030xx.h:618:29: error: expected declaration specifiers or '...' before '(' token error occurs when any I2C interrupt is enabled
We are starting to develop a new hardware platform and are currently evaluating the STM32H7R/S series for the main controller.The question now is which RTOS is best suited here in terms of long-term support from ST. We're going to use a lot of communication interfaces (USB, Ethernet, external WiFi/BT module, CAN), an RTOS with an integrated communication stack would make our work easier.Zephyr: High initial training effort, but you get a great framework. The two available H7RS-Eval boards are already supported, but in the video Zephyr 4.1: Status of STM32 support – Erwan Gouriou // Zephyr Meetup Grenoble Mar. 26, 2025 by @Erwan Gouriou from March of this year you can see that Zephyr support for the H7RS is not yet complete. Can anyone give an estimate of the extent to which you can already work with it or how much effort is involved in porting drivers from the H7 to the H7RS that are not yet available? I'm new to Zephyr and can't estimate the effort involved.ThreadX: Support
Hello everyone,I am working on shifting sensored FOC to sensorless FOC for a BLDC motor using STM32F103C8T6. I have successfully implemented all necessary transformations (Clark, Park, and Inverse Park), and the waveforms appear correct.To estimate the rotor angle, I am using a Sliding Mode Observer (SMO). However, since the STM32F103 lacks an FPU, So function like atan2f() increase execution time. Instead, I implemented an alternate method for angle calculation. I am using position detected by hall sensor as reference, but output of my sensorless algorithm is having some differences from hall sensor signal.This is output waveformHere is the code I am using for angle calculation: void SMOcalcalculation(int32_t Valpa, int32_t Vbeta, int32_t Ialpa, int32_t Ibeta){ // this is for approximated or predicted values of motor phase currents // this is need to reconstant bemf :The error between the actual and estimated currents (error_alpa and error_beta) is used to compute the Slid
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.