Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
[PN]:NUCLEO-F746ZG, X-NUCLEO-IHM07M1[VERSION]:MC Workbench: 6.4.1 Build: 250722.154358STM32CubeMX: 6.15.0STM32Cube MCU Package for STM32F7: 1.17.3[TOOL]: MC Workbench[DETAILS]:The following error appears in the GUI when trying to generate the project.Unable to generate ioc file due to: Element type "define" must be followed by either attribute specifications, ">" or "/>"....[EXPECTED BEHAVIOR]:No such error should occur, the project should be generated. [HOW TO REPRODUCE]:Open the project in the attached zip file. Press "generate the project" and use the default settings (STM32CubeIDE etc). The error occurs.Here are the lines from the .log file generated (with my username / project name removed)2025-08-12 11:48:50,988 DEBUG [WB_to_MX.lambda$run_gui_mode$0] Arguments: [-mx_timeout, -1, -pack, assets/MotorControlPack/MotorControl.zip, -exp, templates/wb-defines_where_and_what.txt, -ftl, templates/wb_ioc_template.ftl, -xdm, C:\Users\[redacted]\.st_workbench\projects\p
Hello, I am trying to utilize the USB peripheral in STM32cubeIDE with the STM32H7S78-DK. It hangs forever in MX_USB_INIT on a function USB CORE RESET. With FS and HS this same issue seems to be happening. Pictures show config in the GUI and the aforementioned function.
I want to use a USB connection on a STM32WBA65 processor, purely for debug purposes to get some info back to a PC on a virtual com port. The device will not be powered by USB.I don't want the processor to act as a host.Questions:Can the STM32WBA65 provide this implementation of a virtual com port? How is this set up in the HAL?If I use a USB micro connector, which pins should be connected to where? In the past, on simpler STM32 devices, I have just connected ground, DP & DM from the cable directly into the micro.If I use a USB-C connector, because they are generally more sturdy, which pins need connecting? Do I need to connect CC pins? Can I just pull them up (or down) with simple resistors?
Dear supporters,In a project I want to create a feedback mechanism to keep the top of a pulse-shaped signal between boundaries. Most of this seems working, except the control of the DAC channel, that should output a voltage for the diode-laser which produces the pulse to be controlled. Whatever I try, I get a more or less constant block shaped signal of 3.3V during ~7us and 0V for 5us. I checked the Reference Manual for the STM32H723VG processor chapter 31 but did find any clue.In pseudo code I do the following: - declare a DAC variable (DAC_HandleTypeDef hdac1; , auto-generated) - initialize the DAC within 'main.c' ( MX_DAC1_Init(); , auto-generated)/** * @brief DAC1 Initialization Function * @PAram None * @retval None */ static void MX_DAC1_Init(void) { /* USER CODE BEGIN DAC1_Init 0 */ /* USER CODE END DAC1_Init 0 */ DAC_ChannelConfTypeDef sConfig = {0}; /* USER CODE BEGIN DAC1_Init 1 */ /* USER CODE END DAC1_Init
Hi,When I was using the STM32H743ZI chip, I set the system frequency of the chip to 160 MHz. Only enable the ICache, do not enable the DCache and the MPU.According to the prompt from CubeMX, the maximum peripheral clock is 240 MHz. Therefore, I configured HPRE as 1, as shown in the following figure:During the test, I found that if I disabled the ICache, LWIP was unable to obtain the IP address.If I configure HPRE as 2, LWIP can successfully obtain the IP.Using Wireshark to capture the data on the network, no DHCP protocol was found. That is to say, the Ethernet data was not sent out. However, during the debugging process, the Ethernet data was sent out through the sending function.Using a logic analyzer to test the data of the MDIO bus under the two configurations, I found that the MDIO versions automatically parsed by the logic analyzer were different. However, the values of all the registers of the PHY were the same in both cases, except for the status register. The test results of t
Hello,I've useX-CUBE-MCSDK v6.4.1B-G473E-ZEST1S + STEVAL-LVLP01 + B-MOTOR-PMSMA1with the HSO.I can make it run with the GUI. But can't start the motor with API.In the legacy, I use MC_ProgramSpeedRampMotor1(100, 1000); for 600 rpm within 1000 ms.For HSO, I can't find the same API, but found that may need to use these:MC_SetAccelerationMotor1()MC_SetSpeedReferenceMotor1()The question is how to calculate the value passing to these API, I found it different from the legacy. Thank you.
We are planning to use STM32H757XIH6 as a soul microcontroller, so we are using 10/100Mbps Ethernet, is 22 ohm or 33ohm resistor best suited for this application. If either of this is answer , please provide why one is better than other and when.
Hi, I'm using an STM32L431CCU6TR in a low power application, which uses a system basis chip to control the voltage rails to the system. After a predetermined timeout period, the SBC cuts VDD from the STM32, and can only be woken by an external influence (eg. CAN data, toggling wake up line via user button, etc) A peripheral of the STM32 has a control line which periodically applies a very light pullup (in the order of uA) to the line to check the state of the PIN. The SMT32 (when powered) pulls this line LOW to activate the peripheral, or allows it to float to disable the peripheral.The problem is, on some PCB assemblies, when the STM32 is unpowered, the line appears to be clamped to around 0.68V. So when the peripheral device attempts to pull the line HIGH and check its state, the MCU holds it near a LOW state, and the peripheral is inadvertently activated.AN4899 suggests there are no clamp diodes on this pin (PB8). Thus, I believe it should be
Hi All,I do struggle with high-cycle flash read.By using the example:https://github.com/STMicroelectronics/STM32CubeH5/tree/main/Projects/NUCLEO-H563ZI/Examples/FLASH/FLASH_EDATA_EraseProgramIt is doable to erase/write sector or halfword but reading from address (with simple memcpy) without writing/erasing it just before causes NMI_Handler().How to init/configure the EFLASH to simply retrieve data after startup?Write function: HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD_EDATA, address, (uint32_t)&halfword)Read 'function':uint16_t halfword = *(uint16_t*) address;Regards,Mat
I would like to use STM32WB (NUCLEO-WB55) with eddystone and sleep periodically.I find examples about beacon and about power low mode but it's not easy merge them.I'm looking for an example.Thank youPaolo Preioni
Hi,I have an issue with the UASRT communication being abnormal.First case:Access System Bootload Mode by Options bytesAccess the Main Application by the UART protocol ( UART2)Send the first UART packet to the ST MCU via UART2 that contains the UART error code: 0x4 (Frame Error)Send the same UART packet to the ST MCU via UART2 again without the UART error codeSecond case:Using IDE Debug Mode, break at main()Send a UART packet to the ST MCU via UART2 without the UART error codeI tried to De-Init and Re-Init the UART2, which I expect to reset all the UART2 register values before I send the UART packet. According to my test case, could I say that the UART error code 0x4 is due to System Bootload Mode?How could I fix the issue?Please let me know if more information is required.
2025-08-12 10:04:37,611 调试 [WB_to_MX.lambda$run_gui_mode$0] 参数:[-mx_timeout, -1, -pack, assets/MotorControlPack/MotorControl.zip, -exp, templates/wb-defines_where_and_what.txt, -ftl, templates/wb_ioc_template.ftl, -xdm, E:\STMotorControlWorkbench\64025081201\64025081201.wbdef, -ioc, E:\STMotorControlWorkbench\64025081201\64025081201.ioc]2025-08-12 10:04:37,613 调试 [ArgsValue.lambda$retrieve$2] CLI_ARG[ftl]: templates/wb_ioc_template.ftl2025-08-12 10:04:37,613 DEBUG [ArgsValue.lambda$retrieve$2] CLI_ARG[exp]: templates/wb-defines_where_and_what.txt2025-08-12 10:04:37,613 DEBUG [ArgsValue.lambda$retrieve$2] CLI_ARG[xdm]: E:\STMotorControlWorkbench\64025081201\64025081201.wbdef2025-08-12 10:04:37,614 DEBUG [ArgsValue.lambda$retrieve$2] CLI_ARG[ioc]: E:\STMotorControlWorkbench\64025081201\64025081201.ioc2025-08-12 10:04:37,614 DEBUG [ArgsValue.lambda$retrieve$2] CLI_ARG[pack]: assets/MotorControlPack/MotorControl.zip2025-08-12 10:04:37,614 DEBUG [ArgsValue.lambda$retrieve$2] CLI_ARG[mx_time
The power cable and the USB cable for kit interface are connected properly.When I connect the interface cable as per the the quick start guide, the LabTool does not recognize any port. If I go to settings - port: I can find no port to chooseIf I go to settings - COM port - Scan port: Again, nothing happens.In my windows device manager, I can see two new devices which don't have the appropriate driver, there are named: Enhanced COM port, and standard COM port. #evalkitst8500-1 #smartgrid-labtool
Hi Team, I'm new to STM32H7 controller. I've started exploring the shared memory in this dual core controller. I found a great one from MAJERLE. Thanks for that. I used the same concept and made a Flag to check for new data to read and write, it was working okay. But, the time gap between write to read was so huge. I'm not getting why it's so. Then, I tried to poll the while(1) loop by toggling GPIO, to see how frequently it is polling the flag, but I found that the while(1) loop itself running very slow, unable to figure out what causing it slow. Please, guide me to resolve this issue. My requirement is that, I'm trying to share the some amount of data between M4 and M7 at very fast frequency. Suggest the best way to handle this problem.--------------------------------------------------------------------------------------------------------------------------------common.h /* Buffer from CM4 to CM7 */ #define BUFF_CM4_TO_CM7_ADDR MEM_ALIGN(SHD_RAM_START_ADDR) #de
I have generated the code generated from MCSDK 6.4.0 for the micro STM32G431CB to STM32G431RBT6 micro.My understanding is all the Hall drivers remain the same, the startup file and the .ld file will vary based on the micro controller. But i am running into the issue where ADC2 handler is getting called which it shall not as long as the PWM is OFF. There is one signal handler called as shown above i am not sure what it is? I have been struggling to understand, please help.
Hello everyone,I'm using STM32WLE5 (LoRa E5) module for sending the data from one module to the other. The Lora transmitter will be receiving the data from the UART1 which is then transmitted over the radio.I have used baudrate 115200 and tested, everything works fine. But when I change the baudrate from 115200 to the higher baudrate(921600), No data is being received by the STM32WLE5 module. Clock of the peripheral is running with 48MHz. Is there any configuration of UART that need to be changed for the uart baudrate to work properly?
I am working with the EVSPIN32G06Q1S3 and the STLINK-V3SET, I have the two programmer/debugger boards mounted on top of each other. Then I have the UART connector connected to the EVSPIN32G06Q1S3 (J5) and the programmer/debugger boards (CN7). I have 230 VAC going into the EVSPIN board. The lights on both the STLINK and the EVSPIN turned on. Device manager recognizes the LINK, but I can't detect the EVSPIN in Motor Pilot or STM32CubeIDE. I've tried the "Discover Board" option in Motor pilot and manually changing the baud rate to each option with no results. I think it might be a firmware issue, but I'm not entirely sure.
I have a dynamic graph set to scrolling. When I call graph.clear(); it will set the initial graph back to my range 0-100, but once it starts scrolling it instantly jumps to the last highest value being the start of the new range instead of continuing scrolling.EX: Graphing is as expected to x = 200. Clear. Normal graphing 0-100. Once scroll starts, jumps to range 200-300 and starts graphing at x = 3000-200 : clear : 0-100 : 200-300 (graph and scrolling starting at 300)
Where to download CAD ZIP files for STM32H753I-EVAL2 board and Nucleo-H753ZI board???I can't find ZIP files in https://www.st.com/en/evaluation-tools/nucleo-h753zi.html#cad-resourcesI can't find ZIP files in https://www.st.com/en/evaluation-tools/stm32h753i-eval.html#cad-resourcesThank for your help,
I'm experiencing a very, very strange behavior when running debug sessions in STM32CubeIDE. Sequential sessions alternate between correct execution of my main() entry point (and execution stops there, as expected) and unexpected entry into the bootloader.Everything has worked absolutely correctly up until just a few days ago. Before that, I last compiled and programmed firmware maybe a week and a half ago. I made a git branch at that point to capture the state of the software prior to making changes for a new PCB revision. Now, after experiencing this issue with new code, I've even switched back to that historical branch, and that now also exhibits the issue. I've also rebooted and power cycled my programmer and boards. I have two PCBs, and they both behave the same way.I'm using STM32CubeIDE v. 1.19.0 build 25607_20250703_0907.Target is an STM32L431CC (CCT6). Program/debug is via an ST-LINK/V2 and SWD. Nothing has changed in my debug configuration (and reset behavior is "con
I have implemented microros on an stm32 nucleo f446re and wrote a publisher in it, while using default qos the messages published can't exceed the frequency more than one hertz even after removing the delay function.....Is there any way to increase the speed of the message publishing this is the code of the thread void StartDefaultTask(void *argument) { /* USER CODE BEGIN 5 */ // micro-ROS configuration rmw_uros_set_custom_transport( true, (void *) &huart2, cubemx_transport_open, cubemx_transport_close, cubemx_transport_write, cubemx_transport_read); rcl_allocator_t freeRTOS_allocator = rcutils_get_zero_initialized_allocator(); freeRTOS_allocator.allocate = microros_allocate; freeRTOS_allocator.deallocate = microros_deallocate; freeRTOS_allocator.reallocate = microros_reallocate; freeRTOS_allocator.zero_allocate = microros_zero_allocate; if (!rcutils_set_default_allocator(&freeRTOS_allocator)) { printf("Error on default allocators (line %d)\n", __LINE__); } // micro
Hi there,for a project at university we need to estimate the power consumption of stm32wl33c8 mcu. One open question is the power needed for transition from deepsleep to waking state as we need to wake the cpu very often over a long time to read out an i2c sensor, read out an analog value with adc and put back to sleep.So first guess is that most time is needed to stabilize HSI actually, but actually can't find values for it on datasheet. The sensor becomes ready within 5ms.Hope we'll get good suggestions here.Best regards
Hi,I am trying to set up a SPI communication to the STM32WL's integrated LoRa transceiver. So, I was able get NSS, MOSI and SCK to work, however I won't receive any data on the MISO line.My code is following:void SUBGHZSPI_DebugEnable(void) { RCC->AHB2ENR |= (1U << 0); //enable GPIO-A GPIOA->MODER &= ~(3U << 8); //reset PA4 GPIOA->MODER |= (2U << 8); //set PA4 GPIOA->MODER &= ~(3U << 10); //reset PA5 GPIOA->MODER |= (2U << 10); //set PA5 GPIOA->MODER &= ~(3U << 12); //reset PA6 GPIOA->MODER |= (2U << 12); //set PA6 GPIOA->MODER &= ~(3U << 14); //reset PA7 GPIOA->MODER |= (2U << 14); //set PA7 GPIOA->AFR[0] &= ~(15U<<16); //reset AF of PA4 GPIOA->AFR[0] |= (13U<<16); //set AF13 of PA4 GPIOA->AFR[0] &= ~(15U<<20); //reset AF of PA5 GPIOA->AFR[0] |= (13U<<20); //set AF13 of PA5 GPIOA->AFR[0] &= ~(15U<<24); /
Issue Description:I’m trying to upgrade the FUS firmware on an STM32WB55 (specifically STM32WB55CGU6) using STM32CubeProgrammer (v2.20.0). However, when selecting the file stm32wb5x_FUS_fw.bin and starting the upgrade, I get the following error:Error: FUS_STATE_ERR_UNKNOWN: Unknown errorSystem Details:MCU: STM32WB55CGU6Connection Mode: ST-LINK (SWD, Hot plug, Hardware reset)Target Voltage: 3.23VCurrent FUS Version: v0.0.0.0 (target file is FUS V2.1.0.0)STACK Version: v0.0.0.0ST-LINK Firmware Version: V2J37S7Operating System: Windows 11STM32CubeProgrammer version: v2.20.0Log Output:Download Stack/FUS image at address 0x08C00000Opening and parsing file: stm32wb5x_FUS_fw.binMemory Programming...File: stm32wb5x_FUS_fw.binSize: 23889 KBAddress: 0x08C00000Erasing memory corresponding to segment 0:Erasing internal memory sectors [203 208]Download in Progress:File download completeTime elapsed during download operation: 00:00:00.648Firmware Upgrade process begins...Application is running, Plea
The power supply scheme indicates to use 100nf for vref and vdd, but in the General PCB design guildines section (Figure 51 and 52) indicates that 10nf power decoupling capacitor should be placed. I am confused which capacitor is suggested for adc decoupling. Thanks.
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.