Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Dear Support team,I am currently working on a sensorless motor control application using the Observer + PLL algorithm to run a 24V PMSM motor (rated at 3600 RPM, no load) on a custom driver board based on the STM32F030R8. My PWM frequency is 8000kHz and I am using a single shunt resistor for current sensing.The motor appears to operate correctly during the ramp-up phase. However, it stops immediately after transitioning to closed-loop FOC, triggering a startup failure error.I am using STM32 Motor Control Workbench version 5.4.8 for configuration. I have attached the wb file and .stmcx file in .txt format containing the full GUI-based configurations for your reference.I would appreciate your assistance in resolving this issue.
I need to implement the SNMP V3 protocol using the NUCLEO-H755ZIQ Board with AZURE RTOS. Provide any document regarding to this one.
I am using an STM32H7-based 7.0" Riverdi display board. I supplied 12V power to the board and connected the SWD pins to my external debugger.When I first powered the board, the pre-installed demo application on the screen ran correctly.After that, I created a GUI project using TouchGFX and selected the STM32H7-70STM board as the template. I compiled and flashed the code, and TouchGFX reported that the upload was successful.However, after flashing, the screen remains completely black and does not respond.I tested other GUI projects — even very simple ones with just a button — but the screen still does not display anything.I would appreciate help identifying the cause of the issue.
I have a custom board using u599 and touchgfx, my LCD size is 640*480.I noticed there is a "nemagfx_stencil_buffer_mem" in my RAM,It takes 305K memory,It's really a lot memory ,because I only have 30K left.But on the other board,lcd size is 480*480,"nemagfx_stencil_buffer_mem" is not there.I wonder what use is this buffer,and why it came out.
Hello,There is a error during code generation phase on MCSDK.2025-05-23 19:02:39,600 ERROR [LineInfo_to_exitCode.log_LineInfo] Error = zip END header not found2025-05-23 19:02:39,601 WARN [LineInfo_to_exitCode.log_LineInfo] Failed to launch self-upgradeBut, click RUN CUBEMX button, the tool can be opened and generate code that can be compiled successed on IAR.Will that error have a negative impact on the program?the attachment files include : 3 pictures of configure and generation.
Hello everyone,I’m currently working with the STEVAL-PROTEUS1 evaluation kit. According to the User Manual, the board features a 34-pin, 0.4 mm pitch high-current connector for board-to-FPC or board-to-board expansion. It is stated that: “The pinout of the 34-pin connector is compliant with the STMOD+ by using a dedicated adapter (not included in the kit).” I would like to know how I can obtain this specific STMOD+ adapter or a compatible 34-pin cable. Is there an official STMicroelectronics part number or recommended distributor for this accessory?Any guidance would be appreciated.Thanks in advance!
I have seen linker scripts like this:MEMORY { RAM (xrw) : ORIGIN = 0x200000C0, LENGTH = 32K - 192 /* 192 for vector table */ BOOTLOADER (rx) : ORIGIN = 0x08000000, LENGTH = 4K FIRMWARE (rx) : ORIGIN = 0x08001000, LENGTH = 256K - 4K } /* Main app start address symbol */ _main_app_start_address = 0x08001000;with multiple DRY issues.After trawling through linker script documentation, I came up with the following alternative:/* Entry Point */ ENTRY(Reset_Handler) BL_ORIGIN = 0x08000000; BL_SIZE = 32K; FW_ORIGIN = (BL_ORIGIN + BL_SIZE); ... /* Memories definition */ MEMORY { ... BOOTLOADER (rx) : ORIGIN = BL_ORIGIN, LENGTH = BL_SIZE FIRMWARE (rx) : ORIGIN = FW_ORIGIN, LENGTH = 256K - BL_SIZE } ...where the symbol FW_ORIGIN can be used straight from c, e.g. using:extern uint32_t FW_ORIGIN[]; const uint32_t FIRMWARE_START_ADDR = (uint32_t)FW_ORIGIN;I did not see this suggestion anywhere when looking for ways to do this (using search terms like the title of this post), and it works,
My board has the C031C6 nucleo, my attempts were:Change the USB for a data cable;Try to connect with the under reset and software reset on the Programmer;Update the firmware and driver on the Programmer, IDE and ST-LinkUpgrade;All of this with and without the jumpers (CN2 and JP1) and the problem remained.Errors that appeared on the Programmer during the attempts:No debug probe detected;No STM32 target found;Unable to get core ID;No ST-Link device found.What should I do?(P.S.: English isn´t my first language, so I`m sorry for the mistakes.)
Hello Team,I am trying to integrate the CANOpen protocol Emergency error codes (EMCY) based on CiA 301, 418(battery module) and 419(battery charger) standards in the STM32L496VG controller. I could see the standard error codes in CiA 301, but I would like to know how to include custom error codes within the standard error codes mentioned below.Error codesDescription0000hError reset or no error1000hGeneric error2000hCurrent – generic error2100hCurrent, CANopen device input side – generic2200hCurrent inside the CANopen device – generic2300hCurrent, CANopen device output side – generic3000hVoltage – generic error3100hMains voltage – generic3200hVoltage inside the CANopen device – generic3300hOutput voltage – generic4000hTemperature – generic error4100hAmbient temperature – generic4200hDevice temperature – generic5000hCANopen device hardware – generic error6000hCANopen device software – generic error6100hInternal software – generic6200hUser software – generic6300hData set – generic7000hAdd
I have a custom PCB using the STM32F042F. I replaced the STM, and now every time I connect the communication chip, the STM32 turns off. The STM does not boot if I first connect the nRF24L01 then power the STM. I am confident my code and the board are not the issue, as it was functioning before I replaced the STM32 chip. I think that some default configuration setting I am missing is causing the boards to short. Does anyone have any ideas on how I can solve this issue?
Hello,I'm using LPUART1 (STM32U0) for modbus communication and using STOP2 mode to go sleep until new modbus query has requested.Strange things happen, on console I can see prints like "Target is not responding, retrying...".Here is my clock configuration, which I want to reconfirm And the STOP2 mode logic, here tried to toggle LED after wakeup, but it is observed that sometimes it works and sometimes not. Actually, if I disable function enterLowPowerMode() then everything works fine also no print message on consol (like "Target is not responding, retrying...")void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE2); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE
Hello i Have a question about the STM32WL5MOC.I need to be able to use the bootlader of the WL and in the same UART line use the AT Command.But it seems that LPUART1 that is the only way to use AT Command Application is not used in the bootloader.Do you have any idea to have both functionality Thanks
Hi Team,Could you please guide me on how to correctly configure the internal Flash memory for the STM32U5 series? Specifically, I would like to understand how to:Modify the Flash start and end addressesSet appropriate lengthsPartition the Flash to allocate separate regions for the bootloader and the application imageAre there any configurations in STM32 Cube IDE to make those changes (Referred Version: 1.18.0)UART Read failing While sending image over a xmodem, does it fail because of any configurations issue?Thanks and Regardsram_jan
I created a project based on PLL+Profile, when compile the project, I get a ERROR, about include path. I search the file and add the path(../../Drivers/CMSIS/DSP/Include) into project manaully, compile success. Is this a bug?
Hi all, I'm working on a project involving UART communication over RS-485 between an STM32 Nucleo board and a rotary encoder. I'd appreciate any advice or insights on whether my hardware and firmware setup looks correct, and what to check next to ensure reliable communication. Board: STM32 Nucleo-L476RGEncoder: 6-pin rotary encoder with the following pinout: Pin 1: 5V Pin 2: B Pin 3: A Pin 4: GND Pin 5: MODE Pin 6: MCLR RS-485 Transceiver: MAX485-compatible module RO (Receiver Out) → PA10 (USART1_RX) DI (Driver In) → PA9 (USART1_TX) RE (Receiver Enable) → PB3 DE (Driver Enable) → PB4 VCC: 3.3V (from Nucleo 3.3V) GND: common with Nucleo and encoder A ---> Encoder Pin A B ---> Enocder Pin B PC Interface: I'm using a USB cable from the laptop to the Nucleo, which powers the board and also uploads code. USART2 is used for debug printouts via USB virtual COM port (seen in PuTTY). USART1 is used for RS-485 communication I believe my is
Does STM32N6570-DK support TCP protocol? I want to create TCP server on the board and send/receive data over 1Gbit Ethernet. How can ı do that? I didn't see the NetXDUO Protocols under NETX Middleware. It seems like it is not configurable to open UDP/TCP or ICMP protocols in this board. Also there is no any example or application avaible about that.
Hi all,I wanted to make a post to shine some light on how to configure the HRTIM DMA on the STM32F3348-DISCO (and probably other ICs w/ HRTIM capabilities).A few posts I've seen have boasted the same solution, but have convoluted the use of a single DMA request, Burst DMA requests and general Burst Mode configuration using the HRTIM. Here I'll try and walk through a step-by-step CubeMX and main.c configuration to step through a sine table with a circular DMA request to create a high frequency PWM sine wave using HRTIM1. Some basic knowledge of the ST Cube suite is assumed.Start a new CubeMX project - Select "Start My Project from ST Board" --> Search "STM32F3348-DISCO" --> Select board and "Start Project" (initialize peripherals in default mode).In Timers -> HRTIM1: disable Timer C (this example we'll only use Timer D) In Timers -> HRTIM1 -> DMA Settings: Add HRTIM1_D and set:Direction = Memory to PeripheralPriority = HighMode = CircularData Width = WordIn 
我们这次购买的芯片上没有ARM标记,右上角的版本号改成了二维码的形式。 请咨询我们的供应商,不同的产地/包装厂/批次会有所不同。但是我们的质量部门不会库存它们。 标记的变化比较大。此标记更改是否有相应的文件? Translation: There is no ARM mark on the chip we purchased this time, and the version number in the upper right corner has been changed to a QR code. Please consult our suppliers, it will vary by origin/packaging plant/batch. But our quality department does not stock them. The mark changes are relatively large. Is there a corresponding file for this markup change?
i need to design the VFD for given 3 phase AC induction motor . i m considering below given reference design: https://www.st.com/en/evaluation-tools/steval-ihm023v3.htmlKindly! suggest me how to implement the changes in hardware & firmware which shall suit the characteristics of this motor.if this reference design is wrong, then which design i should consider.NOTE: This motor should be able to work under constant & variable load both. Please! guide how to implement functional safety in firmware & hardware to prevent electrical shock, sparking, injury & permanent damage to this motor. Also This design should be able to drive similar motor upto 1 horsepower. 3 - phase AC induction Motor Specifications:Brand: SiemensType: 3 Phase Induction Motor (EFF2)Model Number: 1LA0 073-4YA8Standard Compliance: IEC 60034-1, IS: 325, IS: 12615Efficiency: 66.0%IP Rating: IP55 (dust protected, water jet resistant)Duty Type: S1 (Continuous duty)Insulation Class: FFrame Size: 71W
Hello everyone,I'm currently working on driving a 24V, 1.5A BLDC motor using a Nucleo-F070RB board along with the X-NUCLEO-IHM16M1 motor driver shield. For testing purposes, I'm running the motor in open-loop mode.I've configured Timer 1 to generate PWM with complementary signals. However, when I check the outputs with an oscilloscope, I don’t see any PWM signal. Additionally, the status LEDs (D8, D9, D10) on the driver board are not lighting up.I've attached the connection diagram below for reference.Has anyone faced a similar issue or have suggestions on what might be going wrong? Any help would be greatly appreciated!Thanks in advance!
Hello, today I received a stm32f746-disco board and I immediately coded with the external flash memory that I used on my stm32f750-disco, the problem is that the code doesn't work and I can't debug (before this was easy to do on the f750), after testing I found out that I flashed to its external chip and they are different: n25q128 for the f750 and w25q128 for the f746. My question is whether their external flash memory configuration is the same or do I have to create another project for the stm32f746-disco?Here is the video tutorial I used
Hi Team, Currently I am using STM32U58I-IOT02A Board and implementing UART Transmit and receive, I am seeing that it is not printing anything on the PUTTY terminal, Can anyone suggest me how to handle this issue. I have tried to send with HAL_UART_Transmit() and printf() commands both and it no outputs on the console. code is pasted below : static void MX_USART3_UART_Init(void) { /* USER CODE BEGIN USART3_Init 0 */ /* USER CODE END USART3_Init 0 */ /* USER CODE BEGIN USART3_Init 1 */ /* USER CODE END USART3_Init 1 */ huart3.Instance = USART3; huart3.Init.BaudRate = 115200; huart3.Init.WordLength = UART_WORDLENGTH_8B; huart3.Init.StopBits = UART_STOPBITS_1; huart3.Init.Parity = UART_PARITY_NONE; huart3.Init.Mode = UART_MODE_TX_RX; huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart3.Init.OverSampling = UART_OVERSAMPLING_16; huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1; huart3.AdvancedInit.AdvFeatureIn
Hi Team,Can you please share the any reference code for Bootloader over a Serial communication UART protocol please ?
Hi, I want to send data and receive commands through BLE. For that, I followed some tutorials where I learned how to generate code using STM32CubeIDE. I can now see my device name in the BLE scanner, but I also want to send data and receive commands. I need to write some code for this. Can someone help me with where to write the code? For now, I just want to send some random data like 0x9944. I am using stm32wb55cgu6 board
I use MCSDK6.3.2 to generate code, when use TIM1 to generate pwm wave, everything is ok. But, when I use TIM8 to generate pwm wave, the code is still TIM1, which is fixed in the code, not according to the pwmc_handle. What is wrong? Is this a bug?
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.