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
I need gateway firmware binary for EU433 + Loriot.for my PNUCLEO LRWAN 3 gateway
Heyho,when enabling the INSTRUCTION cache in STM32H7(33), what must be taken care of?Any cache handling required? Any MPU settings required?As far as I understood that's only required for DATA cache?
In the STM32WB09's Reference Manual, RM0505 Rev 3, Table 8: PA10 and PA11 have SWD modes for their AF4.However, in the STM32WB09 datasheet, DS14210 Rev 6, Table 6 and Table 7: PA10 and PA11 have no AF4. Which one is correct?
I have setup HAL, systems clocks, etc. ADC 1 & 2 work PC4 (channel 14). ADC3 with PF3 (channel 9) PF4 (channel 14) or PF5 (channel 15) don't work with the same code. Port C & F enabled, ADC1-3 clocks enabled. Thanks for your help! { GPIO_TypeDef *ThePort; int ThePin, TheChannel; ADC_TypeDef *TheADC; ADC_HandleTypeDef hadc; __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE(); //PF3 Thermisor ADC3_CHANNEL_9 //PF4 Thermisor ADC3_CHANNEL_14 //PF5 Thermisor ADC3_CHANNEL_15 //PC4 Power ADC12_CHANNEL_14 /* works ThePort = GPIOC; ThePin = GPIO_PIN_4; TheChannel = ADC_CHANNEL_14; TheADC = ADC1; // or ADC2; */ ThePort = GPIOF; ThePin = GPIO_PIN_4; TheChannel = ADC_CHANNEL_14; TheADC = ADC3; // Configure PF3 as Analog Input GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = ThePin; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(ThePort, &GPIO_InitStruct); // Enable ADC3 Clock __HAL_RCC_ADC1_C
Hi ST Team, First of all, I would like to thank you for your support on my previous project based on the STM32MP255D series, which has now successfully moved into production. First of all, I would like to thank you for your support on my previous project based on the STM32MP255D series, which has now successfully moved into production.Currently, I am working on a new project that is entirely focused on Ethernet-based communication. Below is my design requirement and a clarification request:Project RequirementThe system requires three Ethernet interfaces in total:Ethernet 1: Operates in standalone mode (independent network).Ethernet 2 and Ethernet 3: Should function as switch ports, supporting STP (Spanning Tree Protocol) for loop prevention.Network Topology and Data FlowEthernet 1 is used for independent communication (standalone).Ethernet 2 connects to Device A, which is daisy-chained to Device B.The last device (Device B) connects back to Ethernet 3, forming a potential loo
Hi everyone,I am experiencing an issue with STM32CubeMX version 6.16.0 while working on an STM32U375xx based project.When I set the Toolchain/IDE to CMake, the code generation process completes successfully, but the linker script (STM32U375xx_FLASH.ld) is missing from the project structure. I have checked both the root directory and the cmake/ folder, but the file is nowhere to be found.Interestingly, if I switch the Toolchain to STM32CubeIDE, the .ld file is generated as expected. This suggests a potential issue or a change in behavior specifically for the CMake generator with the new U3 series in this version of CubeMX.Environment details:MCU: STM32U375xxSTM32CubeMX Version: 6.16.0Toolchain: CMakeHas anyone else encountered this problem? Is there a specific configuration I should check in the Project Manager to ensure the linker script is included in the CMake output?Thanks for your support!Best regards,Gianni
Hi all,I am a beginner working with the STM32N6570-DK development kit using STM32CubeMX(V6.16.1) and STM32CubeIDE (v2.0.0). I am looking to deploy an AI model from the ST model zoo and need guidance on the proper configuration for integrating the camera and display modules. Could anyone provide a step-by-step cub MX project configuration for camera and display interfacing. RegardsSradha
HiI am new to display and camera interfacing, as well as the STM32N6570-DK. For a project, I want to display the output from the camera (come along with STM32N6570-DK) into the display included with STM32N6570-DK. Could you explain the necessary configurations in STM32CubeMX and how to write the code in STM32CubeIDE to interface these components?My Tool version infoCube IDE 2.0.0Cube MX 6.16.0Best RegardsRanjith
This fault is still happening since Oct 2024. However I found a workaround documented here -->https://stackoverflow.com/questions/78850472/stm32cubeprogrammer-flash-loader-cannot-be-loadedIn case the link has died, you need to do the following...Connect STM32CubeProgrammer to your STM32 device and note the "Device ID" listed in the "Target Information" window bottom right of the CubeProgrammer app, e.g. for an STM32F103 this will be 0x410.cd into your "STM32CubeProgrammer/bin/FlashLoader" folder.duplicate the file that matches your device ID (e.g. for an STM32F103 the file would be 0x410.stldr)and then rename the duplicated file "0x".Then restart STM32CubeProgrammer and it will now work properly.
Hello,I have the issue that the FlashLoader is detected but not set correctly. The error message is:flash loader cannot be loaded. FlashLoaderPath = CubeProgrammer/bin/FlashLoader/0xAs a workaround I can create a copy of the correct FlashLoader and name it 0x, but I think this should work automatically. I am running on Linux and the issue exists for several versions of CubeProgrammer and on multiple Linux distros for me. My current version 2.21.0.The issue is really annoying if you switch boards and forget to copy-rename the correct FlashLoader.
I am using STM32Cube IDE version 1.4.1 where I'm debugging 1st the CM4 Core which is getting debugged and then I tried to debug CM0+ core which is not going into debug mode and showing the error :Target unknown error 32Error in initializing ST-LINK device.Reason: Unknown. Please check power and cabling to target.I tried this tooLaunching the configurationsLaunch the Cortex®‑M4 configuration to download both the Cortex®‑M0+ and Cortex®‑M4 images.Resume the Cortex®‑M4 core until the C2BOOT bit is set in power control register 4 (PWR_CR4) to enablethe Cortex®‑M0+.Launch the Cortex®‑M0+ configuration using the arrow next to the debug icon. The Cortex®‑M0+ is in therunning mode and the user can halt it after the debugger is started.The core CM4 got into debugged mode but then the Core CM0+ is showing :Debugger ConnectedWaiting for debugger connection...Debugger ConnectedWaiting for debugger connection....Debugger ConnectedWaiting for debugger connection...Why is it so?Where is the problem.
I got an angle encoder with SSI interface, which is Synchronized Serial Interface. The output data is 21-bit. No CS signal is needed.I have implemented using SPI1 master mode RX only reading this encoder, with SPI_CLK as the serial clock and SPI_MISO for data input. The data size to read is set to 3 bytes, but the clock is transmitted one more byte as intended. HOW DID THIS HAPPEN? Does the SPI send a dummy address on receiving?The clock is generated immediately upon calling __attribute__((aligned(4))) uint8_t raw_angle[16] = {0}; HAL_SPI_Receive_IT(&hspi1, raw_angle, 3);The data captured by logic analyzer:The CubeMX setting is as below: I found that SPI_SR_RXNE is left triggered after 3 bytes read by the HAL API, so I have to clear the flag before calling HAL_SPI_Receive_IT. while((SPI1->SR & SPI_SR_RXNE)){ SPI1->DR; } HAL_SPI_Receive_IT(&hspi1, raw_angle, 3); I have also tried DMA mode using HAL_SPI_Receive_DMA(&hspi1,
Hello,I am currently using the X-NUCLEO-53L7A1 expansion board together with the NUCLEO-F401RE development board.I would like to add a Bluetooth module (HC-05 or HC-06) to this setup in order to transmit measurement data wirelessly.Could someone please advise on the following:What is the recommended way to connect an HC-05/HC-06 module to the NUCLEO-F401RE when the X-NUCLEO-53L7A1 expansion board is mounted?Are there any potential hardware conflicts (e.g., UART pin usage, power supply limitations, or pin mapping issues)?Are there any known compatibility or performance issues when using the Bluetooth module together with the VL53L7CX sensor?
Split from STM32H503 incorrectly marked as having CORDIC/FMAC - this is a different topic.Thank you, I will try this.But in the meantime, the Windows standalone MCU Finder app has just become broken.Selecting any entry of the PRODUCT INFO -> Segment options, return no results. i.e. if I reset, then choose STM32H5 series, or STM32U5 series, no results are shown. This definitely used to work. The Android app still works, but still shows the incorrect H503 entries.
Dear ST Support Team,I am currently working on verifying a LoRaWAN proof of concept using STM32 hardware.My setup consists of a LoRaWAN end node and a gateway connected to the Loriot network server. From the Loriot dashboard, I can confirm that the gateway comes online successfully whenever powered and is in a ready state, waiting for packets.However, my end node has not been able to successfully join the network.I have carefully verified the following possible causes:Frequency configuration (ensured no mismatch between node and gateway region)LoRaWAN region settingsDevEUI, AppEUI (JoinEUI), and AppKey configurationNetwork activation method (OTAA)Gateway operational status on Loriot dashboardAll parameters appear to be correctly configured, yet the end node consistently fails to join.I would appreciate your guidance on:Additional debugging steps to determine why the join procedure is failing.Recommended methods to confirm whether Join Requests are actually being transmitted from the en
Hi I am just getting started with STM32CubeIDE for a project I am doing at my university!I have made an account and installed the software, and I got the board (NUCLEO-L552ZE-Q), I wanted to start a new project with the board to try and blink and LED.But somehow I cant find it anywhere where to create a new project that is not an empty project because I want my board automatically connected to my project, because I have read some online where they said a question "Initialize all peripherals with their default Mode?" will appear once you created a new project and want to connect the board.The alternatives I get when pressing Create/Import STM32 Project is:1. STM32CubeIDE Empty Project2. C++ Project3. C project4. STM32 CMake ProjectPlease let me know if I have done something wrong with the installation or if there is something I missed.Thanks in advance!
DescriptionHello, I am using STM32F411RET and STM32F407ZGT microcontrollers.Using STM32CubeMX, I configure a PWM output on GPIOB Pin 8 using TIM10 Channel 1.After code generation, the following GPIO initialization code is produced: GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF3_TIM10; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); The PWM output works correctly on hardware.However, when full assertions are enabled by defining USE_FULL_ASSERT, an assertion failure occurs inside HAL_GPIO_Init() at the following check: assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); After inspecting the IS_GPIO_AF() macro for STM32F4 devices, I noticed that GPIO_AF3_TIM10 is not included in the list of valid alternate functions, even though TIM10 uses AF3 on STM32F4 devices and is correctly generated by STM32CubeMX.This causes a false assertion failure when using
I'm connecting a 12-Way rotary switch to an STM32G071 as shown:Board room is extremely limited, so I'm using the MCUs built in Pull Ups. However when I read the lowest four bits of PORTD->IDR (for switch positions 7,8,9 and 10) it reads 0xA when it should read 0xF (The rotary is at position 1, so PORTD0:3 should all be pulled up).Cube MX confirms PULL UP is enabled for all switch inputs:The only other peripherals enabled on the chip are DAC output on PA4 and GPIO Output on PA15I have carefully examined the board, and there are definitely no shorts to ground, and the switch it operating perfectly.If I measure the voltage on all the PORTD0:3 pins, all are pulled up to 3.3v except PD0 and PD2, when they should be.Any suggestions?
we are facing after migrating our design from STM32F405ZGT7 to STM32H743ZI.We have an automotive application where a horn load creates significant EMI transients. With our previous design using STM32F405ZGT7, the system was stable and did not experience any MCU freezing or malfunction during horn activation.However, after migrating to STM32H743ZI — while keeping the PCB layout, grounding strategy, power architecture, filtering components, and external circuitry identical — we began experiencing intermittent MCU freezing during horn actuation.After extensive debugging and hardware validation, we observed the following:The issue only occurs when ST-Link is connected.When ST-Link is disconnected, the system behaves significantly more reliably.The noise appears to be injected through the ST-Link interface path.The horn generates high transient noise despite having local snubbers and filtering.We have already implemented:RC snubber across the horn loadEMI input filtering near MCU supplyProp
I have created my secure boot demo project on STM32H563ZI using the link below.https://wiki.st.com/stm32mcu/wiki/Security:How_to_start_with_STM32CubeMX_OEMiRoT_Boot_path_on_STM32H563During provisioning, the secure image is signed by the TPC (STM32TrustedPackageCreator) tool. TPC supports the standard MCUboot signing process: calculating SHA256, generating the firmare image signature TLV (e.g., ECDSA256 0x22) using the specified private key, and adding standard TLVs. All these work just fine with the TPC tool.Now, I need to append a full public key (IMAGE_TLV_PUBKEY 0x02) as an additional TLV into the image. And one more layer of TLV (IMAGE_TLV_ECDSA256 0x22) for the signature of this pub key. Does TPC support custom TLVs by changing its config file (e.g., OEMiROT_S_Code_Image.xml)?I acually couldn't find ways to do that via TPC, so I switched to use imgtool. imgtool sign --key "C:/Work/nucleo_h563zi/Secure/ROT_Provisioning/OEMiROT/Keys/OEMiROT_Authentication_S.pem" --header-s
I have a NUCLEO-F030R8 development kit and an X-NUCLEO-WB05N-B01 (STM32WB05N) expansion board.I am using an ST-Link V3 for programming and debugging.I believe that I have connected the boards according to the official X-CUBE-WB05N Getting Started documentation (v1.1.0). The wiring, pin mappings, and configuration settings have been done based on the document.I am trying to communicate between the NUCLEO-F030R8 (host MCU) and the STM32WB05N over SPI.The SPI pins, IRQ, and reset connections are configured according to the documentation. However, in this setup, the STM32WB05N does not appear to reset properly, and SPI communication cannot be started.On the STM32CubeMX side:The X-CUBE-WB05N v1.1.0 expansion package is selectedSPI configuration and pin assignments are set as described in the documentationI understand that, as a first step, the correct DTM / firmware binary (.hex or .bin) located in the Utilities folder must be programmed into the STM32WB05N using STM32CubeProgrammer. Howeve
We are pleased to announce that STM32CubeIDE 2.1.0 release is available. What is new in 2.1.0: Added support of STM32C5 series Added support of new microcontrollers across the STM32WBA, STM32WL, STM32H5, STM32U3 and STM32F7 series Added support of new boards: NUCLEO-C542RC, NUCLEO-C562RE, NUCLEO-C5A3ZG, NUCLEO-WBA25CE1, NUCLEO-H5E5ZJ, STM32H5F5J-DK, and NUCLEO-U3C5ZI-Q Support of auto-refresh on imported projects (created initially outside CubeIDE): The updated project source code is auto refreshed at STM32CubeIDE side Support of CMake presets: Providing an easy way to configure the CMake-based project using a JSON file Support of GCC 14 toolchain as default toolchain: Libncurses5 is no longer needed for GDB on Linux Support of Apple® Silicon with ARM64 architecture: Performance enhancement Update to STARM-Clang 21.1.1: Improving code quality, diagnostics and standards conformance Main fixed issues in 2.1.0: Refer to the STM32 microcontroller wiki at: https://wiki.st
I noticed two holes at Bottom of the MCU area on the STM32G4 Nucleo board. What is their purpose?
We are pleased to announce that version 6.17.0 of STM32CubeMX is available. What is new in 6.17.0: Added support for new microcontrollers across the STM32WBA, STM32H5, and STM32U3 series Added support for new boards: NUCLEO-WBA25CE1, NUCLEO-H5E5ZJ, STM32H5F5J-DK, and NUCLEO-U3C5ZI-Q Added the Start From Board feature for NUCLEO-U3C5ZI-Q, NUCLEO-H5E5ZJ, and NUCLEO-WBA25CE1 Added support for new features: PLAY on STM32H5 devices with 4 Megabytes of flash memory HSP on STM32U3 devices with 2 Megabytes of flash memory STM32CubeMX Notification Service: allows users to subscribe to notifications, updates, or premium content when downloading or installing STM32 software. The subscription to this service is entirely optional and is not mandatory for downloading or installing the software. Enhanced the memory management tool for the STM32N6 series Implemented the use of the CMake build generator with STM32MP2 projects Enhanced the build process using CMake
Our current product uses the STM32H533 microcontroller and password based Debug Authentication. We have a need to generate a large number of different DA passwords and corresponding OB Keys provisioning data. This is possible by creating our own tool to generate OB Keys .xml files and passing those into the STM32TrustedPackageCreator_CLI.exe tool, but it would be nice to cut out the .xml files and need to use the Trusted Package Creator tool. Given that the input .xml file contains a 'hash' tag and that output .obk file contains 512 bits of seemingly random data, I suspect this is a SHA-512 of the password, however I cannot manually re-create the same hash. I've attempted padding the password to various different lengths, with various different values, additionally including the additional bytes that are included in the created 'password.bin' file that accompanies the .obk file. What process/data goes into creating the contents of the .obk file? Is
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.