Get ready for the STM32 Summit 2026 | Online, November 3
Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hi guys, This is my first topic and I hope this is the right section.I’m trying to connect the EVLSPIN32G0B2 evaluation board to the ST.LINK/V2 program tool connected to PC via USB.When I click on Connect on the STM32CubeProgrammer I get the error “ST-LINK error (DEV_CONNECT_ERR)”. Of course, when I do this I have the evaluation board connected to another usb port in order to supply the micro. Why doesn’t it works? I can’t find my error. I have another question: which is the program to be loaded on the EVLSPIN32G0B2 to make it working with Motor Pilor and be able to configure my brushless motor ? Thank youStefano EDIT:I didn’t mentioned that the ST-LINK is connected to the EVLSPIN32G0B2 via a cable coded ARM-JTAB-20-10 bought on Mouser Electronic’s site and it is connected to the RESERVED connector on the EVLSPIN32G0B2 board.
Hello ST Community,I am attempting to run the LoRaWAN_End_Node_LBM example project from the STM32CubeWL MCU Firmware Package on a NUCLEO-WL55JC1 board, connecting to a ChirpStack LoRaWAN Network Server.While ChirpStack shows both the Join Request and Join Accept frames, the node fails to join and loops endlessly in a join retry state.Configuration & Keys Updated AppEUI in se-identity.h to match ChirpStack settings. Tested on STM32CubeWL Firmware Package V1.6.0 (and verified same issue on V1.5.0).Environment / Software Versions Application: LoRaWAN_End_Node_LBM (V1.6.0) Middleware (MW) LoRaWAN: V1.1.0 Middleware (MW) Radio: V1.4.0 L2 Spec: V1.0.4 RP Spec: V2-1.0.4Serial Monitor188s692: TX DONE188s739: RX1 LoRa at 4953 ms freq:868300000, DR 4, BW125, rx timeout 16 ms193s827: RX DONE193s827: RP: RX size 33193s828: Process join accept failed with code = 14193s828:Receive a bad packet on RX1 for stack_id = 0 continue with RX2193s828: RX2 LoRa at 895 ms freq:86952500
Despite my best efforts I cannot manage to connect my board to my PC and upload code (doing so from the Programmer). The environment consists of all three Cube applications (MX, IDE, Programmer) all at the latest version. Hardware wise, the board's jumpers are correctly placed for code upload, with the ST-LINK led turned on, as well as LED4 and LED9. There's also another blinking red led. I have tried all of the possible configurations (changing the frequency, mode, etc) and nothing seems to be working. The target voltage shows 3.3V, the programmer also can firmware upgrade the board, however I simply cannot connect to it. Please help!
I’m just starting a new project using the STM32H563. It has 16 channels of DMA, 8 in GPDMA1 and 8 in GPDMA2. I have at least 11 peripherals I’d like to use DMA for, UARTs, I2C and CAN. That means 22 channels of DMA if I want to use DMA for RX and TX. Does it make sense, or will it even work to use DMA for the RX side of a UART (for example) and IT for the TX side?My goal is to eliminate or at least minimize blocking in my program. I care more about DMA on the RX side since I often don’t know how many bytes will be in the message from the peripheral. I’ve used character match on the STM32H7A3 to deal with that in the past and the H563 is supposed to support character match also. TX is easier since I always know how many bytes I’m sending. I understand I’m still using CPU cycles to TX in IT mode but I don’t think that will cause any significant issues (I hope).
Dear ST Team,I have a STEVAL-ESC002V1 board and tried to generate the source code using MC Workbench, but I could not find the STEVAL-ESC002V1 board in the available options.I also checked the ST website and found firmware support for the IAR IDE:https://www.st.com/en/embedded-software/stsw-esc002v1.htmlHowever, I need support for STM32CubeIDE.Could you please confirm if STM32CubeIDE support is available for the STEVAL-ESC002V1 and guide me on how to generate or obtain the source code for this board?Thanks & Regards,Prashant Gautam
Hello everyone,I need to design a board featuring two STM32 microcontrollers that must operate in sync. To ensure clock synchronization, I plan to use a single external crystal.My proposed hardware approach is: Connect the standard external crystal (HSE) to MCU 1. Route the MCO (Microcontroller Clock Output) pin of MCU 1 to the OSC_IN pin of MCU 2. Configure MCU 2 to use HSE Bypass Mode, leaving its OSC_OUT pin floating. Place a series damping resistor on the trace between MCO and OSC_IN to prevent ringing. Could you please confirm if this topology is the correct and officially recommended approach for STM32 devices? Thanks in advance for your time and suggestions!
Is there currently a recommended alternative for the ST7540? Also, what is the PLC (powerline communication) chip that ST is currently promoting?
Hello everyone.I'm creating a TouchGFX project for a custom PCB with an STM32H7R7I8T6. After initial compilation issues, I unchecked the "Generate Under Root" option in the project manager and managed to compile the empty project and upload it to the MCU. Now I want to add a driver for the GT911 touch panel. I add one file, gt911.h, to the "Appli/Core/Inc" location, and it's visible, but the gt911.c file in the "Appli/Core/Src" location isn't visible to the project. This is my first time using this project organization and I can't figure it out.Please help.
Hello Team, On the Development Board, pin PN12 is used to detect whether an SD card is inserted or not; however, it is also required by xspm_p2_ncs, so I don’t think we can simultaneously use XSPIM1, XSPIM2, and PN12. Is there any other pin you would recommend for the purpose of detecting an SD card? Also, I am using the mechanical switch to detect the SD card. In the Datasheet, SDMMC1 is specified for the SD card However, in the AN5967 Document, SDMMC2 is preferred for the SD card. Which port, SDMMC1 OR SDMMC2, is preferred for a microSD card? Thanking you
Hello Everyone,I am aiming to integrate a 64mb NOR Flash non-volatile memory to my stm32n6,However, the recommended models were MX66UW1G45GXDI00 and MX25UM51245GXDI00,They are out of stock on every major electronics market in the world,,are there any legit alternatives to these models , that are compaitable with stm32n6 and serves my need,If so please let me know.Thanking you
From my understanding all STM32N6 chips need a external flash chip and there's a static stage 0 boot loader. So if this is true is there any limitation's on the brands of flash or speed/address bit size limitations? With the previous stage 0 bootloader for a different non ST product had a lot of limitation on the flash that could be used.* 16 bit flash address only* Only support a few brands of flash chips.
That pretty much says it all. Any attempt to tear down the connection (disable spi, disable dma, etc) before (long before) stop1 causes flash write after (many instructions after) the wfi to fail with PGSERR error. Not tearing down the connection, flash write works, but standby doesn’t without additional work. To be concrete dma3ChannelFreeI(spip->dmatx); if (spip->state == SPI_READY) { /* Just in case this has been called uncleanly.*/ (void) spi_lld_stop_abort(spip); spip->spi->CFG1 &= ~(SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN); spip->spi->CR1 &= ~SPI_CR1_SPE; /* Releasing DMA channels.*/ dma3ChannelFreeI(spip->dmarx); dma3ChannelFreeI(spip->dmatx); Those two lines -- spip->spi→… are what break flash write. Clearly there is an undocumented interaction between peripherals and the clock and data transfer system, but the documentation for the part is shockingly incomplete on important details such as this.Leaving those lines out
Hi everyone,I’m working on a small STM32 project using a piezo buzzer and would like to generate a simple melody from different frequency tones.I can already generate individual tones by changing the timer frequency, but I’m not sure what the best approach is for playing a sequence of notes with different durations.For example, I would like to create a short melody such as:Note A → short duration Note B → short duration Note C → longer duration Pause → short duration RepeatWould it be better to use a timer with PWM and change the frequency for each note, or is there another recommended approach for generating melodies on STM32?I’m mainly looking for guidance on the structure of the code and how to handle the note frequency and duration cleanly.Thanks in advance for any suggestions!
Hello everyone,I'm trying to configure the SAI and GPDMA peripherals on an STM32 to acquire audio from an I2S microphone. My goal is to capture a 32-bit, 2-channel audio stream at a 16 kHz sample rate, with the STM32 acting as the clock master. I've followed the steps below, but I'm running into two main issues:While the HAL_SAI_RxCpltCallback and HAL_SAI_RxHalfCpltCallback functions are being called, the acquisition buffer remains unchanged (full of zeros).I'm seeing a 16 kHz signal on all three I2S lines (SCK, FS, and SD), which is incorrect. The clock (SCK) should be much higher.Here's a summary of the steps I've taken:PLL4 Configuration: I've configured PLL4 to generate a 1.024 MHz clock (16 kHz * 64 = 1.024 MHz). This clock feeds into the IC7 peripheral.GPDMA1 Configuration: I've enabled the clock and interrupts for GPDMA1 Channel 0 and added a linked-list initialization.SAI1 Block B1 Configuration: I've set up the SAI handle for I2S standard, 32-bit data, 16 kHz audio frequency,
Hi.I’m using CubeIDE, CubeMX and HAL to create an application for an STM32L451.I’ve setup USART1 to receive via DMA in circular mode and detect line idle, starting receptions with HAL_UARTEx_ReceiveToIdle_DMA(), and processing receptions in callback HAL_UARTEx_RxEventCallback().All seems to work fine except that the TC (transfer complete, or full buffer) interrupt never happens.HT (half transfer, or half of the buffer reached) and line idle do interrupt.I’m providing HAL_UARTEx_ReceiveToIdle_DMA() a buffer of size 128 bytes. I’m logging the value of the size argument to HAL_UARTEx_RxEventCallback(). When I manually send a message of 20 bytes repeatedly, but slowly enough to ensure line idle triggers, the callback is called with the following size values: 20, 40, 60, 64, 80, 100, 120, 120, 12, 32, 52, 64, 72, 92, 112, 112, 4, 24, (etc).You can see that line idle works, and also that HT is issued in the middle of a reception (size == 64), but TC isn’t, there’s no size equal to 128.What’s
I am trying to generate an interrupt when the HSP finishes a processing list so that I don’t need to poll it. However, I can’t seem to figure out how to do this.There are some things in the STM32U3 reference manual that make me confused:In section 19.4.12 HSP interrupt controller (HITC), there are four interrupt lines:• An interrupt line handling errors (hsp_err_it)• An interrupt line handling various hardware events (hsp_evt_it)• An interrupt line handling events generated by the SPE processing (hsp_fwevt_it)• A global interrupt is asserted when one of the previous interrupts is asserted (hsp_it)However, in Section 19.3 HSP Implementation, Table 143 shows that neither hsp_err_it, hsp_evt_it, nor hsp_fwevt_it are implemented in the U3 series. If this is the case, does that mean that hsp_it is just never asserted? Is it possible to notify the application when a processing list has finished without polling for a flag?Section 5.13.5 of UM3360: HSP processing functions says that the SET_FL
Hello Team, I am using STM32N657X0H3Q, I am planning to integrate external RAM; however, the mentioned standard PSRAM, APS256XXN-OBR-BG, is not readily available on the market, so I chose to upgrade to DRAM, APS512XXN-OB9-BG. Is this upgrade safe? Also, are there any alternatives to MX66UW1G45GXDI00 that can serve as a good NOR flash? Regarding the USB-C connection, I am using a much simpler structure here, where I have left the VBUS Floating(I do not intend to use this USB to drive anything or for power delivery, just using it to communicate with pc and STM32CubeIDE) as shown in the picture below. Can you please let me know if this is a viable USB connection and if it's good enough for communication with STM32CUBEIDE ? Thanking You
I discovered this issue while trying to program the Riverdi SM-RVT50HQSNWC01 using the STM32UG59. I spent days trying to figure out why the Riverdi demo in TouchGFX 4.26.1 was failing to program the external flash. It always failed when trying to erase external flash. This was with Programmer version 2.23.0. Even with the GUI version, I found that after connecting to the board, the first read of external flash would fail. Sometimes immediately, sometimes after a minute or so. I discovered that the second read performed immediately after the failure would work. Once I suffered through the first failure, I was able to read and program the external flash with no problem. I was ready to give up on the Riverdi board when I decided to try a different system. On this second system, I was able to create a demo from the Riverdi template, built it and program the board from TouchGFX 4.26.1. Same version as the failing system. I then noticed that the STM32CubeProgrammer on the second s
I made a project using CubeMX and imported it to CubeIDE. When I clicked Run → Debug, following message appeared, “The selection cannot be launched, and there are no recent launches.” I used CubeIDE version 1 before, and I could debug a program. What is wrong?
OK, thank you it is so easy to omit.Could you please help me with another issue on usbx: Default value for “CoreStack Device/Host” is “enable” but there is warning in red: The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack” Core Sytem is selected as you can see. Or is it referencing to some other component?
Hello , While configuring the I2S1 why i cant find its reference on the GPDMA1? Is it not available for DMA transfers?All other peripherals are available ( like uart,SPI,I2C but not I2S).Here is the snapshot.Regards,D
I'm using a Macbook Air M5. I downloaded the STM32CubeIDE 2.2.0 macOS (Apple Native) version to my computer. After importing my projects, I tried to debug. It connects to the ST-Link and performs the necessary operations. Then, when debugging is ready, I start the debug and get this error: GdbSession, Lost target connection, Exiting... GdbSession, Lost target connection, Exiting... I checked the permissions on my Mac and updated the STM Link version. Also, when I install the Mac (Apple Native) version of STM32CubeProgrammer, I can program the same board using the ST-Link. The port is visible. And interestingly, when I open the same project on my Windows computer, I can debug it without any problems using the same ST-Link.Any advice on how to resolve this issue so I can debug directly from STM32CubeIDE would be greatly appreciated!Thanks in advance for your help.Best regards,
Hi,I'm bringing up a USB MSC device on an STM32U385CGT6 with the USBX middleware in standalone mode. Everything comes from CubeMX 6.18.0 with STM32Cube FW_U3 V1.4.0 (USBX 6.4.0): USB_DRD_FS in device mode, USBX Core System + UX Device CoreStack + UX Device Controller + UX Device MSC.While comparing the generated code and some example applications (NUCLEO-U385RG-Q Ux_Device_HID_Standalone) it looks there is a regression in the generated HAL_PCD_MspInit. While the version from the example application enables Vdd USB, this is missing from the currently generated version of HAL_PCD_MspInit causing the peripheral to remain powered down. As a fix HAL_PWREx_EnableVddUSB(); can be called in the user code section at the bottom of HAL_PCD_MspInit. Best Regards, Cecil
I am following these steps :- Create STM32 ProjectFile → New → STM32 ProjectSelect STM32L476RGTx (LQFP64) MCU/board → Next → FinishOpen the .ioc fileConfigure LED1In Pinout & Configuration, Set PA2 to GPIO_Output, then click on project → generate code ( The ‘main.c’ file is not generate for given MCU and also for other MCU for similar steps code is not generating).
I Can't Connect to X-Nucleo-53L5A1 board & Nucleo-L476RG in order to run the "VL53L5CX GUI Software" Firmware and driver installed properly according to the manual, but can not get it to connect.Do I have to use the STM32-F401RE board to get the software to connect?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.