Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Nucleowb55 - USB dongleI am reading form 2 temp sensors (ADT7410) & 2 tri-axial accelerometers (ADXL345) & then sending the temp data, mean accelerometer & FFTs values along each axis. For the accelerometers I read 2000 samples, take the mean & calculate FFT with arm_rfft_fast_f32() and take the magnitudes using arm_cmplx_mag_f32(). I then pack the temp, acceleration means & top three FFT magnitudes for each axis for transmission over BLE. See code listing. I have no sensors connected and every value I read from the transmitted BLE is 0 (which I expect) except for accelerometer 1’s 3rd peak FFT value for the x-axis which always read as -150669558266527122758482001920.00.This is a sanity check really as I cant find a problem with me senor update function but was wondering if someone can spot something obvious I’ve been missing. (yes I know it might be the BLE client that is messing up but one step at a time) /*FFT & sensor data are held in the following type of
Hi, I am currently evaluating STM32C532KBU6, where I noticed the PB6 gets shorted (~20 ohms) with VDD of the MCU, as soon as the MCU is powered. When not powered, I am measuring ~4 Mega ohms between PB6 and VDD. I have not set any Option Bytes and did not flash any firmware as yet. The controller is consuming <10mA and no other abnormality observed. I checked the reference manual as well as the internal PU/PD architecture. So far, I could not find any answer.The PB6 is not connected to any external circuitry and only to a test point. Any leads will help me here! Thanks!
Dear ST Team,I am writing to follow up on my request for access to the STM32TRUSTEE-SM (Secure Manager) resources. I submitted my request several weeks ago, but I have not yet received any update, approval notification, or access instructions.Could you please check the status of my request and help expedite the approval process? If any additional information or action is required from my side, please let me know.The product page I am referring to is:https://www.st.com/en/embedded-software/stm32trustee-sm.htmlThank you for your support. I look forward to your response.Best regards,RJ
Please comment.JW
Hi, everyone. I have been doing some courses bout stmf411 programming, it is quite good course. However a question comes up in my mind all the time. How would i learn if i wouldn’t have nobody to teach me all the microcontoller stuff ? or in other way how have the stm32 programmer master learnt to program? is there a special course that is given by STM company?What is the main source for becoming a master in st microcontroller master? I would really appreciate any answer to this that blow my mind … Thanks a lot
Hi everyone,I'm using UART Receive-to-IDLE with circular linked-list GPDMA on an STM32H7RS and ran into a problem where reception stopped with HAL_DMA_ERROR_DTE.The DMA node and RX buffer are both in DMA-accessible, non-cacheable RAM and aligned to 32 bytes.The DMA handle and queue structure are in normal BSS. Everything is global/static and zero-initialized.I checked the queue/node connection and the source address in LinkRegisters[3], which correctly pointed to UART RDR. The node address reconstructed from CLBAR and CLLR was also correct when checked.However, these were the actual DMA register values in the working and failing cases: Working FailingCBR1 0x00000080 0x0000049BCSAR 0x40007824 0x00000005CDAR 0x24001960 0x200065A0After the DMA error, UART error handling stopped reception and disabled the IDLE interrupt, so I stopped getting HAL_UARTEx_RxEventCallback() calls.What fixed it was adding __DSB() inside HAL_DMAEx_List_Start_IT(), after the CLB
Dear ST Support Team,Thank you for your continued support.Previously, I was able to download the schematic for the STM32F769I-DISCO board. However, at some point, it became unavailable for download.I would like to check the circuit design, so could you please make the schematic available for download again?Thank you for your assistance.Best regards,
Hi STM Team,I am working on an STM32 + ThreadX + NetX Duo application with the Ethernet interface. I am facing an issue with the NetX Duo DHCP client.My setup is: MCU: STM32N655X0HxQ RTOS: ThreadX Network stack: NetX Duo Ethernet driver: STM32 HAL Ethernet driver DHCP client: NetX Duo DHCP PC is running as the DHCP server MCU and PC are connected on the same Ethernet network. Observed behaviorThe Ethernet interface works correctly when I configure a static IP address.For example, with:MCU IP : 192.168.50.50Subnet Mask : 255.255.255.0Ethernet communication works correctly.However, when I enable the NetX Duo DHCP client, the MCU remains stuck at:Looking for DHCP server ..The DHCP server is running correctly on my PC.DHCP server configurationMy PC DHCP server is configured as:[SETTINGS]IPPOOL_1=192.168.50.10-254IPBIND_1=192.168.50.1AssociateBindsToPools=1Trace=1DeleteOnRelease=0ExpiredLeaseTimeout=3600[GENERAL]LEASETIME=86400NODETYPE=8SUBNETMASK=255.255.255.0NEXTSERVER=1
Hello ST team,I am designing a hardware with STM32G4 family. I want to measure a differential signal by MCU's ADCs over a cable of 50 cm. Is it needed to use op-amp as ADC driver or I can connect it to the MCU pins directly?
Dear STMicroelectronics Technical Team,We are planning to use the STM32G431RBT6 for a 1-phase/3-phase AC motor-control application.We would specifically like to clarify the PID/PI control capability of the STM32G431RBT6: Does the STM32G431RBT6 have a built-in hardware PID/PI controller or dedicated PID peripheral? If it does not have a hardware PID/PI controller, does ST provide ready-made PID/PI control firmware for the STM32G431RBT6 through the STM32 Motor Control SDK? Does the available firmware support speed PI control and current/torque PI control for a 3-phase AC induction motor? Can the source code be provided so that we can tune the PI/PID parameters according to our motor and application? We expect an annual requirement of approximately 10,000 units. Please also advise regarding technical support, recommended reference designs, and volume pricing. Thank you for your support.Best regards,Anurag singhAVG AUTOMATION
STM32G051C8 TIM2 is not initializing using LL_TIM_Init(). After I call the function and look at the registers they are all zero. All the other TIM seem to work.
A customer raised a quality issue since the MCU on the NUCLEO-H7S3L8 fails to connect.Issue Description: While the onboard ST-LINK is detected successfully and target voltage is correctly measured, the main MCU fails to connect as in the attached picture.Application Description: Attempted to connect the board and upload a program using the official STM32CubeProgrammer software after powering up. I was able to find one post having the same problem, but the dev board is differenthttps://community.st.com/stm32cubeprogrammer-mcus-30/error-no-stm32-target-found-smt32n657x0-q-145776#M7723I think the solution provided in the post would work for NUCLEO-H7S3L8 too, but since they are different boards, it seems the way to enter Dev BOOT mode would also differ.Could you please check the customer's situation and provide a troubleshooting guideline? Best regards,
Hello guys. On a WBA55CG running ThreadX with a custom BLE peripheral application, the device becomes permanently stuck after a random number of sleep/wake cycles (anywhere from ~10 to ~20+). The CPU stays alive, but the advertising timeout never fires again, so the application never returns to STOP 1 mode. Only a hard reset recovers it.The device wakes from STOP 1 mode from either an interrupt fired from an IMU sensor or the RTC, advertises for an x amount of seconds and re-enters STOP mode until the next interrupt request is issued. The onboard LED blinks when the board enters Advertisement mode and when it becomes stuck, the led stays permanently on and the device becomes unresponsive.The core part of the app is the following FSM case APP_MAIN_MSG_SLEEP_READY: MAIN_LOG_INFO("[CPU] All modules idle. Authorizing STOP entry..."); // --- Final pre-sleep housekeeping (only if we are actually meant to sleep) --- if (main_state == MAIN_STATE_PREPARE_SLEEP) { PLT_THREAD_SLEEP(10);
Hello everyone,I am having an issue with EEPROM Emulation initialization in my STM32 project.I am currently trying to implement the EEPROM Emulation utility using STM32CubeMX2 v1.1.0.The program starts with mx_system_init(), which initializes the peripherals and other required modules such as FLASH, RCC, etc. After that, I call mx_eeprom_emulation_init(). During this initialization, the MCU enters a HardFault.Detailed informationThe call hierarchy is:main() → mx_eeprom_emulation_init() → EE_Init() → EE_FLITF_Init() → Page_GetState() → EE_ITF_FLASH_ReadData()Inside EE_ITF_FLASH_ReadData(), the code tries to access address:0x09000018and immediately enters a HardFault.I also analyzed the fault using the Fault Analyzer in STM32CubeProgrammer. The results are:SCB_BFAR: 0x09000018 BusFault: Precise data access error (PRECISERR) The BusFault is escalated to a HardFault (FORCED)I also checked the EDATA_EN option bit in STM32CubeProgrammer, and it appears to be enabled correctly.At this point,
I have a custom board using STM32H735ZGT6 and the LAN8742 Ethernet PHY using RMII. During the execution of CubeMX generated Ethernet initialization code, the MAC software reset bit is not cleared triggering an error. I have read a lot of forum posts about this issue and have verified the following:The RMII reference clock is supplied by the PHY using a 25MHz crystal as in the H723 nucleo board. The 50MHz clock generated by the PHY is present at PA1 pin and verified with an oscilloscope. (see osci image below) VDDCR voltage is 1.2V generated by internal regulator on PHY The PHY hardware reset is supplied by a MCU GPIO, and the resistor straps seem to function properly during reset (probed all with oscilloscope). I also have a pulldown resistor on the LED2 pin so that REFCLKO is generated by PHY. I can communicate through MDIO with the PHY to read out and write to registers, confirming that straps work ok. The output side of the PHY works, a link is established in both 10 and 100Mbps mo
Hello,We are using STM32U585QII6QTR in our device that is powered via USB and batteries. We observe that some devices do not startup anymore after some time of use. It is unclear which impact causes this. Everything that can be measured outside the MCU looks as expected.Debugging the device shows that everything is working normally, for example the bootloader checks successfully that a valid firmware is flashed by using HAL_HASHEx_SHA256_Start/Finish.However, the Systick is not triggered and GetTick remains 0, but SysTick->VAL is counting.Similartly, when starting the FreeRTOS Scheduler the device crashes when the SVC 2 instruction is called. The SVCHandler interrupt is not called. So, it looks like interrupts are not activated anymore.I created a no-RTOS project with CubeMX and checked directly after HAL_Init if the Systick is triggered. On a “damaged” device there is no SysTick triggered after HAL_Init whereas on a good device it is as expected.I attached a dump of important regis
Reverting STM32H7B3 from Secure Access Mode to Standard ModeHello,I am working with an STM32H7B3 and currently evaluating the Secure Access Mode and secure user area functionality.I am going to configure the device as follows:Create a secure user area in Bank 1 with DMES1 = 1 Create a secure user area in Bank 2 with DMES2 = 1 Enable Secure Access Mode (SECURITY = 1) The device is currently at RDP Level 0My requirement is to support reverting the device from Secure Access Mode back to Standard Mode during development/service.My understanding is that the following sequence can be used:Change RDP from Level 0 to Level 1. Perform an RDP regression from Level 1 to Level 0. Since DMES1/DMES2 are set to 1, the secure areas should be erased during the RDP regression. After the secure areas have been removed, disable Secure Access Mode (SECURITY = 0). Reset the device and boot normally in Standard Mode.In other words:RDP Level 1 → RDP Level 0 regression → secure areas removed due to DMES1/DMES2
I'm using LPTIM1 in encoder mode and have noticed that, if there's jitter on one of the encoder signals the count will gradually creep up which should not be possible in encoder mode.This is on a decent encoder that's got an RC network (per the Bourns data sheet / appnote) in front of it too so this isn't nasty HF noise, it's good solid pulses of 50-100ms or more on one channel but the counter seems to creep up.Identical encoders wired to TIM2 / TIM3 behave normally, and my colleague has seen the same issue in another project using the same setup - LPTIM has a problem where TIMx does not.Init code for LPTIM1:/* LPTIM1 init function */ void MX_LPTIM1_Init(void) { /* USER CODE BEGIN LPTIM1_Init 0 */ /* USER CODE END LPTIM1_Init 0 */ LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; LL_RCC_SetLPTIMClockSource(LL_RCC_LPTIM1_CLKSOURCE_PCLK1); /* Peripheral clock enable */ LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_LPTIM1); LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB); /**LPTIM1 GPIO
SDMMC HAL driver implementation is full of timeouts like this:uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U / 1000U); do { if (count-- == 0U) { return SDMMC_ERROR_TIMEOUT; } sta_reg = SDMMCx->STA; } while (SOME_FLAG_NOT_SET);It may work in a single-threaded application on some basic CPU which runs fixed clocks per cycle, but it's not accurate on CPUs with dual-issue pipeline. All preempting interrupts and in case RTOS is used, all higher priority tasks, prolong this timeout. And vice versa - the longer this timeout gets the more it blocks lower priority tasks and interrupts. And the timeout isn't even in microseconds to justify it. SDMMC_CMDTIMEOUT value is 5000 milliseconds (by the comment). It's bad implementation by any standard.It's been so for a long time in many STM32 series (F4, H7, H7RS, N6, etc.). It's reported at least 6 years ago: I may have encountered a bug in SDMMC_GetCmdResp1 ... - STMicroelectronics CommunityI didn't check all the post
Hi,On STM32U575CGU3, calling MX_ADC1_Init() once increases the device current by about +200 µA. After that, even if I run HAL_ADC_DeInit(), reset ADC1, and disable VddA, the extra +200 µA current does not disappear.Here is the minimal code:cint main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_GPDMA1_Init(); MX_ADC1_Init(); // <-- Base +200uA increase MX_OCTOSPI1_Init(); MX_SPI1_Init(); MX_USB_OTG_FS_PCD_Init(); MX_USART1_UART_Init(); MX_ICACHE_Init(); // ADC Disable HAL_ADC_DeInit(&hadc1); // <-- This does NOT reduce the +200uA __HAL_RCC_ADC1_FORCE_RESET(); __HAL_RCC_ADC1_RELEASE_RESET(); HAL_PWREx_DisableVddA(); while (1) { __NOP(); }}QuestionDoes ADC_Init enable an internal analog bias that cannot be fully disabled by ADC_DeInit, ADC reset, or VddA OFF? Is there any complete shutdown procedure to fully power down ADC/VREFBUF after initialization?Thanks.
Dear Sir/Mdm, Could you please advice the closest replacement for STM32F769BIT6. Since this is EOL. Thanks.
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).
Is it possible to get the schematic or direct me to the link of the STEVAL-IKR002Vx (RF motherboard) The RF motherboard has an STM32L microcontroller used for driving the SPIRIT1 transceiver and to communicate to a PC via USB. Thank you
When I started working with NUCLEO boards I was very cautious about powering the board up from 5V let alone 12V even powering the board via STLINK USB at 5V (maybe as much as 250mA)So I did some reading. On my NUCLEO-H5E5ZJ :-The buck regulator ST1S40IPUR (U16) becomes transparent at under 5V - it just conducts The linear regulator for main 3V3 is LD39200PU33R (U15) and has very low dropout Most of the STM32H5E5 pins have Absolute Max tolerance rated at 4V If not being used I could put the STLINK into reset via a jumper (less current to board) Avoid initial connection of Ethernet cable or any USBI tried feeding just under 4V limited to 150mA max into the buck regulator and still got 3.3 Volts out of U15. The MCU runs fine and I can boot it using USART1. I haven’t learned how to use STLINK just yet :)For my board with STLINK in reset the Ethernet PHY current about 45mA and total current was 95mA on wakeup and 115mA in bootstrap.Why do this, well if I short more than 4V to any port pi
Hello ST Community,I am working on a BLDC motor control project and would like to use STM32 Motor Control SDK (MCSDK) Workbench to generate firmware.My Hardware ConfigurationMotor Type: BLDCMotor Voltage: 48VMCU: STM32F405RGT6IssueWhen creating a new project in MCSDK Workbench, I cannot find my exact board/MCU configuration in the board selection list. Since the STM32F405RGT6 board is not available in the predefined options, I am unable to proceed with the standard project generation workflow.QuestionsIs STM32F405RGT6 officially supported by MCSDK Workbench?If yes, how can I create a project for this MCU when it is not listed in the board selection menu?Is there a way to add a custom board definition?Where can I obtain the required board configuration/JSON file (if available)?Can an existing board configuration be modified to support STM32F405RGT6?If MCSDK does support this MCU, what is the recommended procedure for configuring:PWM generationCurrent sensingHall sensors / Sensorless con
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.