Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I am a beginner at stm32 Nucleo board, when I connect the board and the Lap, LD5 turns green but LD4 turns to green/red blinking, which means the voltage is correct but the MCU has no response or connection error. Could you please help with that?
I'm a beginner and I don't understand the datasheet very well. Can I externally power my STM32 F446RE from the VDD pin (the one opposite E5V in the pinout)?Sorry for the banality, but I only found info for generic GPIOs.Dar
I'm trying my first Nucleo WL55JC2 dev board on my Macbook Air M2 (apple silicon). I am having an issue with connectivity. I have two of the same dev boards and multiple USB cables, and two USB ports on the Mac. All combinations give me the same result.I am able to upgrade the firmware on the board using STM32CubeProgrammer, so that shows that communication with the board via USB is possible. However, in STM32CubeProgrammer, I am not able to connect to it via STLink (with either JTAG or SWD) . . when I try SWD, I get the following output:09:07:10 : UR connection mode is defined with the HWrst reset mode09:07:10 : ST-LINK SN : 005200303234510A3335353309:07:10 : ST-LINK FW : V3J15M709:07:10 : Board : NUCLEO-WL55JC09:07:10 : Voltage : 3.25V09:07:10 : Unable to get core ID09:07:10 : No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication So it is reading information from the board...but can't go further.
Hi,I am working on a secure TAMPER application running on STM32H5731I-DK. Tamper module init and config is properly executed for active tamper detection with interruption. The TAMP_MISR register is set as expected once the tamper attempt is discovered, however the TAMP_SMISR is never set. Given that the TAMP_SMISR is used by the TAMP IRQ handler to determine the IRQ origin, the event is never handled correctly.The application is running in a secure context.Is there any reason/explanation why TAMP_SMISR would not be set ?Is there any specific register meant to be set ?Thanks
I tried running the LwIP_TCP_Echo_Server app on the Nucleo Board H7S3L8 (MB1737-H7S3-L8-B02) using STM32CubeH7RS\Projects\NUCLEO-H7S3L8\Applications\LwIP\LwIP_TCP_Echo_Server sample code.The code downloaded fine, but TCP communication didn’t work.I started a DHCP server using Tftpd32 software, but the MCU didn’t get a DHCP IP and showed a static IP (192.168.0.10) instead.I tried pinging the MCU’s static IP from my laptop using a straight Ethernet cable, but it failed.I tested with both crossover and straight Ethernet cables and used a Wi-Fi modem/router as another DHCP server, but the result was the same.I also tried other sample codes (LwIP_UDP_Echo_Client, LwIP_UDP_Echo_Server, LwIP_TCP_Echo_Client, LwIP_HTTP_Server_Raw), but the result was the same.I followed the steps in the Readme file and enabled the XSPI2_HSLV=1 for high-speed I/O.Did I miss any steps? Screenshots are attached for reference. MCU Comm3 serial responsePing request from Laptop to the MCUWireshark packet while
I used the STM32H533 Nucleo board example project ADC_MultiChannelSingleConversion as a reference for this code. The actual project is running on an STM32H523.I am attempting to have a software-triggered array of ADC reads across two channels using the GPDMA. [Edit: for clarification, multiple conversions across a sequence of 2 channels, not just a single conversion]. The plan is to be alerted via interrupt callback that the sequence (triggered by HAL_ADC_Start_DMA) is complete. I do not want the ADC to continue to sample or overwrite the data in the buffer, so I am turning off the ADC in the callback. void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) { HAL_ADC_Stop_DMA(hadc); ... }The issue is that this callback is being triggered after every two-channel sequence is completed, instead of once after the DMA buffer is filled.The system does not generate any DMA complete or half complete callbacks in this configuration.Here's what appears to be working:ADC conversions ar
I'm working with the NUCLEO -F 446ZE MB1137 B-01 development board. My goal is to make a Virtual Com Port tunnel, where I plug in PA11/PA12 (USB device) to a PC and PB14/PB15 (USB host) to another product my company makes. I want to use the full speed (12 MBits/s) on both USB peripherals. It was very straight-forward to get the USB device to work using STM32CubeIDE, but no matter what I do I can't get the USB host to work. To isolate the problem, I removed the USB device completely and I’m currently only focusing on the USB host. I've added some logging here and there (using a sw bit-bang UART) e.g. in USBH_UserProcess, USBH_CDC_ClassRequest, OTG_HS_IRQHandler and in case of errors in MX_USB_HOST_Init. I have set PG6 high (right after the call to MX_USB_HOST_Init) to enabled VBUS on the CN13 connector (and measured 5 V on the 4th pin on a micro-USB to USB-A-female connector) and LED LD8 shows green light and LED LD7 (over-current indicator) never lights up. I'm using HSE 8 MHz and I ma
Hello, I have been having issues trying to get my STM32F411 PCB working with the USB-C bootloader, currently the device is not even being recognized at all by my computer. When checking with a multimeter I have found that D+ is not pulled high by the internal pull-up. I have checked for shorts, faults in wiring but I have yet to find any. The STM32's VDD pins are receiving 3.18V as well. The HSE I am using is a YXC X322512MSB4SI. Any help is greatly appreciated thank you.
Hi Team,I am working on SIL2/3 compliance project. For this I need to generate and work on LL based libraries instead of HAL libraries.I am using STM32Cube v1.19.0. and working on STM32H753xx and STM32G4A1VET6 series MCU.I am unable to generate LL libraries for FDCAN.Need your help support for generating LL based FDCAN libraries. Regards,Abey
Hi everyone,I’m working with an STM32L476 and need to parse its 96-bit Unique Device ID (UID).According to RM0351, the UID starts at address 0x1FFF 7590.Reading that region with STM32CubeProgrammer gives:• 0x1FFF 7590 : 0x004A0029• 0x1FFF 7594 : 0x58335011• 0x1FFF 7598 : 0x2031374BSo the full UID (high → low) is 0x2031374B 58335011 004A0029.According to this documentation, the lower 32 bits encode the X/Y coordinates of the die on the wafer, in BCD.That leaves two questions:Bit mappingWhich 16-bit half-word is X and which is Y?Is it X = bits [31:16] and Y = bits [15:0], or the other way around?BCD validityIf the field is pure BCD (8421), every nibble should be 0-9, yet the value 0x4A contains nibble A (10).Do recent STM32 parts still use BCD for these coordinates, or should those half-words be treated as plain unsigned integers?Any clarification or official reference would be greatly appreciated.Thanks!
I have a problem with an STM32H7A3 which remains stuck in SystemClock_Config. I use Keil. Any ideas please? it just remain stucked here: if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /*AXI clock gating */ RCC->CKGAENR = 0xFFFFFFFF; /** Supply configuration update enable */ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); /** Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} /** Configure LSE Drive Capability */ HAL_PWR_EnableBkUpAccess(); __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE |RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON;
Hi All,I have an STM32f302R8 with IHM07M1 with a Bull Runner 2804 motor. This may seem like a simple question but I cannot find any information as to reversing the direction of the motor. In my final project I will need to reverse the direction of the motor on occasion. Does anyone have any information that may help me?DonCorr
Hello,I'm currently working on a medical project based on the STM32WB55. One of our key safety requirements is to be able to detect a maximum of clock-related error, including:Complete clock failuresMissed or irregular clock ticksFrequency variations or driftI’ve already enabled the Clock Security System (CSS) for both HSE and LSE, but it seems that CSS only detects complete clock failures (i.e., when the oscillator stops entirely). It does not catch more subtle issues like missed clock ticks or frequency deviations.My question is:Are there any known techniques or best practices to detect a wider range of clock anomalies on STM32WB55?Any insights, suggestions, or references would be greatly appreciated.Thanks in advance!
Dear all,I try to use ST-LINK USB Type-C to debog in CubeIDE IDE, however I have such error on CubeProgrammer by connecting the ST-link (see Picture 1). In CubeIDE, i have a different error (see Picture 2). The Nucleo is configured according to the default configuration in the documentation (jumper on BOOT0, BOOT1 & 1-2 to CN9)Sincerely,
Hello,I want to use MCU pin A6 for something else and OPAMP2 to ADC2-IN3 shall be internally connected only.G4 Reference manual page 779 figure 171 says:opamp_out can be redirected internally to an ADC channel by setting OPAINTOEN bit.In this case, the I/O on which is mapped the OPAMPx_VOUT is free and can be used for another purpose. In standalone mode, VOUT pin is disconnected from the OPAMP output and the gain cannot be set by an external resistors (in this case OPAMP can be used only as comparator).When I look at MCSDK generated code I see, that OPAINTOEN is disabled. According to docu above this means, OPAMP out is not connected to ADC ??? /* USER CODE END OPAMP1_Init 1 */ OPAMP_InitStruct.PowerMode = LL_OPAMP_POWERMODE_NORMALSPEED; OPAMP_InitStruct.FunctionalMode = LL_OPAMP_MODE_PGA_IO0_BIAS; OPAMP_InitStruct.InputNonInverting = LL_OPAMP_INPUT_NONINVERT_IO0; LL_OPAMP_Init(OPAMP1, &OPAMP_InitStruct); LL_OPAMP_SetInputsMuxMode(OPAMP1, LL_OPAMP_INPUT_MUX_DISABLE);
Iam Using 2 STM32F407VGT6 board one as master and another board as slave from Master side it is Transmitting but slave is showing the Bus error both Master and slave iam using in the inturrept mode
I am currently considering capturing and analyzing LE-Audio packets, but for that I need the LTK used for decryption.BLE Secure Connection pairing does not directly exchange LTK, so I do not know what it is, and I am having trouble.Could you please tell me how to output an LTK log by modifying the user source code?-------------------------------------------------------------------------------------------------------------[Srouce]https://github.com/STMicroelectronics/STM32CubeWBA.git[Project]Projects\STM32WBA55G-DK1\Applications\BLE\BLE_Audio_TMAP_PeripheralProjects\STM32WBA55G-DK1\Applications\BLE\BLE_Audio_TMAP_Central
i use STM32H750ZBT6 to make a LCD driver board and the stm32cubeIDE have some error as follows after compiling, even if i revise the include file or .h file , the error still exists on. how to solve this ? please help ...... D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/freertos.o: in function `MX_FREERTOS_Init':D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/freertos.c:116:(.text.MX_FREERTOS_Init+0x38): undefined reference to `TouchGFX_Task'D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/main.o: in function `main':D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/main.c:105:(.text.main+0x2a): undefi
Hello everyone,I’m working with an STM32H743VIHX and CubeMX 6.13.0-RC5, and I’m trying to capture a square-wave clock on PE9 (mapped to TIM1_CH1) so that each rising edge:Increments the TIM1 counter (External Clock Mode 1 via TI1FP1)Fires a DMA transfer from GPIOE->IDR into a circular bufferInvokes my HAL_DMA_RxHalfCpltCallback() / HAL_DMA_RxCpltCallback()Even though I can see the TIM1 counter increment (and even wrap around), my DMA callbacks never get called.Here’s what I’ve set up:PE9 → AF1 → TIM1_CH1Slave ModeSlave Mode = External Clock Mode 1Trigger = TI1FP1Polarity = RisingChannel 1ICSelection = Direct TI1ICPolarity = RisingFilter = 0DMA1_Stream1 is used for TIM1_CH1NVIC: DMA1_Stream1_IRQn enabledHas anyone successfully used TIM1_CH1 → DMA1_Stream1 on an STM32H7?I’ll attach my full main.cand stm32h7xx_hal_msp.c, files below. Any help would be greatly appreciated!Thank you in advance for your insights.
Hi ST Community,I have developed a custom board based on the MB1720 HighBand HighPower A01 reference schematic (STM32WL series). On my custom board, I’m unable to debug the MCU — my debugger can’t connect to the target at all.I’ve double-checked the power rails (VDDRF, VDDPA, VDDRF1V55) and they seem fine.However, I’m not sure if I made any mistakes when replicating the debug interface or SMPS configuration.Could you please help me check:1.Is the debug circuit (SWD/JTAG lines, NRST, BOOT0) correctly implemented?2.Are the power supply and SMPS sections connected properly for the STM32WL to boot and allow debugging?3.Any common mistakes that could cause the debugger not to detect the target MCU?I’ve attached my schematic
Dear Team, May I know any hardware design guide exists for STM32WB55RG.Especially for the RF section and it's pch schematic and layout guidelines.RegardsHAI
After I upgraded the FUS version to v2.1.0.0, the STACK version was also upgraded to v1.23.0.3 accordingly, as shown in Figure 1. However, I found that after programming the firmware into the STM32WB55CGU6, I could no longer detect any Bluetooth signal.Is this a problem with the new version? I tested with two boards and encountered the same issue. When the FUS version was v2.0.0.3, the Bluetooth signal was working normally.I would like to downgrade the FUS version back to v2.0.0.3. How can I do this using STM32CubeProgrammer? I tried performing a full chip erase and re-downloading the stm32wb5x_FUS_fw.bin for v2.0.0.3, but both attempts failed.
Hello everyone, I'm currently working with an stm32f746 chip, using TouchGFX and SPI slave. I am exchanging data via SPI every 10ms. The communication generally works well, but it sometimes gets shifted or delayed whenever a screen-related action happens in TouchGFX. It wouldn't be a problem if the communication returned to its normal state, but the issue is that it continues to operate in this shifted state permanently. For example: Normal communication : AA BB CC DD EE FF GG Shfited communication : CC DD EE FF GG AA BB On my receiving end, this is manageable because I buffer the incoming data and reassemble the packet by comparing STX and ETX values. However, I'm not sure how to fix this on the transmission (sending) side. If you have experienced a similar problem or know a solution, your help would be greatly appreciated. Have a great day!
Hi, i am currently trying to wrap my head around the OTA Application Update Procedure which STM32 recommends to do.So what i understand is:There is the BLE_Ota example (which basically should take another application binary and write it to some memory)This BLE_Ota app is located at 0x08000000 -> So the device should first enter the BLE_Ota app.The "real" application is then located at 0x08007000.I hope this is correct so far.Now i would have the question: Who is deciding now that we need a "jump" to address 0x08007000?I can not really find this in the BLE_Ota app somehow, but from my understanding the BLE_Ota app at some point in time should decide if it should go to 0x08007000 and let the real application run?Maybe this is also handled by some internals (or even the coprocessor?).I know that after a "upload" in the OTA_App is triggering a reset. But interesting for me would be: What is the flow after exactly this reset? Now the controller should end up in 0
Hello,I am working with an X-NUCLEO-WB05KN1 expansion board and I need to flash the default DTM firmware into the STM32WB05KN device.In the X-CUBE-WB05N package, I found the following folders:BLE_Transparent_Mode_STM32WB05_controller_onlyBLE_Transparent_Mode_STM32WB05_location_essentialEach contains SPI and UART .bin and .hex files.I tried flashing BLE_TransparentMode_UART_with_Updater_C_O.hex (the .bin did not work with CubeProgrammer), but my board does not respond to HCI Reset commands via UART.My questions are:Which exact DTM firmware is the default one preloaded on the WB05KN1 by ST for UART usage ?Where can I download this default DTM firmware (.bin or .hex) to restore the original configuration of my board ?Thank you in advance for your help.Best regards,Sheul
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.