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
Is there a guide that shows how to set up a CDC USB device on the STM32N6 without using ThreadX in baremetal mode? I've tried following both, but it seems to hardfault on both examples crash at __lib_init_array(). I've tried increasing the stack and heap sizes to no success:https://community.st.com/t5/stm32-mcus/how-to-use-stmicroelectronics-classic-usb-device-middleware-with/ta-p/599274 https://community.st.com/t5/stm32-mcus/how-to-implement-usbx-in-standalone-mode/ta-p/614435 It's frustrating that the old USB_Device middleware got removed. We shouldn't be forced to use an RTOS where it is not needed...
Hello,I am using STM32H7B3LIH6Q and planning to interface a TFT display via LTDC (RGB interface). I am considering the following options:NHD-4.3-800480CF-ASXP (4.3", 800×480, RGB)NHD-4.3-480272EF-ASXP (4.3", 480×272, RGB)NHD-3.5-320240JF-ASXP (3.5", 320×240, RGB)Kindly suggest:Which TFT is most suitable for STM32H7 in terms of performance and ease of integration?Is 800×480 the preferred resolution for LTDC + TouchGFX applications?Do these RGB TFT displays support HDMI interface directly?If HDMI output is required, is using an external RGB-to-HDMI bridge (e.g., ADV7511) the correct approach?Thanks.
I am currently working on the STM32N6570-DK board and need guidance on FSBL configuration, multi-layer project structure, and external flash programming.Issue 1: FSBL Peripheral ConfigurationI enabled multiple peripherals in FSBL:USART1, I2CBSPXSPI1, XSPI2CSI, DCMIPPVENC, JPEGAfter enabling these, I am getting an "unsupported relocation" error.Kindly guide:Which peripherals are recommended to enable in FSBLWhich peripherals should be initialized in the Application layer insteadProper distribution of initialization between:FSBLApplicationExternal Memory LoaderIssue 2: Multi-Layer Project UnderstandingCurrently, the project has:Three separate layers (FSBL, Application, External Loader)Each has its own startup file and main functionI would like to understand:How these three layers work togetherExecution flow between FSBL → ApplicationHow memory mapping and control transfer happenThere are three separate build outputs—which one should be flashed?How will all three sections work together in
ProblemInstalled version 1.17 of the stmcube ide. Need the .ioc code generation feature to work. The most convenient way to do this is to login so the ide can download firmware. I have tried to login. Login failed multiple timesTried1. Turn off firewall2. Run STMCube IDE as adminstrator3. Run installer as administrator4. Use mobile hotspot5. Installing newer and older versions of STM6. Installing the program on a different PCNone of the above options worked
I am using STM32CubeIDE version 1.19.0, and I am encountering a network-related issue.ProblemI receive the error:“Authentication Error Manager – Connection lost”Troubleshooting doneVerified that my internet connection is working properlyTried using a mobile hotspot instead of Wi-FiChecked connectivity in the Firmware Updater (status shows OK)System detailsOS: Windows 11 Pro Laptop: Lenovo ThinkPad T14Board: STM32F407VGT6 / STM32F407 DiscoveryAdditional contextEven though the Firmware Updater indicates a valid connection, the authentication error still occurs across different network setups.QuestionWhat could be the cause of this authentication/connection issue in STM32CubeIDE, and what steps can be taken to resolve it?
Hi,We are currently developing a solution based on the STM32WBA65RIV6 MCU, and we would like the internal RTC to remain active while the MCU is powered down.We assume that this is possible, and we would like to clarify the following points:For how long does the RTC retain its values after the MCU is powered down (by default)?Is it possible to connect a backup capacitor or battery to supply only the RTC or part of the MCU in order to extend the retention time?We also want to know if there is any documentation available on this topic. We have not been able to find detailed information.Thank you in advance.Best regards,Luis
Hi to everybody,I have a annoying problem with Teseo-liv3f (on Astra1B). It can not find any sattelites. What I have:1. Chip is build in dev kit from STM Astra1B, so there is no problem with layout, wrong antenna, etc. 2. I'm using as reference hex files from example project provided by STM: "CustomUC"3. Kit is placed under sky, so it can see sattelites.4. I have 3 pcs. of such kit, both can't see sattlites5. On all devices, I program (at the beginning) my compilation of my firmware. When I realise that it can't see sattelites, I reprogram then flash by hex delivered by STM (CustomUC). Still can't see sattlites (I'm using on console command !gnssreport-on). Maybe during programming my version of firmware, I damaged some configuration bytes??6. I though that maybe amplifier on gps antenna is off (ANToff pin13), but there is 3.3V, so seems to be OK.7. Now, I detach on one device TX and RX of Teseo-liv3F, and I connect them (through serial / usb converter) to computer. I'm using now
I am using STM32CubeIDE for a project using custom hardware with a STM32G0B1CBT6.I recently hit a bug where my code was doing a 32-bit write to an address that wasn't on a 32-bit boundary (off by 2 bytes) and a Hard Fault was generated.I've corrected the code to avoid this, but this same code worked OK on an earlier project - which used Keil uVision and a STM32F103C8T6.I've seen references to compiler options to control this behavior, but I've not found them in CubeIDE or Keil. Am I wrong here? Or can someone point me to where those options might be? Or is this some kind of difference between these two chips?Also: I'm on the fence about whether this is a good feature or not. On the one hand, avoiding unaligned memory seems fairly easy. On the other hand, Hard Faults really cause havoc in my world.
In STM32CubeIDE, I can compile C++ code in the project. The CMake file generated for the VSCode extension doesn't work with C++. Is there a way to use C++ code with less hassle than trying to get around this by hand?
Hi,I am working with the STM32WB5MMGH6TR and would like to achieve the following:Stream GATT data to a mobile phoneSimultaneously play simple audio to BLE earbudsThe audio requirement is modest: a tone that rises and falls in a sine-wave pattern (no music, no complex audio, no high-quality audio). The frequency should sweep between 500 Hz and 2 kHz, with a modulation rate of up to 60 Hz.Is this feasible using the standard ST BLE stack for the STM32WB5MMGH6TR? The key requirement is that both operations run concurrently.If it is possible, could you please outline the recommended approach?Thank you as always.
Hi all, I am trying to implement simple USB-FS communication on a BlueCoin board (STEVAL-BCNCS01V1). I am following the official STM tutorial on USB CDC and referencing the official SW package for BlueCoin. So, for USB I need PLL source from HSE clock: BlueCoin schematic shows that there is a crystal oscillator @16Mhz (NDK NX2520SA) installed directly on the board, so I configured RCC HSE as Crystal/Ceramic Resonator; the problem is that the function HAL_RCC_OscConfig(&RCC_OscInitStruct) in SystemClock_Config retrieves HAL_TIMEOUT as a result. Timeout value is default at 100ms. Clock configuration in STM32CubeMX is as suggested in the official USB tutorial: My current debug configuration has BlueCoin connected via SWD to a NUCLEO-G0B1RE, as suggested in UM2240 (see page 14). Could you please help me? Am I missing something? Thanks to anybody who can help!
Hello,My end node activation mode is OTAA, and is supposed to enter shutdown mode and wake up after a specified period of time period, in order to save power, the end node should skip joining the network at every wake up. I was able to skip the joining process by switching the activation mode from OTAA to ABP after the first join process, but after that, the server did not receive every packet sent from the end node like it used to when i was working with OTAA I doubt this is a good solution since a lot of packets are lostMy questions are:1) What do you think of my solution? is it missing something?2) What are my options if I want to stick to OTAA while skipping the joining process?3) Should I just go with ABP?
Can force a specific DR for LoRaWAN?I tried using: uint8_t custom_dr[7] = {0};custom_dr[3] = 1;lorawan_api_dr_strategy_set(USER_DR_DISTRIBUTION, STACK_ID);lorawan_api_dr_custom_set(custom_dr, STACK_ID); but did not work.
Hi, I am experiencing a bug in the latest version of the Extension for VS Code. As soon as I open the extension I receive this message:"Unable to contact the STM32Cube registry, verify your Internet connection..."If I run "cube bundle list-online" in the terminal I get this:cube bundle list-online Download attempt 2 out of 5 for https://developer.st.com/bundles/BundleRepositoryIndex.json ... Download attempt 3 out of 5 for https://developer.st.com/bundles/BundleRepositoryIndex.json ... Download attempt 4 out of 5 for https://developer.st.com/bundles/BundleRepositoryIndex.json ... Download attempt 5 out of 5 for https://developer.st.com/bundles/BundleRepositoryIndex.json ... Failed to list available online bundles: Failed to download bundle repository index: Failed to send request: error sending request for url (https://developer.st.com/bundles/BundleRepositoryIndex.json)But if I install the STM32Cube Core - Version 1.1.0, everything works fine:cube bundle list-online Name : P
Hi ST, This is just to let you know that STM32CubeMX version 6.17.0 does not generate correct cmake file for the STM32WL33 and this error results in the microntroller not starting up correctly but hangs in function SystemInit() in system_stm32wl3x.c. The problems is that the wrong is -mcpu is generated. The problem can be found in the file -> path/to/dir/cmake/gcc-arm-none-eabi.cmake # MCU specific flags set(TARGET_FLAGS "-mcpu=cortex-m4 ") // wrong for the WL33 # MCU specific flags set(TARGET_FLAGS "-mcpu=cortex-m0plus ") // correct for the WL33 Ola
Hi everyone,I’m currently working with STM32 Secure Boot and Secure Firmware Update (SBSFU) and integrating it with my custom application. I’m trying to design the project in a modular and scalable way for long-term use, and I would really appreciate some guidance from those who have worked with SBSFU in production. Current ScenarioMCU: STM32 (Cortex-M series)Bootloader: SBSFUApplication: Custom firmware using HAL, middleware, and CubeMX-generated codeDevelopment tool: STM32CubeIDE Challenges I’m Facing1. Shared Drivers & MiddlewareBoth my bootloader and application require:HAL DriversSome middleware components What is the best way to manage duplication vs sharing?Should bootloader and application maintain completely separate copies of Drivers/Middleware?Is there any recommended way to keep them in sync without tight coupling? 2. Impact of .ioc ChangesI use CubeMX via .ioc for peripheral configuration.If I:Add a new peripheralModify clock or pin configurationHow
Hi, I tried exporting the IBIS model from ST website. On importing model to SI tool I can see that there is no model assigned to DSI lines. It is showing NC. Can you share the IBIS model with MIPI drivers in it. or share some IBIS model which I can use for my simulation of MIPI line interface
Good Evening,I am a student doing a capstone project, and I have been having a massive headache with the STUSB4500 PD negotiator. I am using it to pull 15V at 3A from a power brick so I may power a handheld device downstream. We utilized a recommended layout from the datasheet itself so that we may program it ourselves. Attached below.The good news is, it can sustain loads and power our project... but the bad news is these chips have up and died about as randomly as a carnival prize goldfish, attached are pictures of my layout and schematic for this section of the board. Apologies for any amateurish mistakes on schematic labelling and layouts. The trouble is that we can program the chip, and it stays stable for a long while. But out of nowhere, three times now, we will go to plug the board in one day, and the chip will be dead. I believe the chip to be dead since it no longer tries to negotiate the preset 15V like we wanted, the 2V7 and 1V2 lines are seemingly dead, and
Hi Team,I have successfully integrated and run SBSFU with my custom application, and it is working as expected.Currently, I am transferring the .sfb file .via USB to the DWL_SLOT. Once the transfer is complete, I trigger a reset using NVIC_SystemReset(), and the process works fine.I have a few questions regarding the .sfb header. It contains fields such as:FW Tag (SHA-256)Header SignatureFirmware Size (FwSize), etc.My questions are:Using FW Tag (SHA-256) for validationIs it possible to use the FW Tag (SHA-256) to validate the received image in the DWL_SLOT before performing the reset?If yes, could you please guide me on the correct process to implement this?Current CRC-based approachAt present, I am calculating a CRC for the .sfb file after it is generated by the Python script. I then transfer both:The .sfb fileA separate CRC fileOn the firmware side, I recompute the CRC from the received data and compare it with the provided value. If it matches, I proceed with
Hello I'm trying to wire up the STM32G0B1CET6N and I don't know how to use the VDDIO2 pin. What is it for and how should I wire it?
Hello!I have a custom board with STM32F746VGT6 MCU, LAN8742A Eth PHY and Ethernet socket. I would like to implement MQTT communication in my project with my board as a client. I am familiar with LwIP and FreeRTOS and use both of these libraries in my current program.I already tried using WolfSSL and WolfMQTT (and succeeded to some degree), but it wasn't very pleasant experience and I had to manually copy and change many files to make it work. I want to rewrite the MQTT implementation as the current one doesn't work very efficiently, but I don't really know where to start. I'm grateful for all suggestions!
Hello,I am trying to port the official BLE_Ota example from STM32CubeWB (WB55 project) to an STM32WB30 device, but I am facing multiple compilation issues after importing the project into STM32CubeIDE.After configuring STM32_WPAN and generating the project for STM32WB30, I get many errors such as:RTC_HandleTypeDef unknown typeIPCC undeclaredFLASH_ECCR_* undeclaredSCB_* undeclaredLL_* functions not declaredHAL and LL drivers missing or inconsistentIt seems like the project is not correctly recognizing the STM32WB30 device definition, and many peripherals (RTC, IPCC, FLASH, RCC) are not properly included or enabled.I already tried:Adding STM32WB30xx define in the compiler preprocessorEnabling STM32_WPAN middleware (BLE stack full mode)Checking stm32wbxx_hal_conf.hHowever, the issues persist and the project still behaves as if it is partially configured for STM32WB55.My questions are:Is the BLE_Ota example officially supported for STM32WB30, or only for WB55?Are there any specific limitat
I want to vary the duty cycle of two adjacent DAC values of an STM32G473. I am using DAC1 channel1 and channel2 for the output. I want to load DAC1s DHR12Rx registers via DMA when TIM3 hits output compare values. I set up a memory to peripheral transfer for each TIM3 channel and set the CMAR and CPAR registers to the memory location of the DAC values and the peripheral addresses of the DAC DHR12Rx registers. I have been able to make this configuration work for making the TIM3 OC events trigger loading of TIM20's CCR registers from memory, but so far, the DMA transfer won't load the DHCR12Rx registers for the DACs. Are there additional configuration settings to make this work? CubeIDE\HAL has configuration options for initializing the DAC in DMA mode, but I need multiple triggers the make the duty cycling work.
HiI've been trying to understand what level of support is available for the H573 security features in Zephyr RTOS with mcuboot but either can't find any information or no one replies to my comments.I have a Zephyr sysbuild build working where mcuboot starts, validates the singed application in slot0 and proceeds tp boot from slot0.What I can't find or confirm is if that security features of the STM32H573 are being used or not. There doesn't seem to be any configuration relating to enabling or disabling the features.Are the security features enabled in Zephyr for the H573?I'm using the latest 4.2 version of Zephyr.CheersDave
I have an old Ubuntu 18.04 system which allows STM32CubeIDE to run, but the STM32_Programmer failed because libm.so and libc.so were wrong. I found glibc-2.30 and copied the libraries into the same directory as the STM32_Programmer lib. Now I just get a seg fault, even when trying to just get the version number:bin/STM32_Programmer_CLI --version Segmentation fault (core dumped)Is there any way to figure out what might be the problem?
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.