Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi,I try to use 6 external interrupts but only EXT4_15 is functionning. All is functionning correctly when i use HAL_GPIO_ReadPin() function without interrupts. Thank you for your HELP void EXTI0_1_IRQHandler(void) { /* USER CODE BEGIN EXTI0_1_IRQn 0 */ /* USER CODE END EXTI0_1_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(EV5_Pin); HAL_GPIO_EXTI_IRQHandler(EV6_Pin); /* USER CODE BEGIN EXTI0_1_IRQn 1 */ /* USER CODE END EXTI0_1_IRQn 1 */ } /** * @brief This function handles EXTI line 2 and 3 interrupts. */ void EXTI2_3_IRQHandler(void) { /* USER CODE BEGIN EXTI2_3_IRQn 0 */ /* USER CODE END EXTI2_3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(EV89_Pin); /* USER CODE BEGIN EXTI2_3_IRQn 1 */ /* USER CODE END EXTI2_3_IRQn 1 */ } /** * @brief This function handles EXTI line 4 to 15 interrupts. */ void EXTI4_15_IRQHandler(void) { /* USER CODE BEGIN EXTI4_15_IRQn 0 */ /* USER CODE END EXTI4_15_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(EV2_Pin); HAL_GPIO_EXTI_IRQHandler(EV14_Pin)
Hello everyone, I'm working on a custom board that uses the STM32H723ZGT6 together with the LAN8742A-CZ-TR Ethernet PHY. During the call to HAL_ETH_Init() in the stm32h7xx_hal_eth.c file, the initialization fails and gets stuck in this loop: /* Wait for software reset */ while (READ_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR) > 0U) { if ((HAL_GetTick() - tickstart) > ETH_SWRESET_TIMEOUT) { /* Set Error Code */ heth->ErrorCode = HAL_ETH_ERROR_TIMEOUT; /* Set State as Error */ heth->gState = HAL_ETH_STATE_ERROR; /* Return Error */ return HAL_ERROR; } } I suspect the issue may be related to the NRST pin. On my PCB, I have connected the NRST pin of the LAN8742A to both the MCU's NRST and the ST-Link NRST pin — similar to what is shown in the STM32H7 Nucleo-144 (MB1364) reference design. However, when I checked the LAN8742A datasheet, it suggests that this pin should be driven in a specific way Could this NRST wiring be the reason fo
Hello folks. How can I determine the BLE MAC address of my WB55 device's wireless stack?
I have a STSPIN32F0A board on which, I need support on below points1) Ability to operate the motor through LIN/PWM signal rather than an ADC signal, currently the EVAL board supports an ADC through an onboard potentiometer which I want to remove. 2) My current design is not able to move beyond 1.5A rms, whereas the design can support up to 15A rms, How to rectify this issue?
I'm wanting to connect a STM32F756 Nucleo board to a ST7796S-controlled 4" 320x480 TFT screen. Is there a good driver available for that? I can mostly find ones for ili9341.
In STM32H757XIH6, is SMPS GND and VSS internally shorted inside the IC or should be shorted externally during layout stage. Snips supporting these are attached.
Hello ,I'm trying to flash in the NUCLEO WBA52CG the basic code example available in STM32CubeIDE. I use version 1.19 with Windows. It was originally version 1.17 and was updated in 1.19.No issue to generate the code or build it. I then connected the NUCLEO WBA52CG and wanted to flash in the board.I got the failure message "No device found on target." Can anyone help me ?I added below a pictures of the connected board. Some leds ( green and red ones) are blinking but I don't know if it's OK or notThanks in advanceRegardsSerge
Hello, I am currently working on implementing a memory-to-memory DMA transfer on a STM32N6 board, but I have trouble making the DMA work (GPDMA or HPDMA).I tried to follow the Reference Manual for a LL implementation, but my code doesn't work and I can't find why. I'm a beginner in using DMAs but I still managed to make the DMA work on smaller STM32s such as the STM32F411RE, by following the User Manual, but on STM32N6, it does not work. You can find my code on the figure below. I have 8 bytes to transfer between two buffers in a secured AXISRAM2 memory space. I chose to transfer bursts such that 1 burst = 1 beat = 1 byte. I chose HPDMA because I am transferring data in AXISRAMs (I assumed it wouldn't work with GPDMA since it is adapted to AHB/APB).When I debug my code I can see that the Transfer Complete Flag in the Status Register was enabled but my destination buffer is still empty (it didn't copy the source buffer).Do you have any advice on why my code doesn't work ?
I am doing development for the STM32N6570-DK board in Zephyr. I can build a simply "blinky" project:$ west build -p always -b stm32n6570_dk ./applications/blinkyAnd can flash the device:$ west flash But when I try to debug:$ west debugserverI get this error:FATAL ERROR: no debugserver runner available for board stm32n6570_dk/stm32n657xx. Check the board's documentation for instructions.I have tried several variations of specifying the runner, but get an error each time, i.e.:$ west debugserver --runner jlinkFATAL ERROR: board stm32n6570_dk/stm32n657xx does not support runner jlinkTo fix, configure this runner in /home/stuart/ns-iot-dev-platform/zephyr/boards/st/stm32n6570_dk/board.cmake and rebuild.or$ west debug --runner openocd$ west debugserver --runner stlink_gdbserveretc.I am running Zephyr v4.1.1.Can someone please confirm that this chip is supported? Anyone tried to debug with Zephyr? Am I doing something wrong?Thank you!
Hi, I'm trying to profile a motor on the latest firmware. I can't get the latest firmware to build with the profiler enabled and get a series of issues related to arm_math.h.Are there any known fixes to this or are there any significant downsides to using the recommended earlier firmware version. Any help would be appreciated,Thanks!
I am using the Nucleo-IHM17M1 and Nucleo-F401RE to evaluate a high-speed drone motor (22,000KV) with sensorless drive. I am particularly interested in the Motor Profiler function, since some key motor parameters are not provided by the manufacturer. However, whenever I open Motor Workbench with Motor Profiler (version 6.4.0) and attempt to connect, I consistently receive a firmware error message. I have reviewed the specification sheet, which confirms that these boards are supposed to be compatible. Could you suggest any possible reasons for this issue, or recommend any other compatible boards for profiling sensorless BLDC drone motors?Thank you very much!
Hi allFor some reason my MCO(PA8) only outputting 8MHz despite me configuring it for 60MHzI am completely baffled because I have followed all the correct register settings(as far as I am aware) for the clock configuration, and have followed the clock diagram from the stm32cubeide I'm working on an STM32U5G9x and its my first time working on such an advanced topic, so apologies beforehand. Kind regards
In my upcoming system I will be needing to use dynamic bitmaps.Can dynamic bitmaps be located on the same RAM device (say SDRAM on STM32F469 discovery board) that is being used as the frame buffer?I can carve out a piece of the SDRAM for the dynamic bitmaps, but is the DMA2D going to complain?Thanks,Andrei
bmp581 data problemI'm using a BMP581 barometric pressure sensor on my custom flight computer designed for a rocket project. The altitude data I read from the sensor is not stable over time. While the sensor is in a stationary position (not moving), the altitude value sometimes slowly decreases, reaching values like -70 meters, and then slowly starts increasing again.It doesn't immediately drop to a negative value — instead, it drifts gradually over time, showing a kind of up-and-down fluctuation. Sometimes it reaches a stable point temporarily, then begins drifting again. The environment is stable and there is no actual altitude change.This issue does not occur when I test with last year's flight computer using the same sensor model, so I'm trying to understand whether this is a hardware-related issue (power supply, layout, noise) or if something in my software or configuration could cause it.The first circuit belongs to this year, and the second one is from last year. The first one h
I'm trying to generate an HID keyboard through CubeMX for USBX. I'm using an F411CE based board so picked the appropriate software pack for that. However, when I go to pick to pick components, I can only see the generic HID pack instead of separate keyboard and mouse packs as I've seen here before. I'd usually be fine with this and add the keyboard files in myself but this generic HID pack is based on a mouse implementation and adds a lot of unnecessary bloat to the stack. Is there a way to generate the files without the ux_device_mouse files?
Hi, I'm new to STM32 and would like to know about serial communicationvia the USB port on the NUCLEO-H755ZI-Q using Arduino IDE 2.3.6.I've already tried the program below.As a result, the LED (PB0) blinked, but I couldn't get serial communication with the PC to work.Could anyone let me know how I can resolve this problem?I apologize if the information is insufficient.void setup() { pinMode(PB0, OUTPUT); Serial.begin(115200); delay(2000); Serial.println("START");}void loop() { digitalWrite(PB0, HIGH); Serial.println("LED ON"); delay(500); digitalWrite(PB0, LOW); Serial.println("LED OFF"); delay(500);}Settings on Arduino IDE Debug symbols and core logs: "None" Optimize: "Smallest (-Os default)" Board part number: "Generic H755XIHx" C Runtime Library: "Newlib Nano (default)" Upload method: "STM32CubeProgrammer (SWD)" USB support (if available): "None" U(S)ART support: "Enabled (generic 'S
After doing some primary embedded projects (LED, user button etc) on my MCU (Nucleo-64 STM32 F411RE) I'm now dealing with timers. Here's my clock configurations1- Does anything look wrong?2- While my clock rate is 100 MHZ (as written on my board pack), should I change that 84 (in the HCLK (MHz) field) to 100 in the configuration?
I have custom board with STM32C071 micro controller (I used stm32c031 before) and I can't flash it via UART (cant connect in STM32CubeProgrammer).UART Used - USART1 (PA9/PA10) with auto baud rate (57600)STM32CubeProgrammer - v2.20.0Jump to boot loader mode from FW and can confirm it with st-link debug(with empty flash - dont work too).Flashing via ST-Link works well, but it will not be available when the device is in the case, so i need UART flashing.When i connect directly to the device and send 0x7f it doesn't respond as it should.The only suspicion is that the device does not reassign pins from PA11 PA12 to PA9 PA10, since it uses USB on these pins, because STM32C031 on the same board flashing well, it have no USB and doesn't have this problemSTM32CubeProgrammer log:12:52:33:798 : RTS low 12:52:33:799 : DTR Low 12:52:33:799 : Serial Port ttyUSB2 is successfully opened. 12:52:33:799 : Port configuration: parity = even, baudrate = 57600, data-bit = 8, stop-bit = 1,0, flow-control = of
I can't increase the motor speed beyond a certain point.For example, when using the ST Motor Pilot interface, I set the Speed Reference variable to 2500 RPM, and the Mechanical Speed reaches approximately the same value (2495 RPM). However, when I increase the Speed Reference beyond 2500 RPM, the Mechanical Speed does not increase and remains the same.MCU: STM32G431RBPower Board: STEVAL-IHM023V3NOT :I increased the motor's nominal current using MC Workbench, but I didn't notice any change in speed.[VERSION]: MCSDK6.3.2 (latest version for all tools)[TOOL]: MC WB[DETAILS]: See above.[EXPECTED BEHAVIOR]: Increase in motor speed[HOW TO REPRODUCE]: See above.Best regards.
Hi, I'm looking for LSE crystal and I alredy know there are prodcut recommendations tables in the AN2867 document, for the LSE crystal, so I'm looking a crystal for my STM32L4P5RGT6 MCU, there is many crystals that are compatible with my MCU family (STM32L4P+), so what criteria should I use tho choose a product in specific?There is different C0, CL, ESR, gmcrit for different crystals what to look at when when choosing?This is the table I'm referring toThanks for your time.
Hi, I made an STM32G4 and TCAN1044VDRQ1 setup and tried to use the FDCAN, but I couldn't get it to work. There is no response from the transceiver. I tried all the bit timings and used calculators to compute the values. I used a USB-to-CAN FD analyzer and sent a message, but there is no response in the HAL_FDCAN_RxFifo0Callback interrupt.It is not getting triggered when a message comes in. I don’t know what to do. I’ve spent too much time on this. Any help would be appreciated. Thank you. I don’t know what other details I need to share, if you think you need something, please let me know and I’ll send a reply.void CAN_Init(uint8_t can_id) { hfdcan1.Instance = FDCAN1; hfdcan1.Init.ClockDivider = FDCAN_CLOCK_DIV1; hfdcan1.Init.FrameFormat = FDCAN_FRAME_FD_NO_BRS; hfdcan1.Init.Mode = FDCAN_MODE_NORMAL; hfdcan1.Init.AutoRetransmission = ENABLE; hfdcan1.Init.TransmitPause = DISABLE; hfdcan1.Init.ProtocolException = DISABLE; hfdcan1.Init.NominalPrescaler = 1; hfdcan1.Init.NominalSy
Hello,I bought the STM32 Nucleo Pack with the Nucleo-F302R8, the X-Nucleo-IHM07M1 and a three-phase motor.I use MCSDK to control my motor and it's no problem.But when I want to add an external potentiometer to the ADC, I can't get the values from it.I've tried lots of things, but nothing works.To be sure of my potentiometer and my program, I tried with a simple program that doesn't use MCSDK, and everything worked perfectly. Here is the configuration of my MX_ADC1_Init with mcsdk activated: static void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init 0 */ /* USER CODE END ADC1_Init 0 */ ADC_AnalogWDGConfTypeDef AnalogWDGConfig = {0}; ADC_InjectionConfTypeDef sConfigInjected = {0}; ADC_ChannelConfTypeDef sConfig = {0}; /* USER CODE BEGIN ADC1_Init 1 */ /* USER CODE END ADC1_Init 1 */ /** Common config */ hadc1.Instance = ADC1; hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV1; hadc1.Init.Resolution = ADC_RESOLUTION_12B; hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; ha
Hi I working on a STM32H757BIT6 custom board. I try to take a referance with riverdi TouchGFX. This is my power connection with an mcu. Additionally, I have measured the voltage on the VLXSMPS pin and found it to be approximately 1.01V. This pin is not connected to any external voltage source, indicating that the internal SMPS is likely enabled. For the power configuration, I am using a 2.2µH inductor as recommended in the reference manual. However, the VCAP pin only outputs 0.17V, which is significantly lower than the expected ~1.2V. This suggests that the internal regulator is not functioning correctly. I programmed the Riverdi development board itself with a basic LED blink application. The programming was completed successfully. However, when I attempted to reprogram the board or reconnect via the ST-LINK, I encountered the same issue as with my custom board:"No device found on target." I the
Hi,I was trying to configure WRP protection in the flash for page 0 to page 11 and I am using STM32L443VC MCU.But I am seeing different value in the FLASH_WRP1AR for WRPstartoffset = 0x80 --Expected(0x00). Please find attached snapshot for the reference. Please do check the code snippet as well and let me know any configuration am I missing?
Hello ST and community members,I am writing to ask for help with a persistent issue regarding the Virtual COM Port (VCP) feature on the STLINK-V3MINIE.SummaryI have two STLINK-V3MINIE units, and on both of them, serial communication via the VCP does not work at all. However, the SWD interface for programming and debugging functions correctly. For comparison, I tested an older STLINK-V2, and its VCP works perfectly fine.Environment* PC OS: Windows 10/11* IDE: STM32CubeIDE v1.19.0* Debug Probes:* STLINK-V3MINIE (Device with the issue; two separate units behave identically)* STLINK-V2 (Reference device that works correctly)* Target MCU: Wio-E5 (STM32WLE5JC)* Terminal Software: Tera TermTroubleshooting Steps PerformedI have performed the following diagnostic steps:1. Confirmed Target MCU is Running: I added code to toggle an LED within the while(1) loop on the Wio-E5. The LED blinks as expected, confirming the main program is running correctly.2. Verified with STLINK-V2: I can establish 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.