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
So apparently in 2026, creating a basic embedded C project now requires… a login.Tried spinning up a project in STM32CubeIDE and got a nice “half-built” result:Project created ✔Code generation :cross_mark:Explanation :cross_mark:Turns out the IDE now needs to quietly download the HAL/CMSIS packages, which in turn requires a myST account login… but:It doesn’t tell you thatIt doesn’t prompt you (on Linux at least)It just silently fails and leaves you debugging yourselfSo you end up thinking:“Did I misconfigure the clock? The linker script? The .ioc?”Nope. You just weren’t logged into a website.Nothing says robust embedded tooling like a hidden cloud dependency for generating main.c.Bonus points for the UX where the “login” option is buried under:Help → STM32Cube Updates → Connection to mySTBecause obviously that’s the first place you look when your GPIO project won’t build.Anyway—manual firmware download and local install fixes it. Once you discover the secret handshake.Progress :thumbs_
I need to do keyword spotting and for that I'm trying to classify using CSV files, but they end up being very large because there are so many files. Is there another type of file I can put in NanoEdge or another way to do this?
Hi @Ghofrane GSOURI. I just noticed new STM32CubeMX2. It's for STM32C series currently but I downloaded it to check it out. It looks very nice, that's for sure. Yet this topic is about file format. MX2 re-uses .ioc file extension but it's format is strange. It is made of JSON/Python?? multiline strings containing JSON and YAML. I don't understand what format is it exactly. The data inside it is also hard to understand and there is a lot of clutter, like IDs, URIs, URLs, descriptions, etc. Why on earth would somebody put field description text beside field name and value?If I may express may opinion - this is awful. It's even worse than old format. It won't be easy to merge changes in such file. It looks like it's a mash-up of multiple tools/libraries serialized states. CubeMX developers are going to have backward and forward compatibility problems and end users are going to suffer if bugs emerge.I would like to suggest one more file format: TOMLEdit: Moved from New IOC file f
Hey Team, Another day with a different problem.We have reached the point where we have to migrate to either XIP or LRUN in the life cycle of our project.We choose to do XIP and set up the External memories appropriately , For this workflow, we are using the the stm32N6DK, and MX66UW1G45G_STM32N6570-DK.stldr for starters.We have set up the debug session as indicated in the Getting started with STM32N6 MCUs in STM32CubeIDEAttached are theDebug logs from some of the debug sessions.The content of my linker scripts (FSBL) and (APPLI)Screen shoots of debug configurations . Spoiler (Highlight to read)Our debug sessions fail straight from the beginning as shown int the debug logs.Our debug sessions fail straight from the beginning as shown int the debug logs.Note: At some point the debug session worked okay,Every time it worked I had not to have break points inserted in the application project.I am currently inclined to think the issue is with the IDE debu
My USB ECM project on NUCLEO-U575 and NUCLEO-U5A5 - it works now, on all OS platforms.https://github.com/tjaekel/STM32U5xx_USB_ECM This project and demo for a STM32U575I-EV (where I have converted from) needs a vendor driver on Windows.Windows does not support USB ECM (or USBLAN, just RNDIS, but it is different). There is not any driver to use USB ECM on Windows, except: Belcarra USBLAN demo driver.Dear STM Team:please, could you consider to license the Belcarra USBLAN driver for Windows?http://usblan.belcarra.com http://www.belcarra.comIt would be nice, when STM (or AZURE RTOS - Microsoft), providing a demo for USB ECM, that it can be used also on a Windows OS host.Please, license such this driver and provide it together with CubeMX (and demos, HAL drivers). Thank you.Remark:In order to make it really correct working on all OS platforms (esp. Windows OS), a small fix in file "ux_device_descriptors.c" is needed (see the modification in the GitHub projec
I configured a nucleato-L152RE LED program using CubeMX6.17+STM32L1 Firmware Package V1.10.6 and found that the program kept restarting automatically. After adding the following code to the SystemInit() function generated by CubeMX, the problem was solved. What is the reason for this? And my other projects never need to include this line of code, such as F103, F411, G431, L051, and so on.SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
Are the pin configurations for TSV321RAILT and TSV321RILT exactly the same?I'm having trouble finding this information in the datasheet.
Hi I'm using STM32F411RET6 MCU. I tried to connect using the programmer to download the firmware, but there was an error as shown below, and the data cannot be read. 13:18:34 : UR connection mode is defined with the HWrst reset mode13:18:34 : ST-LINK SN : 54FF7106788056521117016713:18:34 : ST-LINK FW : V2J45S713:18:34 : Board : --13:18:34 : Voltage : 3.22V13:18:34 : SWD freq : 4000 KHz13:18:34 : Connect mode: Normal13:18:34 : Reset mode : Software reset13:18:34 : Device ID : 0x43113:18:34 : Revision ID : Rev A13:18:34 : Debug in Low Power mode is not supported for this device.13:18:34 : UPLOADING OPTION BYTES DATA ...13:18:34 : Bank : 0x0013:18:34 : Address : 0x40023c1413:18:34 : Size : 8 Bytes13:18:34 : UPLOADING ...13:18:34 : Size : 1024 Bytes13:18:34 : Address : 0x800000013:18:34 : Read progress:13:18:34 : Error: Data read failed After that, the firmware will not be downloaded, and the message core is locked up.I checked that it was a problem related to RDP, and it wa
We have successfully tested the ST67W6X Network Driver CLI example on a NUCLEO-U575ZI-Q with X-NUCLEO-67W61M1 development boards.We would like to port the example to an STM32F746.However, this is not simple due to the tight timing constraints required by the ST67W6x - e.g. the examples utilise the advanced SPI DMA available in the STM32U5xx family.Searching the internet shows other developers noticing dropped data on other processors. There are also reports that the following requirements must be met:Respond within ~30us of SPI_RDY going highNo breaks of more than ~2-3us in the DMA while streaming the SPI data.Do you have an example port for the STM32F746? Or at least on a processor with similar limited DMA capabilities?
I am working with the STM32N6-GettingStarted-ObjectDetection demo. I found that doing a full chip erase wipes some bootloader code. I was able to get my project going again by flashing the .hex file that came with the STM32N6-GettingStarted-ObjectDetection demo, the loading my code. Digging around on the net suggested that the prebuilt demo has a bootloader. I have been unable to locate the bootloader.Can you provide me with the bootloader, preferably as a .hex file?
I have connected X-STM32MP-GNSS1 with my STM32MP157F-DK2 board. I have connected it directly to serial COM port on windows to use Teseo-suit. I updated the firmware for TESEO-LIV3FL to STA8090_4_6_15_1_CP_LIV3FL_UPG48 by using Teseo-suit. I still can not see my correct position on map. Can anybody please help?
Hi ST Community,I am working on a project using the SensorTile.box Pro. My goal is to implement a highly accurate step counter using the LSM6DSV16X's embedded pedometer.What I have done:I recorded data patterns at 30Hz and successfully ran the Pedometer Regression Tool in MEMS Studio.The tool generated the optimum configuration files (pedometer.json ).I converted these register settings into a .ucf file format.The Problem: I need to apply these "Golden Settings" to the sensor initialization in AlgoBuilder so they persist after a reset. However, I am unable to find a standard method to load this configuration:I checked the Sensor Hub block properties, but I do not see a "Load Configuration/UCF" option.I searched the Library for a "Register Write" block to manually input the values, but this block seems missing or hidden in my version of AlgoBuilder (I only see Acceleration, FSM/MLC, Sensor Hub, etc. under the Sensor Hub folder).My Question: What is the correct way to inject a custom reg
Hi, I am using STM32U385CGU6 with 1.8V supply. My GSM peripheral using the 3.3V Uart port for a dedicated time (2sec) then turn back to 1.8V level of UART. Could you offer 3.3V tolerant pin? I am using PA8 to communicate with GSM module. thank you & best regards, feramuz karşil
Heyho,using L073 at 32MHz, so even I2C transfers "seem" fast, at least in "fast mode plus" at SCL 1 MHz. And I don't want to over-use clock stretching.I'm looking for a way to use I2C slave receive with DMA, but an unknown transfer length.Right now it looks to me as if I could do the following:I2C & DMA prep: all stuff & addresses set, DMA in I2C enabledon I2C ADDR match interrupt:set DMA CNDTR to max buffer lengthenable DMA on I2C STOP match interrupt:disable DMAAny problems with that?Have only 1 device for now...Thanks!
One of my friends noticed, that ST NRND'd not only the STM8, but also the whole STM32L1xx family.However, in contrast to STM8, the 'L1 are under the 10-year commitment program, so they should continue to be available in the next 9 years. JW
Hi,I've have to port an existing huge application from F4 to a H753 board. The F4 has PNOR the H7 dual QSPI flash.One task parses XML configuration data from PNOR flash. A second task stores data e.g. log data in same PNOR.Parsing configuration data use of string functions which require a memory address, while writing to QSPI requires indirect mode. This would require kind of flash memory management, which I guess is bit tricky to handle.I started using indirect mode only and DMA to read chunks of data into memory buffers before parsing it. This works fine. A QSPI read request can suspend an ongoing erase operation, so it is not blocked or delayed. Great.But compared to the PNOR read, the latency when reading data chunks into buffers in indirect mode drops the data processing performance. Therefore I want to check if using memory mapped mode is worth some time spent for investigations.I've read that QSPI read has a prefetch buffer. Is this mechanism available for data read too or only
I've built at least a dozen boards using the same communication interface -- a custom debug monitor for communication through stlink -- all on stm32l42x processors. The debug monitor looks roughly like the following code. Although the macros are for ChibiOS, their purpose should be clear.Basically, the host software, after attaching to the debug interface, communicates by passing small commands through DCRDR and getting 32 bit results (which may be memory addresses) in DCRDR. The DEMCR is used for triggering the monitor interrupt and the MON_REQ bit is used as a semaphore. This has worked great until now. I received prototypes of a new design. Reading/writing of DCRDR works fine, but writes to DEMCR have no effect. I can debug the code on the board with gdb, and I can write test code that triggers the monitor interface running on the board and even stop in the monitor with a breakpoint, but I don't seem to be able to write a value to DEMCR through stl
Dear All, Could you please share us a technical document to show us what was the exat meaning of "N" letter of your part BAT54CNFILM-H/J ? Actually we ordered 6K pcs of your part BAT54CFILM from Digikey and its Digikey part number is 497-3786-2-ND but received this part as its part number was written as BAT54CNFILM-H/J on the manufacturer label of this part and our customer needs to learn what is the meaning of "N" letter on this part number. So please provide us a document to explain this "N" letter as this informations is not available neither in digikey nor in its datasheet
Hi,I have few custom boards with STM32MP257 mostly running PTP related tasks. Once in a while (once in a few days of continuous run) I have noticed the following error in the dmesg (as it seems UART related - I have 4 UARTs enabled in the DT, while 3 of them have DMA enabled (the console one does not have the DMA enabled), but only one UART (other than console) is being used in the system for RX only):[251158.390476] Unable to handle kernel paging request at virtual address dead000000000108[251158.392934] Mem abort info:[251158.395854] ESR = 0x0000000096000044[251158.399679] EC = 0x25: DABT (current EL), IL = 32 bits[251158.405114] SET = 0, FnV = 0[251158.408235] EA = 0, S1PTW = 0[251158.411457] FSC = 0x04: level 0 translation fault[251158.416489] Data abort info:[251158.419408] ISV = 0, ISS = 0x00000044, ISS2 = 0x00000000[251158.425041] CM = 0, WnR = 1, TnD = 0, TagAccess = 0[251158.430173] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0[251158.435607] [dead000000000108] address between us
Hello I've been using a STM32L073RZ-Nucleo with a X-NUCLEO-IOD02A1 to test some functions and it works great. But the thing I'm wondering is if its possible to also add X-NUCLEO-PLC01A1 expansion board while using X-NUCLEO-IOD02A1 at the same time. What steps do i have to take take in software / hardware to make this function? I'm kind of a beginner so if you can just point me in the right direction to where I can find this information it would be very appreciated. Thank you!
Dear all,I have a working camera + video encoder solution running with LCD display disabled.I have one preview thread that displays camera data on the LCD, this thread can be suspended and restarted. While the first run looks fine, the output has a green tint from the second start on:First iteration: Second+ iteration: The code is quite straigh-forward, initializing the hw blocks as needed and freeing resources when it is stopped:void ui_thread_func(ULONG arg) { while (1) { run_ui(); // wait until being woken again: tx_thread_suspend(&ui_thread); } } #define FRAME_BASE 0x34050000 #define FRAME_SIZE ( 800 * 480 * 2 ) #define FRAME_0 (FRAME_BASE) #define FRAME_1 (FRAME_BASE + (FRAME_SIZE)) static void run_ui() { /* Initialize camera */ if(BSP_CAMERA_Init(0, CAMERA_R2592x1944, CAMERA_PF_RAW_RGGB10) != BSP_ERROR_NONE){ Error_Handler(); } /* start camera acquisition */ if(BSP_CAMERA_DoubleBufferStart(0, (uint8_t *)(FRAME_0),(uint8_t *)(FRAME_1), CAMERA_MODE
HelloI am currently developing an AC switch for a heating boiler in a coffee machine.The boiler has a power rating of approx. 1200W. To control the boiler, I have opted for a triac circuit (T1250H-6I) with an optotriac (14230634300) and ZCC. I used Application Note AN5114 to size the resistors. The description is generally excellent. However, I have a question regarding the voltage ripple on the triac. The note recommends a value of 4V. I cannot achieve this value with the standard resistor values available. My calculations give a voltage ripple of approx. 25V. Is that too much? Or what can I do to get down to the recommended value of 4V, triac with lower Igt?Best regardsJohn
Hi All,I’m working on a project using an 8-bit microcontroller connected to an ST25DVXXKC NFC chip over I²C. The standard NFC features are working correctly, and the code is already in production.Now I’m trying to implement Fast Transfer Mode (FTM) for OTA updates and bidirectional data transfer between the microcontroller and the NFC reader.I’m currently using ST’s ST25FTM library and the ST25DV64KC-DISCO Kit v2.2.1 package, but I’m confused by the available examples and documentation, which seem limited and unclear regarding how to properly port and use the library.In the v2.2.1 package, there is a Demonstrations folder containing two projects:ST25DVDemoUses ftm_demo.cCalls functions from the ST25FTM library & uses callback functionsST25DVDemo_FwUpgdUses mailbox.c and mailboxfunc.cAppears to implement Fast Transfer Mode using a single function FTMManagement(void)From my understanding:The first project is more library-driven (ST25FTM-based).The second project seems to implement FT
Hi, I want to acquire an audio signal from the microphone IMP34DT05 which is connected to the SAI interface of my STM32WB5MM-DK demo board in this way: L/R -> VDD; CLK -> SAI_CK2; DATA -> SAI_D2.The part number I chose is STM32WB5MMGH6TR in STM32CubeIDE. I faced difficulty with SAI interfacing. I tried to enable SAI_CK2 and SAI_D2 and configured SAI A in Pulse Density Modulation (PDM) mode for microphone pairs (1–2), using CK2 as the clock. I also added additional microphone pairs (3–4).I tried different configuration in the SAI_Init() function but in any case it doesn't work. This is the configuration I'm using: hsai_BlockA1.Instance = SAI1_Block_A;hsai_BlockA1.Init.Protocol = SAI_FREE_PROTOCOL;hsai_BlockA1.Init.AudioMode = SAI_MODEMASTER_RX;hsai_BlockA1.Init.DataSize = SAI_DATASIZE_16;hsai_BlockA1.Init.FirstBit = SAI_FIRSTBIT_MSB;hsai_BlockA1.Init.ClockStrobing = SAI_CLOCKSTROBING_RISINGEDGE;hsai_BlockA1.Init.Synchro = SAI_ASYNCHRONOUS;hsai_BlockA1.Init.OutputDrive = SAI_OUT
Hello, I'm using (ISM330DHCXTR) accelerometer to calculate the phase difference between two axes to measure the movement of a system. configured ODR at 6.6 KHz and measured the operation frequency of the system which has a 10% error while measuring the FFT and adjusted the ODR on the math lab logic to match the operation frequency of the system but still the phase difference has a major deviation, can someone confirm what is the ODR deviation on this sensor and how to correct the same on the firmware instead of modifying on the paired application.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.