Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
[PN]: EVALSTDRIVE101, NUCLEO-G474RE[VERSION]: MCSDK 6.3.2[TOOL]: Motor Control Workbench, Motor Pilot[DETAILS] :We are using the EVALSTDRIVE101 to drive a 250W, 1200RPM motor with Hall sensors. The Hall signals (H1, H2, H3) are filtered through the onboard RC low-pass filter before reaching the MCU on the NUCLEO-G474RE board.The control method uses 16kHz PWM to drive the UVW MOSFETs on the EVALSTDRIVE101.When measuring the signals with an oscilloscope:H1 shows minor jitter at high level.H2 and H3 show significant jitter around 16Hz when high.This noise seems to interfere with the motor commutation, resulting in audible "clicking" or "jerky" sounds and large speed fluctuations in the speed control loop during high-speed operation.Interestingly, when we bypass the onboard low-pass filter on the EVALSTDRIVE101 and use an external RC filter instead, the noise is significantly reduced. um2781-getting-started-with-the-evalstdrive101-stmicroelectronics.pdf 圖 4. EVALSTD
The board appears in Device Manager on my Windows 10 PC, and port/baud rate/parity settings match what is in Motor Pilot and STM32CubeProgrammer. Neither Motor Pilot nor STM32CubeProgrammer will connect to the board. I am using the latest drivers. What am I missing?
Hi,I have recently procured STM32L562E-DK Discovery kit. Having installed STM32 Cube IDE & STM32 Cube Programmer I tried to debug & run existing examples. However STLink is not getting detected on Windows 10 laptop. I have connected USB Type A to Micro B cable to CN17 connector. While the board powers up and is running default power measurement demo (out of box) I am unable to do any debugging/downloading of other example code.I have tried using different USB cables & tried switching USB port on laptop. However there is no USB activity detected in Device manager. I have confirmed STLink driver installation & working through another STM32 board (Nucleo-64) where I am able to debug/programAre there any switch/jumper settings on DK kit or do I need to connect USB Type C as well (already tried) to make the debugger work?Any suggestions/inputs appreciatedThanks
Hello team,Good day,I am having USB Disconnect Issue with my custom board based on STM32F303 Device, configured as USB HID in Firmware with Full speed. Schematics attached here with.It is Self-Powered board and no VBUS Detection implemented, Currently.USB Cable from HOST PC will always plugged into our Board and upon power on it detects the Board as HID device successfully. and communication works fine as well. Issue is : During real-time communication windows HID Function finds device disconnected. PC application is based on MFC VC++.We are not sure if it is beacuse of Noise or Immidiate VBUS Detection ? Regards,Bsuthar
Dear I'am protoyping a GUI on a STM32F469I-Disco board and encounter the "feature" that buttons in the lower area of the canvas will not trigger when touched (e.g. the red circled "Auto"). Strangely when moving these buttons (e.g. "00.000V") to the upper area without changing anything else the suddenly work????Of course my first suspect was the FT6xxx touch controller chip, so I debugged into the STM32TouchController::sampleTouch(int32_t& x, int32_t& y) function. I confirmed that the touch controller worked as designed delivering proper coordinates on every touch (origin in the upper right corner, x increasing down, y increasing to the left) As of now I've no clue where to look, help appreciated!Thx MTP.S.: The canvas has been configured in landscape orientation in TouchGFX designer
I have my internal Vref set to 2.5V (stage 0). The value reads correct (2.52V) with a meter on the test point below until I call HAL_ADC_Start_DMA(). Once HAL_ADC_Start_DMA() -> ADC_Enable() -> LL_ADC_Enable() is called the voltage goes up to around 2.9V. Any thoughts as to why this is happening? Thanks!
Hi,Still attempting to work with STM32F767ZI board to generate signals to manage I2S mic (INMP441)I have followed many recommendations, even used MX, but still no clock nor word select signals are generated from MCU....But throu GPIO I can generate a clean square signal ?! So ?Did I miss a thing ?Thx very much for your help
Hi everyone,I'm working with the STM32F405RGT6 and its CAN peripheral. I have a couple of questions regarding CRC handling:Does the STM32 CAN peripheral automatically calculate the CRC for both sent and received CAN messages?I noticed there is a CRC Error bit in the documentation. What is the purpose or functionality of this CRC Error bit?Thanks for your help!Best regards,
Hello, I am working with TouchGFX Designer version 4.25.0 and STM32Cube IDE 1.13.2 .Since today my build process does not work anymore and I get errors that some of the .hpp files are not existent. error notificationsI did double check the "missing" files but they are existent. Has anybody already had this problem and maybe can suggest a solution? Thank you very much.
Hello everyone,I'm working on a project using a NUCLEO-H7S3L8 board, and I have run into a very persistent and unusual problem involving FreeRTOS and a HAL function that I hope the community can provide some insight into.My aim is to build an event-driven data acquisition system. The application uses multiple peripherals (ADC, SPI, UART, I2C, and TIM3 for PWM Input Capture) running in DMA mode. A central FreeRTOS task (StartOSScheduler) waits on an event group for any peripheral DMA to complete. When an event occurs, it collects data from all sources, aggregates it, and sends it as a UDP packet using LwIP.Hardware and Software SetupBoard: NUCLEO-H7S3L8MCU: STM32H7S3L8HxToolchain: STM32CubeIDEFirmware: STM32Cube FW_H7RS V1.2.0Middleware: FreeRTOS (CMSIS-V2 Interface) and LwIPThe Problem: A Halt Inside a FreeRTOS TaskMy application halts without any fault or error when calling HAL_TIM_IC_Start_DMA() inside my main scheduler task (StartOSScheduler).The Critical Clue: The Most Important Pi
I am just getting started with the stm32h723 ADC. If I create a regular sequence group of several input channels, how does my ISR know which channel was sampled last (which channel's data is in the DR)? I don't see this in the registers.Thanks,Mark
I am measuring time time it takes to do ADC conversions on an STM32H753ZI Nucleo board, using the function function HAL_ADC_Start_DMA(). This converts 6 channels of ADC3, using 16 bits, with DMA. The one function call handles everything including DMA transfer. Then I am waiting for DMA to complete using interrupt handler HAL_ADC_ConvCpltCallback(). I am surprised how long this is taking and would like to ask if anyone has ideas on how to speed it up, or if perhaps this is expected. I set this up using CubeMX as follows: ADC clock is10MHz. (I think max is 12MHz for 16bit ADC with LQFP144 package)CPU clock is 100MHz.ADC3 channels 0 thru 5 all have sample time 2.5 ADC clocksADC3 is set for 16 bits, conversion time = 8.5 ADC clocks I believeThis is a total of 11 ADC clock cycles, or 1.1usecSo for 6 channels total time should be about 1.1usec x 6 + DMA time, which should be 7-8usec. But the time I measure from HAL_ADC_Start_DMA()
Dear Support team,I am currently working on a NucleoF302R8 and IHM07M1 driver to run a 24V PMSM motor (rated at 3600 RPM, no load).I'm using STM32 Motor Control Workbench version 6.4.0. Whenever I attempt torque control, I consistently encounter a speed feedback failure. I've tried lowering the C2 Leuenberger constant, but the issue persists. Interestingly, this problem doesn't occur in speed control mode—everything functions correctly when running in speed control.I would appreciate your assistance in understanding and resolving this issue.
I’m working on a program to transmit data over SPI1 and SPI2 using DMA. For output I only use each peripheral’s CLK and MOSI lines. SPI1 and SPI2 differ only in the exact data being sent—their configurations and the number of bytes are identical. Also, when driving the lines I first need to bit-bang them, so I disable the peripheral, toggle the pins by software, and then re-enable the peripheral. With an oscilloscope I confirmed that SPI1’s CLK and MOSI, and SPI2’s CLK, all switch as expected—but SPI2’s MOSI never toggles correctly. I believe the peripheral setup is correct, yet when I remap SPI2-MOSI from PA4 to PA10, it works perfectly. Do you know why PA4 fails to output MOSI? Below, (1) is the code that was active when SPI2-MOSI was on PA4 (no output), and (2) is the code active when on PA10 (correct output). The PCB layout is already fixed, so if PA4 can’t serve as SPI2-MOSI it’s a serious problem. Now, I'm using Nucleo-G071RB for test. Any insights would be greatly appreciated.In
Hello everyone,I'm working on a project using the STM32WL33CC1, based on the example provided in the official ST GitHub repository:https://github.com/STMicroelectronics/STM32CubeWL3https://github.com/STMicroelectronics/STM32CubeWL3/tree/main/Projects/NUCLEO-WL33CC/Examples/PWR/PWR_DEEPSTOP_RTC I’ve implemented the DeepStop (STOP2) low power mode using the same structure as in github example, with the RTC configured to wake the system every 30 seconds. However, I’m encountering the following behavior:-The MCU successfully enters DeepStop (measured current drops to ~100 µA as expected);-But it does not wake up, neither from RTC WakeUp nor EXTI;-On the other hand, the exact same code works correctly in Shutdown mode. What I've verified so far:-LSE clock is active before entering STOP2;-RTC WakeUp is configured correctly;-EXTI and NVIC are properly set. The project includes an external EEPROM, buzzer, Reed Switch with EXTI, LEDs, and Sub-GHz communication (2FSK/OOK).Has anyo
I am looking at a project where I would typically use an SBC, but wondering if ST has enough usb host support to accomplish this with existing usb stack software. If so what would be recommended models? Will be used as a usb host only (role change not required). Need to be able to work with usb 2.0 hubs (3 levels) and identify which port a device was plugged into. Also wondering if usb HS vs FS would make a significant difference if I am supporting 20+ usb devices from the host management side? Need to mount usb mass storage device and read a file. Need to communicate with usb serial device (ttyACM). Thanks for the insights!
Hello everyone, I'm currently working on an SPI bus on an STM32U031C6 + S2LP. I'd like to use my SPI with DMA mode. The SPI bus I used previously worked on this board. As this is my first time using DMA, I'm simply trying to send data without necessarily performing a read, but rather by analyzing the bytes using a logic analyzer. My SPI configuration is defined as follows://----------------------------------------------------------------------------- void S2LP_InitIO (void) //----------------------------------------------------------------------------- { RCC->APBENR2 |= RCC_APBENR2_SPI1EN; GPIOA->MODER = (GPIOA->MODER & ~(GPIO_MODER_MODE11)) | (GPIO_MODER_MODE11_0); //-- Select output mode (01) //--- PA15 en sortie (pour Spirit-SDn) --- GPIOA->MODER = (GPIOA->MODER & ~(GPIO_MODER_MODE15)) | (GPIO_MODER_MODE15_0); //-- Select output mode (01) //--- PA0 en entree sans pull-up/down (pour Spirit-GPIO0) --- GPIOA->MODER = (GPIOA->MODER & ~(GPIO
Split from https://community.st.com/t5/stm32-mcus-boards-and-hardware/nucleo-h563zi-as-usb-host/td-p/646056 Hi, I am New here.I was trying to connect the USB Barcode scanner to this Nucleo Board. Did you guys find any solution to make the board act as a USB Host.
Hi,I’m using EDataBank_1 on an STM32 device to store user data after a power cycle. I based my code on the EraseProgram example and made these changes:What I did:Enabled FlashPeripheral and set EDataBank_1 size = 2On first boot, I do:Init → Erase → Program → ReadAfter a reset, I do:Init → Read → (optional Program)(I skip erase to keep the data)Problems:After writing, when I read back, I see userConfig is already set, which I didn’t expect.I can’t read memory at 0x09000000 using STM32Programmer. It always gives a read error.Questions:Why does userConfig look configured right after a write?How do I check if EDataBank_1 is still uninitialized (virgin) without erasing?Is the read error at 0x09000000 due to write failure or ECC error?How can I detect write errors or ECC issues?Goal:Save data onceRead/write it later without eraseKeep data even after power off Any help is appreciated. Thanks!Manikanta
Hi ST expertI'm ready to use STM32H723 now. Vcores can use internal LDOs or external power supplies via Vcap pins. If you use an external power supply, what is the current of the power supply, I see that there is only Idd in the datasheet.Thanks
Maybe it is not supposed to be used like this:Regular receive interrupt handler and using LL_USART_TransmitData8 function.Then sending a larger configuration file using HAL_UART_Transmit_DMA on demand.This leads to these flaws:1. HAL_UART_Transmit_DMA activates TC Interrupt which is not handled, garbage is sent after endof DMA unless LL_USART_DisableIT_TC(USARTx) is called in the DMA interrupt.2. next time you try to start HAL_UART_Transmit_DMA does not work because of huartx.gState Busy flag, huartx.gState &= 0xfffffffe needs to done in the DMA interrupt. 3. if implementing 1. and 2. The second time of sending the configuration file misses one character, if LL_USART_TransmitData8 has been used in between, because USARTx->CR3 is 0x00003080 after using DMA, setting it to USARTx->CR3 = 0x3000; prevents losing one character.So I found "solutions" for these flaws, but I'm not happy with it.
Hello.. can anyone advise where to download the F767 Nucleo BOM list?
Hi everyone,I’m working on an application using an STM32WLE where the main loop is task-based, and Sub-GHz communication is handled through a message system. I’m currently trying to implement Stop Mode 2 to reduce power consumption.Scenario:Upon receiving a specific command, the device must enter Stop Mode 2.Wake-up should occur only via an EXTI on a WakeUp Pin (GPIO).At the same time, I have:An active RTC Alarm used for Sub-GHz events and software timers.SPI IRQ Handler (which shares the same IRQ with EXTI) for receiving SPI data.Issue:If I don’t disable the RTC Alarm before entering stop mode, the MCU wakes up immediately.However, if I disable the RTC Alarm, the device stays in stop mode, but after wake-up:The power consumption is higher than before entering Stop Mode.The SPI communication stops working properly.Questions:Is it correct to disable the RTC Alarm before entering Stop Mode 2? Is there a better way to handle wake-up without RTC interfering?After wake-up, which peripherals
I am working on stm32wl5moc controller and lora tx is not working every time radio status i am getting back is 5 instead of 6, below is the code snipet, and also check the full code attached with this post if (HAL_SUBGHZ_ExecGetCmd(&hsubghz, RADIO_GET_STATUS, &RadioResult, 1) != HAL_OK) { Error_Handler(); } /* Format Mode and Status receive from SUBGHZ Radio */ RadioMode = ((RadioResult & RADIO_MODE_BITFIELD) >> 4); RadioStatus = ((RadioResult & RADIO_STATUS_BITFIELD) >> 1); if(RadioMode == RADIO_MODE_TX) { /* Wait end of transfer. SUBGHZ Radio go in Standby Mode */ do { /* Reset RadioResult */ RadioResult = 0x00; /* Retrieve Status from SUBGHZ Radio */ if (HAL_SUBGHZ_ExecGetCmd(&hsubghz, RADIO_GET_STATUS, &RadioResult, 1) != HAL_OK) { Error_Handler(); } /* Format Mode and Status receive from SUBGHZ Radio */ RadioMode = ((RadioResult & RADIO_MODE_BITFIELD) >> 4); RadioStatus = ((RadioResult & RADIO_STATUS_BITFIELD
Does HAL_RTC_AlarmAEventCallback work if the the MCU is in shutdown ?I am using RTC wake-up timer for wake/shutdown cyclingRTC alarm for shutdown trigger via HAL_RTC_AlarmAEventCallbackBut:RTC Alarm A interrupt never fires if the MCU is in Shutdown mode waiting for the RTC Wake-Up timer.For test purposes I am using the following values:Wake cycle set to 10 secondsShutdown cycle set to 5 secondsAlarm set to 28 secondsFrom power up the MCU should run as follows...1. Wake cycle for 10 seconds2. Shutdown cycle for 5 seconds3. Wake cycle for 10 seconds4. Shutdown cycle for 5 seconds..... but after 3 seconds the alarm time is reached (28 seconds). 5. When the alarm occurs.... RTC wake is disabled and WKUP pin wake is enabled, then shutdown is called.6. The MCU must not wake until the WKUP pin is detectedRefer to the timing diagram below...I was hoping that if the alarm occurs during the 5 second shutdown cycle it would call the alarm interrupt in the next wake cycle. But
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.