Get ready for the STM32 Summit 2026 | Online, November 3
Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Dear Sir,I have using STSPIN32G0A2 to drive a BLDC motor with the 6-step algo. When I use the debugger to reset the board while the motor is spining, the REG12 regulator will be burned out. Pressing reset button (NRST pin) has not killed the board with the running motor and the motor has stopped while pressing reset button. Debugger reset has not killed the board without the motor connection. Debugger reset has pulled low the GPIO (such as) PA15 to pull low the standby pin of the GATE Driver and stop the pin driver the gate of the MOSFET. Debugger reset made the REG12 regulator death while the motor is spinning.I appreciate if you can give me any suggestion. Regards,
We are using Nucleo-F446RE + IHM09M2 + IPMM15B. The offset detection’s progress in Motor Profiler stucks at 7%. We’ve are seeking for possible results.Is it possible for the current at the J4 pin to drop below 0.01A? We observed that the voltage at the J4 pin exceeds 15V, which is higher than the auxiliary power supply's limit. This suggests that the current might have flowed back into the auxiliary power supply.
Hi Team,We are developing a custom board based on STM32N657X0H3Q and would like to interface a 2-lane MIPI CSI-2 camera.We have seen the examples provided with the STM32N6, but they are limited to a few camera sensors. We would like to integrate other MIPI cameras such as GC2083, OV2312, IMX290 etcCould you please clarify:Does STM32N657 support any standard 2-lane MIPI CSI-2 camera, or only the sensors provided in the BSP? Please share the supported camera sensor details. Is there any application note or guide for bringing up a new MIPI camera driver? Which parts of the existing camera driver (e.g., IMX335) can be reused for integrating a different sensor? Has ST validated any other MIPI CSI-2 camera sensors with STM32N657?Any guidance or reference examples would be greatly appreciated. Regards,Ajnas C
Hello, I have a TFT LCD display that uses a ST7789v controller. I would like to interface with it using the KMS DRM subsystem in Linux. I have been having issues getting this to work though.So far I have confirmed that the default driver to ST7789v controllers is running, but it only seems to create a drm_panel. I am having trouble creating/linking it to a connector/CRTC/encoder. I have any DBI related options enabled in menuconfig, but I don’t see any way to interface with DBI displays when running modetest. Does anyone have any advice as to what I need to do to get DRM working with this display? Will I need to write my own drivers? I can provide any existing code/devicetree configurations if need be.
Hi ST Team, for the ECMF02-2BF3 and have a question regarding the recommended stencil opening. In the datasheet, the stencil aperture is specified as 220 µm, but it is not clear whether the aperture should be: Square (220 µm × 220 µm) or Round (220 µm diameter)
I'd like to share an open-source alternative to STM32Cube Build Analyzer, which may be useful for developers who don't use STM32CubeIDE (Eclipse or Visual Studio Code edition), or who build their projects using other tools such as Visual Studio or CMake directly.GCCMapAnalyzer | Source.(HTML file, hosted on GitHub Pages; click on GCCMapAnalyzer to run it in the browser.)FunctionalitiesTree view: Visualizes memory usage by memory region, section, and object file. Memory Map: Displays symbols and sections in an address-space line diagram. Section configuration: Allows customization of how sections are counted and grouped. NoteI hope this post does not violate Community Guideline #5. I originally developed this tool to visualize an STM32H7 .map file before I knew about STM32Cube Build Analyzer, and I thought it might be useful for other community members as well.
I have already submitted the case in ST Online Support, but have had no reply for over two weeks.
In the debug mode of JLink, the usage method of LiveWatch cannot be found. Only STLink has this function. How long will it take for the relevant functions of jLink to be updated?I really enjoy using this extension plugin provided by your official side. I hope you can let me know! thank you{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "jlinkgdbtarget", "request": "launch", "name": "STM32Cube: Launch JLink GDB Server", "origin": "snippet", "cwd": "${workspaceFolder}", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ] } ]
Hello ST Community,I have an STM32H563 (Rev X) that appears to be stuck in the Provisioning state and I am trying to recover it.Hardware / ToolsMCU : STM32H563Device ID : 0x484Revision : Rev XSTM32CubeProgrammer : v2.23.0Probe : ST-LINK V3SETST-LINK FW : V3J16M9B5S1 NRST is connected to the ST-LINK and Debug Authentication discovery is working.Current Option BytesPRODUCT_STATE = 0x1TZEN = 0xB4 (TrustZone enabled)BOOT_UBE = 0xB4 (OEM-iRoT selected)SECWM1_STRT = 0x0SECWM1_END = 0x7FSECWM2_STRT = 0x0SECWM2_END = 0x7FWRPSGn1 = 0xFFFFFFFFWRPSGn2 = 0xFFFFFFFFLOCKBL = 0x0HDP1_STRT = 0x1HDP1_END = 0x0HDP2_STRT = 0x1HDP2_END = 0x0 SymptomsI can: - connect through ST-LINK V3- read option bytes- read flash- erase sectorsI cannot:- perform Mass Erase- change PRODUCT_STATE back to 0xED Attempting: PRODUCT_STATE = 0xED results in:Expected value for Option Byte "PRODUCT_STATE": 0xEDfound: 0x17Option Byte Programming failedOr modified by application after OB_LAUNCH Debug Authentication DiscoveryUsing:
Hello! Recently I discovered that my program (STM32 TCP client) gets stuck in netconn_connect() function for about 5 minutes if server to which I want to connect to is not available when this function is called. Only after that time program would go intoif ((tcp_rexmit_rto_prepare(pcb) == ERR_OK) || ((pcb->unacked == NULL) && (pcb->unsent != NULL))) {statement (which is present in tcp_slowtmr() function). Once it happens, the debugger shows that:TCP PCB shown in debuggerIt's the tcp_rexmit_rto_prepare(pcb) condition that allows program to go into the if statement. Also, as debugger shows, nrtx is equal to 0, which means there were no retransmissions in the last 5 minutes (rtime=575, which is 287 seconds).Interesting thing is it's possible to "unfreeze" the program way sooner by pinging the client device or by replugging Ethernet cable. netconn_connect() would finally finish and device could try to connect to server once again. By the way, the netconn I used was
Hello ST Community,We are using LIS2DW12 in single data conversion on-demand mode.Configuration:- MODE[1:0] = 10, single data conversion on-demand mode- SLP_MODE_SEL = 0, output data generation triggered by INT2 external signal- INT2 is used for Data update trigger- INT2 is driven by an MCU GPIOAccording to the LIS2DW12 datasheet, INT2 is described as a clock input when selected in single data conversion on-demand mode, and INT2 clock input supports up to 200 Hz.However, we could not find the AC timing specification for the INT2 input trigger.Could you please clarify the following points?1. What is the minimum HIGH pulse width required on INT2 to guarantee a trigger?2. What is the minimum LOW pulse width required before the next trigger?3. Is the trigger detected on the rising edge, falling edge, or by the HIGH level?4. Is it required to keep INT2 HIGH until DRDY is asserted, or is a one-shot pulse acceptable?5. Are these timing values guaranteed over process, voltage, and temperature?
Hi ST,I found a problem of fixed-range local ADC non-linearity from 170mV to 480mV on STM32U545 after full hardware linear calibration.1. Test EnvironmentHW: NUCLEO-U545RE-Q board (MB1841D), Firmware package: STM32CubeU5 FW V1.8.0.Test instruments: Precision DC power supply, function signal generator, digital oscilloscope (used to verify the actual voltage at ADC input pins).Working Mode: Button→ LPTimer→ ADC→ DMA→ UARTMX: See attachmentMain code: See attachment2. Two types of input tests (static DC + dynamic triangle wave, identical distortion observed)(1) Static DC step voltage testWe applied stepped DC voltage from 81mV to 850mV via precision power supply and resistor voltage divider. The real voltage on ADC1 input pins was measured and recorded with an oscilloscope for every step, ruling out inaccuracies from signal sources or resistor division. Test results: ADC1 conversion curve is perfectly linear below 170mV and above 480mV. A consistent concave distortion only exists within 17
/* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * <h2><center>© Copyright (c) 2022 STMicroelectronics. * All rights reserved.</center></h2> * * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** *//* USER CODE END Header *//* Includes ------------------------------------------------------------------*/#include "main.h"#include "seven_seg.h"#include "timer.h"#include "74HC595.h"#include "led.h"#include "welding_mode.h"#include "adc.h"#include "led_
Hi everyone!I'm writing my first bare-metal driver for STM32 in C (CMSIS, no HAL). The driver controls a TMC2209 stepper motor driver over half-duplex UART.The basic functionality is currently working: initialization, frame assembly, CRC calculation, and movement control via VACTUAL. To keep it hardware-agnostic, the UART send function is decoupled using a function pointer (handler->send). Registers are defined using union and bitfields (struct).Since this is my first driver, I'd love to get feedback from experienced embedded developers on the following questions: API Design & User Access: What level of API access should I expose to the user, and how should it be structured? Is it better to hide register manipulation behind high-level functions (e.g., set_speed, set_current), or keep direct register access accessible? Bitfields vs. Shifts/Masks: Is using union + struct (bitfields) acceptable for production-ready embedded code, or is it better to switch to explicit bit shifts a
Hi,I have been using the H755 Nucleo board for some time and always struggled with the firmware/libraries. To make matters worse, there are no examples for this board. I was using CubeIde 1.15 and decided to upgrade to 2.2.0 to see if the libraries handling improved. I started an empty project with the BSP included and added a simple code on CM7 to blink some leds with a HAL_Delay(), and it worked fine. Later I only added a timer (TIM1) on CubeMX, regenerated the code and now the CM4 does not compile. There is and never was any code added/modified to this core. The errors I get are related to the inclusion of libraries:arm-none-eabi-gcc -o "AFE16_Burn-in_Controller_CM4.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\rafael.puyol\Documents\Reliability\afe16_burn-in_controller\AFE16_Burn-in_Controller\CM4\STM32H755ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="AFE16_Burn-in_Controller_CM4.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--st
I am designing the power system for an application using the STM32N645. In the datasheet for the STM32N6x5 minimum Vbat is defined as "TBD". In the STM32N6570-DK schematic the Vbat rail is set to 3.3V. If it can operate at 1.8V it would simplify the power architecture. Does anyone have any experience with running it at 1.8V? Or is there a timeline for when this specification will be released?Thanks!-Bash
Hello ST Community!I am currently considering an STM32N6 for a new project and decided to use CoreMark as one of the benchmarks to compare candidates. According to its datasheet and published results on https://www.eembc.org/viewer/?benchmark_seq=13733, the STM32N657 should reach a score of ~3616. I noticed that the published results on the EEMBC website report usage of “ArmClang v15.0 - Keil v6.18” as the compiler. I figured it would be worthwhile checking what score I’d get from STM32CubeIDE’s GCC toolchain.I ran the test on a NUCLEO-N657X0-Q board and obtained a CoreMark score of 2389, which is quite a bit lower than I expected when comparing against the published results.The test application is designed as follows:CoreMark source code from https://github.com/eembc/coremark using the instructions in barebones_porting.md.CPU clocked at 800 MHz.Overdrive voltage obtained from external power supply (Pin PB12 = 1).Code runs from ITCM.Data and Stack are placed in DTCM.Interrupts and SysT
Hi all,I'm working through a self-directed embedded systems curriculum, writing everything at the register level (no HAL, no CubeMX-generated I2C code) to actually understand what's happening under the hood. Posting this in case it saves someone else the same debugging loop, and to sanity-check my conclusion.Setup:Board: Nucleo-F411RE Sensor: GY-521 breakout, sold as "MPU6050" I2C1 on PB8 (SCL) / PB9 (SDA), AF4, open-drain, onboard 4.7k pull-ups Standard mode, 100 kHz (CCR = 80, TRISE = 17, APB1 = 16 MHz) Pure register access via a self-built I2C_TypeDef-style struct — no ST HAL calls anywhereTransaction sequence (reading WHO_AM_I, register 0x75):START, wait SB Send (0x68<<1)|0, wait ADDR (confirmed ACK) Clear ADDR (SR1 then SR2 read) Send 0x75, wait TXE and BTF (important — TXE alone isn't enough before issuing a repeated START; BTF confirms the byte and its ACK are fully clocked out) Repeated START, wait SB Send (0x68<<1)|1, wait ADDR (confirmed ACK again) Clear ACK bit (
Hey im using Stm32CubeIDE 2.2.0 with a Segger JLink Debugger.After flashing the device the Controller doesnt start running.Starting the Debug Mode is working, and after a normal Power Reset the device also starts.Switching back to CubeIDE 2.1.0 is solving the problem too.Any ideas?
As the title describes, the conversion tool to convert Stm32CubeIDE projects over to Visual Studio Code seems to work. Apart from the fact that, at least in my case, it failed to copy over the assembly files, .s files, in the project. Which led to build errors, specifically thumb mode errors.Just posting this here so that it may help others. Not quite sure how best else to let others know.
Hi, I was making a demo project so needed a really straightforward way to use the ADC of my STM32F446RE.I configured the ADC1 with only channel. Default parameter everywhere except I enabled ‘Continuous Conversion Mode’ as I understood it, all I had to do with it was to start the ADC (HAL_ADC_Start(&hadc1)) and pick the values every time my loop needed it. I was surprised to notice that ‘HAL_ADC_PollForConversion(&hadc1, 100)’ worked only the first call then always yield HAL_TIMEOUT as I was expecting the ‘Continuous Conversion’ mode to allow me to not call HAL_ADC_Start and stop every time.After finding the linked post, I found the solution was to change the ADC setting from hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV Into hadc1.Init.EOCSelection = DISABLE The thing is this option is not available in STM32CubeMX (V6.17.0) so I have to pick either ADC_EOC_SINGLE_CONV or ADC_EOC_SEQ_CONV.I have the behavior I wanted but I wonder if this can be improved in STM32CUBEMX or is the
HI, It appears that the LSM6DSO32X has a higher shock/acceleration rating when compared to the automotive rated ASM330 IMU modules. 20’000g rating for the LSM6DSO32X and a 3’000g rating for the ASM330 modules. Am I reading that right? The automotive modules have a lower shock rating than the consumer module? thanks
We are considering using IIS2ICLX for product development.I would like to know the following specifications for this product. ① “stability” of “bias” with respect to a fixed calibration value over a period of one year② “stability” of “scale factor” with respect to a fixed calibration value over a period of one year
Regarding the behavior of temperature drift of the IIS2ICLX, I would like to ask for your guidance.- When the temperature increases, how does the zero-point temperature drift behave?- Does the amount of zero-point drift change depending on the rate of temperature increase?For example, after heating rapidly to 80°C and then allowing the temperature to stabilize sufficiently, compared with slowly heating to 80°C and allowing the temperature to stabilize sufficiently.
Hello,I am currently working with the IIS2ICLX MEMS inclinometer sensor, and I am unable to find the noise spectral density curve as a function of frequency.Would it be possible for you to provide it, in particular for the low-frequency range (0.1 Hz, 1 Hz, 10 Hz, etc.)?Thank you very much in advance for your help.Best regards,
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.