Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
TIM2 is configured in Encoder Interface Mode (TIM_ENCODERMODE_TI12). In this mode the timer counter (CNT) is driven by quadrature encoder transitions on channels CH1 and CH2 instead of the internal timer clock. PWM generation on TIM2 channel 3 relies on the same timer counter reaching the compare value (CCR3). Since no encoder transitions were present during testing, the counter remained at zero (TIM2->CNT = 0). Consequently the compare event never occurred and the PWM output did not toggle, resulting in a constant output level on the oscilloscope. The issue is therefore caused by the timer counter source being encoder-driven rather than clock-driven.I am using an STM32U535VET6 with the following configuration:1. TIM2_CH1 (PA0) → Encoder Input A2. TIM2_CH2 (PA1) → Encoder Input B3. TIM2_CH3 (PA2) → PWM output for a buzzerTIM2 is configured in Encoder Interface Mode: sConfig.EncoderMode = TIM_ENCODERMODE_TI12; HAL_TIM_Encoder_Init(&htim2, &sConfig); Channel
MCSDK 6.4.2 has FreeRTOS support for G4 family.I noticed that FOC code generation is only for bare metal not FreeRTOS on the H5 seriesAre there any plans for upgrading MCSDK to support FreeRTOS for H5? If there are plans, do you have a timeframe.Thank you!
RAK3172 + ChirpStack FUOTA: Class-C session confirmed active, but zero radio IRQ activity (no RxDone / RxTimeout / RxError) — multicast fragments never received on one of two identical devicesSummaryI have two identical devices (same firmware, same hardware BOM) running FUOTA over LoRaWAN using a RAK3172 module (STM32WLE5-based, AT-command slave) driven by an STM32H7 host MCU. One device completes FUOTA perfectly every time. The second device — same code, same ChirpStack FUOTA deployment, same gateway — gets all the way to a confirmed Class-C switch and then receives nothing. No fragments, no radio errors, nothing.I’ve isolated this down to the radio IRQ level and would like input from anyone who has hit something similar with RAK3172 / STM32WL Class-C behavior.SetupEnd device MCU: STM32H7 (host), communicating with RAK3172 over UART using AT commands LoRa modem: RAK3172 (STM32WLE5 based), running STM32CubeWL / LoRaMac-node stack LNS: ChirpStack v4.17.0 (self-hosted) FUOTA: ChirpStack
On an STM32L552ZE with TZEN=1, RDP=0xAA (Level 0) and BOOT_LOCK=1, the STM32CubeProgrammer command -rdu reported success while explicitly stating that no option byte was modified. From that command onward the device is permanently inaccessible: DAUTHSTATUS shows secure invasive and non-invasive debug disabled, every FLASH register (secure and non-secure alias) fails even on read, and the documented RDP regression path (RDP=0xBB → RDP=0xAA TZEN=0x0) can no longer be executed because option byte programming requires those registers.We would like to understand whether this is expected behaviour, and whether any recovery path exists.Hardware and toolsItem Value Device STM32L552ZE-Q on NUCLEO-L552ZE-Q Device ID 0x472, Revision ID Rev Z (DBGMCU_IDCODE = 0x20016472) ST-LINK onboard, firmware V2J48M35 (also reproduced with V2J47M34) STM32CubeProgrammer 2.23.0 (also reproduced with 2.22.0) Supply 3.26–3.27 V, separate USB port BOOT0 (PH3) tied to VCC during all operations de
Hi there ! I start to work with this shield, and i use one STM32G071 for control the UART comunication. The module work at 115200baute rate , and i use the AT command for comunicate with her. So everthingh work fine except when i send ATE0 for turn off the echo this command send back ok but afther i send the other command the answert i receive it’s look like the echo still on . Examplke i send AT\r\n i receive back AT\r\n\r\nok\r\n i try to wait to send the next command but nothingh still dosen’t work. I know i can continus to work eaven send me back the echo but this stuff make me crazy because i don’t understand if is one my problem or if the shield. The UART is configurate with interrupt and i configure the rx in this way every time i receive one byte in the callback i save inside one buffer and outside the callback i check if i receive OK or ERROR. Some one know how to resolve this problem ? Thank You Sergio
I have a STM32C031C6 and I’m trying to set the clock to be 48MHz It works when I have the for loops in there, but its not supposed to have them and I want to get it working properly without needing them.If I comment out 1 of the for loops, then after that it gives me this error I’m not sure what I am doing wrong, I think I’m not waiting properly for something, but I don’t know what that is.Error in executing 'cont' command ...Target is not responding, retrying...Target is not responding, retrying...Shutting down...Target is not responding, retrying… This is the code.#include "stm32c031xx.h"void speed_up_to_48mhz(void){ // 1. ENABLE HSI and wait for the HSI to become Ready RCC->CR |= (1U << 8); while (!(RCC->CR & (1U << 10))); for(volatile int i =0; i<1000000; i++){} //bit 8 is prefetch //bit 9 is instruction cache //1 wait state FLASH->ACR = (1U << 9) | (1U << 0); FLASH->ACR &=~ (1U
Dear ST Community Team,We are working on the STM32N657X0H3Q microcontroller and interfacing two Infineon S80KS5123GABHB020 Octal HYPERRAM devices using the XSPI1 interface in the dual-octal (16-bit) configuration, as shown in the STM32N6 Reference Manual (Figure 196 – XSPI block diagram for dual-octal configuration).In our hardware design:MCU: STM32N657X0H3Q Interface: XSPI1 Memory devices: 2 × Infineon S80KS5123GABHB020 Octal HYPERRAM Configuration: Dual-octal mode (two 8-bit memories operating as a single 16-bit memory interface) Both memories are connected according to the STM32N6 dual-octal configuration.We would like guidance on how to correctly configure this setup in STM32CubeMX.Could you please provide the recommended CubeMX configuration for the following?How should XSPI1 be configured for dual-octal mode? Which Memory Type should be selected for the S80KS5123GABHB020? How should the chip select (NCS) signals be configured for two memories operating in dual mode? Are there an
Hello,I am integrating Mbed TLS with TLS 1.3 on an STM32H573 using the STM32 Secure Manager PSA interface.The TLS 1.3 handshake fails at: psa_key_derivation_setup( &operation, PSA_ALG_HKDF_EXTRACT(PSA_ALG_SHA_256));The returned status is: PSA_ERROR_NOT_SUPPORTED /* -134 */I tested the relevant algorithms separately: PSA_ALG_HKDF(PSA_ALG_SHA_256)→ PSA_SUCCESSPSA_ALG_HKDF_EXTRACT(PSA_ALG_SHA_256)→ PSA_ERROR_NOT_SUPPORTEDPSA_ALG_HKDF_EXPAND(PSA_ALG_SHA_256)→ PSA_ERROR_NOT_SUPPORTEDThe generated algorithm ID is correct: PSA_ALG_HKDF_EXTRACT(PSA_ALG_SHA_256) == 0x08000409UI also traced the call through the Non-Secure PSA client. The request reaches the Secure Manager via nscall(), and PSA_ERROR_NOT_SUPPORTED is returned in psa_reply->status.My questions are:Does STM32 Secure Manager support PSA_ALG_HKDF_EXTRACT and PSA_ALG_HKDF_EXPAND? Is support dependent on the Secure Manager or SMAK version? Is TLS 1.3 with Mbed TLS officially supported with Secure Manager as PSA backend? Is
We are using a mix of stm32 - G473, H503, H523, H563, H573.For each of these, we have a bootloader that locks the chip security (to Closed for full regression with password on the H5s).If we inadvertently put the wrong bootloader on a board, some combinations will brick the board - specifically, loading 523 or 563 bootloaders onto 503 or 573 boards goes to the closed state without a useful password in place.I would like to programmatically check that each bootloader is running on its expected target before setting security. I see the IDCODE register contains 0x484 for STM32H562/563/573, or 0x478 for STM32H523/533. Unfortunately this distinguishes the 523/563 which is not such a problem for us, but not the 563/573 which is our problem.Ideally, I would like a (different) function for each of our micros that will run correctly on the expected micro but return an error (or possibly hard fault) on anything else.Thanks
Hi everyone,I have published a small bare-metal USB-C Power Delivery sink example for STM32 MCUs with the built-in UCPD peripheral:https://github.com/robobtnet/stm32-usb-pd-baremetal-sinkThe goal is to keep it minimal and portable:- no FreeRTOS- no ST USB-PD middleware- only two core files: pd_bm.c and pd_bm.h- configurable sink profiles- starts from the highest configured voltage profile, then falls back to lower profiles- reports the selected PD contract through the APIThe current tested setup is NUCLEO-G474RE using UCPD1. I also added porting notes for STM32U5/GPDMA based on an STM32U575 test project.I would appreciate tests and feedback on other STM32 families or boards that include UCPD, especially:- STM32G0- STM32G4- STM32U5- STM32L5- boards using UCPD2- boards using GPDMA instead of classic DMA- different USB-C PD chargers and PDO combinationsThis is not intended to be a full USB-PD stack. It is a lightweight sink-only example for simple cases where the MCU only needs to request
Hello,I have two batches of products with different silk screen printing. Can you please help me check if there are any change instructions?STM32F107VCT6
I am encountering an issue with ADC readings on a custom board based on the STM32H533CET6.Hardware Setup: I have a simple analog filter connected to the ADC input. I have verified the input signal with a multimeter, and it correctly varies from 0V to 3V.The Problem: Despite the varying input voltage, the value in the ADC_DR register appears to be stuck at 1024. It does not change regardless of the voltage level applied to the pin.Configuration details:Resolution: 12-bitVREF+: 3.3VHas anyone experienced a similar issue with the H5 series or sees what I might be missing?
Hi,Maybe someone has encountered a similar problem. I've been working on it for a few days now and unfortunately with no results, so I'm looking for help here. Maybe I'm doing something wrong.Board / setupST NUCLEO-N657X0-Q (reference board). MCU: STM32N657X0HxQ (VFBGA264). On-board external NOR: MX25UM51245G in Octal DTR mode on XSPI2 (external loader: MX25UM51245G_STM32N6570-NUCLEO.stldr). FSBL's XSPI init/memory-mapped-enable code is based on the XSPI_NOR_MemoryMapped_DTR reference example for this board.Boot chain: FSBL (runs from AXISRAM2, never itself XIP) → MCUboot (Direct-XIP + Direct-XIP-Revert, single image, ECDSA P-256) → verifies and jumps into the Application, which executes Direct-XIP directly from the same XSPI2 memory-mapped NOR (no copy to RAM for the app itself).GoalFrom within the running Application (while it is executing Direct-XIP from XSPI2), temporarily exit memory-mapped mode, write to the flash (initially just the MCUboot trailer image_ok flag, eventually firm
Hi Community,An STM32L073R Nucleo board straight out the packet. Plug in the USB cable and immediately, the L073 gets VERY hot. LD2 is flashing which I presume is an application running in the micro. Have removed the jumper JP6 which supplies the L073 with power and everything remains cool (as we would expect) As soon as I replace the link the micro again, heats up.The power supply measured at JP6 with the link removed is a good 3.3V. and the board is recognised as a USB drive when connected.I have an older F401 Nucleo board which works without issue in the same setup.Any ideas or suggestions?
what i suppose Is this: the PIN BST attached to the inductor keep switching to a value higher and lower than VDH, when he goes lower than VDH then the diode Is off, and nothing Is supplying energy to VDH pin, thats why that capacitor Is there, It acts a reservoir, i came to this explaination by imaging the circuit without that cap. Is this assumption right? Thanks all for the help
Hello Dear, This is my first post in this community. I am Dearing to make custom board with STM32N6570 and some sensor inboard, Minimum Hardware design with KiCad. Please advice possibility and Restriction . Regard’s
Hi,As I tried to use the gauge Widget, the needle doesn’t display on the lcd nor the simulation.I also tested with the analog clock and experienced the same issue.Is there anything I need to change in my project configuration ?I am using an stm32h7a3zi-q Nucleo and a 320 x 240 LCD TFT screen.
Hello!I have a 5V incremental encoder that provides A, B, Z signals, and a STEVAL-CTM015V1 board for controlling an SRM motor. I don’t have access to the encoder controller to set its offset.Does the STEVAL-CTM015V1 have an autocalibration or learning function that, when the power supply is connected to the motor, will adjust the rotor’s position relative to the encoder’s zero position?Additionally, is access to the STEVAL-CTM015V1 settings panel blocked in any way, or should I simply use the STLINK-V3SET debugger as recommended in the documentation?Thank you for your help.
I have a Nucleo-F767ZI and have tried everything I know to get it going to no avail. The problem seems to be relating to the ST Link. After writing and compiling some code in STM32CubeIDE, I get the message that the ST-Link needs to be updated. I go into STM32CubeProgrammer and attempt to do just that. When I connect inside STM32CubeProgrammer, the app sees the board, I click on “Connect” and I can see data in various memory locations. However, when I attempt to “Upgrade Firmware”, that’s where the trouble starts. After clicking on Upgrade Firmware, the app reports nothing found. I can disconnect the USB cable, reconnect, and STM32CubeProgrammer will see the board again. The unfortunate thing is, I cannot use the board because STM32CubeIDE will not allow me to download. The weird thing is, in the past, I have used the Arduino IDE to write code and program this board and it still works fine - no problems. I just cannot get the native STM32CubeIDE and STM32CubeProgrammer to act r
The table in the datasheet says that the minimum frequency for LSE in bypass mode is 5kHz (Table 71 of DS13543).In previous designs (different STM32 MCU) I have successfully used a 125Hz input for the LSE (setting async prescaler to 1 and sync prescaler to 125), however on checking their datasheets they don’t state a minimum frequency.I have tried running the RTC from a 125Hz source on the STM32U5A5 nucleo board that I have, and it seems to be running fine. Are there any potential problems I might encounter from doing this, as I usually try to avoid going against the datasheet!I’m just using the LSE for the RTC, not trying to drive any other peripherals.
The bootrom of STM32N6 can drive winbond nor flash memory?Such as W25Q?
Hello, I am trying to collect data on the STWINKT1B board with the microSD card. I have a 128GB microSD which I formatted to FAT32. While running tests I noticed that after I click the USR button on the board it starts collecting data like normally, but after 55 seconds it stops logging data. If I click the USR button a second time, the same process occurs. I checked the data folders that populated on the SD card from the tests and the data seems to be accurate. I checked the device_config.json file to double check that ‘automode’ was no enabled, which it is not. I am wanting to run longer, continuous tests. Does anyone know why I am having this issue and how to go about fixing it?Another issue that I am running into is because of network restrictions, I cannot write to the microSD card so I cannot get the device_config.json file on the SD card. I tried using the BLE app to configure the sensors, but it is grayed out and says that it is unavailable for my proficiency level. Is there a
Hi everyone,I'm currently bringing up a custom board based on the STM32G0B1KEU6 (UFQFPN32) and I'm stuck at the very first step. I can't get the MCU to respond over SWD.I'm using STM32CubeIDE with an ST-LINK/V2, and every attempt to connect gives me:Target no device foundError in initializing ST-LINK device.Reason: No device found on target.The relevant part of the GDB server log is:STMicroelectronics ST-LINK GDB server. Version 7.12.0Starting server with the following options:Persistent Mode : DisabledLogging Level : 1Listen Port Number : 3333SWD Debug : EnabledTarget no device foundError in initializing ST-LINK device.Reason: No device found on target.The MCU is powered from 1.8 V. Since I thought the supply voltage might be the issue, I also powered it from 3.3 V, but the result was exactly the same.I've already checked the following:- SWDIO is connected to PA13.- SWCLK is connected to PA14.- NRST is connected with a 10 kΩ pull-up and 100 nF capacitor.- VDD is present at the MCU.- T
I need your guidance regarding an issue I encountered while working on the customer inverter board.While testing the board, I applied a sudden ramp-up in open-loop mode. Due to the high current spike, the inverter board got damaged, which I understand and accept.However, I had an isolated ST-LINK V2 connected to the board during the test. Since then, the ST-LINK is no longer functioning properly. The PC detects the debugger, but when I try to connect or program the target using STM32CubeIDE, it reports that "No ST-LINK detected" or is unable to establish a connection with the target.Unfortunately, we do not have the schematic of the isolated ST-LINK V2, so I am unable to troubleshoot or repair it further. As the debugger costs around ₹5,000, I would appreciate your guidance on whether there is any recommended procedure to diagnose or repair it, or if it should be sent for service/replacement.Please let me know how I should proceed.
a
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.