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. It looks like the toolchain cannot cope with more than one GRU layer. There is an error, and we cannot resolve it in this application. Please send your log by copying and pasting it to share it with edge.ai@st.com and attach your model. Generate ProjectCopying previous project files from C:\Users\micha\Documents\Azimuth\ARM\STMicro\STM32CubeAI\workspace\soc_gru\.ai\run\run-3 to C:\Users\micha\Documents\Azimuth\ARM\STMicro\STM32CubeAI\workspace\soc_gru\.ai\run\run-3\.ai\generate\backupCalculating memory footprint...Run failed: Error: analyze error: NOT IMPLEMENTED: Slice on batch dimension not supported When there is more than one GRU layer, it is typical to stack the state and pass it in as one tensor.Then it is sliced apart within the model.But the Cube AI Studio software chokes on the slice since it is in the batch dimension.I suppose the intention is not to support unrolling in time, but in this case there is no such issue.Is there a work-arou
HelloI want to create sort of application that transmit and receive messages between 2 STM32F407 DISC0 and echo the transmited and received messages in PC screen(sort of chatbox)any hints how can I do it?and is it easier using USART or SPI?
Hi all,I was following this guide for CM55 validation, yet when I run stedgeai generate -m <model-file> --target stm32n6 --binary --address 0x71000000 --memory-pool ./mypool_N6.jsonIt does compile, but at the end, I have several files missing, such as network_config.h, network_data*, and network_data_params*. This is the output I am getting.I'd be glad if anyone has any idea how to fix it. Thanks :))
HelloI'am new to STM32 and i want to create project that interface with user using uart with serial monitori configured usart and used hal_uart tarsnmit function but it didnt work when the tutorial im following worked for himwhat can be the issue?
Hello All, I need some guidance from you. I have a project with an STM32 microcontroller, encoders with push buttons, USB communication (for firmware updates and communicating with a Windows app, etc). MIDI in out communication, digital potentiometers, and digital switches. Can someone help me, please, and take a look at my diagram to correct it before starting to make the prototype board? My experience with stm is really limited. I heard that a lot of decoupling capacitors are needed. Can you please give me some support and point out what I should correc tin the attached diagram? Thank you very much! Alex
I would like to ask for your guidance regarding the motor current setting under a specific torque condition.Based on the motor datasheet,I derived a linear torque–speed relationship and confirmed that, at a torque of 2928.86 gf·cm,the motor is expected to operate at 444 rpm, requiring approximately 6.6784 A according to the calculation.The assumptions and parameters used are as follows:No-load speed: 5000 rpmRated speed: 4000 rpmRated torque: 0.063 Nm (642.86 gf·cm)The derived relationship is:n = A × T + BwhereA = −1.55556, B = 5000At the target speed of 444 rpm, the estimated torque is:→ 2928.86 gf·cmThe required current was estimated using the torque constant calculated from the rated condition:Rated current: 1.7 ANo-load current (I₀): 0.3 AKt = 642.86 / (1.7 − 0.3) = 459.184 gf·cm/AUsing this value, the estimated current is:I = (2928.86 / 459.184) + 0.3 ≈ 6.6784 AHowever, when measuring the same motor using ST Profiler to obtain the Electrical Model and Mechanical Model, the result
1. Environment DetailsBoard: NUCLEO-F446RE (Cortex-M4)IDE: STM32CubeIDE Version 2.0.0Debugger: Integrated ST-LINK/V2-1Firmware Version: V2J46M33OS: Windows (Process path: C:\Users\salai\...)2. Problem DescriptionI am encountering a persistent debugger crash where the session terminates immediately after launch. Additionally, I am unable to rebuild the project due to a file lock on the .elf binary.Symptom A: Debugger Disconnection Upon clicking the "Debug" button, the console shows the GDB server starting, but it immediately terminates with: arm-none-eabi-gdb <terminated, exit value: 0> ST-LINK (ST-LINK GDB server) <terminated, exit value: 0>Symptom B: Build Error When attempting a "Clean" or "Build," the console reports: rm: can't remove '1_SYSTICK_TIMER.elf': Permission denied make: [makefile:79: clean] Error 1 (ignored)Symptom C: No Source Available After a full chip erase, the debugger points to 0xfffffffe with the message: No source available for "<signal handler cal
Hey, I made a pixracer clone using STM32F427VIT6, it works after i flash it with SWD using CUBE prog. but it wont turn on after a power cycle. the system works fine after flash as long as I don't disconnect power. I have added the schematics. BOOT0 is pulled down with 10k BOOT1 is pulled down with 10k and connected to 3v3 though boot switchnRST is pulled up with 10k to 3v3 I thought its nRST 3v3 stability issue, I manually tied nRST to gnd to keep it In restart mode till 3v3 stabilise , still same behaviour. I also disabled the 24mhz HSE, still the same behaviour, works after fresh flash, dies after power cycle. The schematic is a clone of MRO pixracer flight controller, only difference is I didn't use a power supervisor , instead i pulled nRST to 3v3 with 10k.any inputs are appreciated thanks!
I’m currently working with an STM32F4 series MCU and using UART with DMA for receiving data from an external module.The incoming data packets are variable length and don’t always end with a fixed delimiter. Right now I’m using:HAL_UART_Receive_DMA()Circular DMA modeIDLE line interrupt to detect end of frameHowever, I’m noticing occasional frame misalignment when packets arrive back-to-back with minimal delay.A few questions:Is using the UART IDLE interrupt still considered the most reliable method for variable-length packet detection?Would switching to LL drivers improve timing control significantly in high-throughput scenarios?Are there recommended buffering strategies to avoid data corruption when processing data inside the IRQ context?System details:MCU: STM32F4Baud rate: 115200No RTOS currentlyProcessing happens in main loopAny advice or production-proven approaches would be appreciated.Thanks!
Hi,I would like to confirm if setting LSM6DSO ODR to 6.66KHz and LPF2 to ODR/10 (resulting to 666Hz bandwidth), then setting a FIFO decimation factor of 8 (resulting to 833hz FIFO ODR) will work in preventing aliasing for signals above 417Hz? We have discovered with LSM6DSL that it doesn't work that well, but looking at a previous post where the LSM6DSO is recommended (Solved: LSM6DSL anti-aliasing filters do not appear to be ... - STMicroelectronics Community). So I would like to confirm it before we do a hardware change in production. Thank you.
Hello All, Could you kindly provide RoHS, REACH and material declaration certifications for the following ST components: 1. STM32G474MBT62.VL53L1X-SATEL I checked for obtaining these documents through ST Micro e-store but unfortunately 404 error was obtained (Page not found). Kindly help and provide the documents for the same. Requesting for your immediate support.
Hello ST Community, I am using HCF40106YM013TR in one of my products. One channel is configured with an RC timing network at the input, and its output is cascaded to another channel. However, the output is chattering / oscillating near the positive trigger threshold voltage. The RC values and operating conditions are as follows: R = 500 KΩ C = 4.7 µF VCC = 14 V GND is connected through a series diode for reverse polarity protection The Schematic and output waveform also attached herewith FYR, Wave form 1 : VCC (DSO channel 1) vs Capacitor charging (DSO channel 2). Wave form 2 : Capacitor charging (DSO channel 1) vs HCF 10406 output (DSO channel 2) Kindly suggest how to obtain a stable and smooth output and whether any changes in RC values, grounding, or protection scheme are required. Thank you for your support.
Hello,I hope someone with more experience with the STM32N6 and ThreadX can help me get an efficient solution.I'm using STM32N6 to communicate with multiple peripheral devices via UART. The protocol they are using to send data however, does not allow me to know what the message is in advance, or how many bytes the received packet would be. I only know the packet ends with 0x0D 0x0A. Other MCUs I've used in the past have some built in Pattern matching in the DMA so the DMA interrupts when a combination of symbols is received (0x0D 0x0A). However I don't see something like that in the STM32N6 HAL. I did a driver using the simple HAL_UART_Receive_IT(huart, &UART2_rxByte, 1); and interrupt on every byte to check if a packet is received, but It is really painful to know CPU time is wasted on entering interrupts when I need it for processing data. Maybe ThreadX can be more efficient with some polling thread? Or I missed some configuration option? What would you suggest?
I'm creating a CANopen protocol, but I'm having a problem with the code. I used two while loops, and as far as I understand, this is preventing me from seeing the data I'm getting from the sensor in the 'live expression' section. Do you have any suggestions?/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2026 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h"
Hi, I have a problem with activating USART bootloader. I use USART1. Please for details about how to going in bootloader mode. Pattern 12 in AN2606 is super complicated for me. I use now boot pin. I put it to GND and power ON . By me MCU going in bootloader mode, software put it with J-link is not started, but STM programmer show : Activating device: KO.Please, verify the boot mode configuration and check serial port configuration. Reset your device then try again.. Please for details how to put in USART1 boot mode.
Hello ST Community,I read in the follow post question about boot sequences for STM32:STM32H7 dual core: How to start with a busy-waitin... - STMicroelectronics CommunitySo, in the post above, I see that is explain the first three Boot order of the Table 8 of the RM0399 (I put this table below), but not the last modality: Both Cortex®-M7 and Cortex®-M4 are booting.My question is: is possible to have a explanation similar to the one in the post above, but refer to Both Cortex®-M7 and Cortex®-M4 are booting?Thanks in advance,Dino
Hello,I'm working on a project where, per SPI channel, I need to:Read voltage from four AD4630, 2x6 bytes read and 2x3 bytes read.Calculate outputSet 4 MAX5719 DAC output 4x3 bytes transferEach of them use separate cs pinI need to handle 3 channels like one described, so the blocking method is not possible. For now, I manage to achieve a 25 kHZ update loop of a single channel update working in a loop, where after triggering MAX5719, I immediately trigger conversion of AD4630 and another SPI transfers.My setup consists of:STM32H755ZIQ, firmware runs on M7 coreI set up a project with CubeMX and then modified the HAL SPI DMA TRANSFER/RECEIVE functions to remove all unnecessary boilerplate codeAccess the chip select GPIO by directly modifying the BSRR registerInlined a bunch of functions related to handling the interruptsEnabled O3 optimizationOptimised/Removed all data processing and focused only on transferMy loop is affected by the transfer speed of the SPI in the following way:12.
Hello,I have a project on STM32WL55 which runs on dual core CM0+ and CM4.When i put it in debug mode using the development board STM32WL55 Nuleo-64 (NUCLEO-WL55JC1), it goes into debug mode without any issue. Both the cores are getting debugged.Procedure : Launching 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.Now, I want to debug the same code in a customized PC having STM32WL55CCU6. It is not going in debug mode which means it gets stuck here : void MBMUXIF_SystemSendCmd(FEAT_INFO_IdTypeDef SystemPrioFeat) { /* USER CODE BEGIN MBMUXIF_SystemSendCmd_1 */ /* USER CODE END MBMUXIF_SystemSendCmd_1 */ if (SystemPrioFeat == FEAT_
I am using ADC + DMA + USART1 + Timer in STM32 IDE in a setup consisting of:Motor → Sensors → MCU (STM32N6) → PCI am capturing the signal received at the serial port using NanoEdge AI. I have shared screenshots of:The actual current waveform observed on the oscilloscopeThe data received through the STM32N6 MCUMy doubt is:Is there anything inside the MCU or ADC that could suppress or distort the natural sinusoidal shape of the current waveform?Note:I have converted ADC values to actual current values using a 3.3V reference.I have removed the sensor bias.I have properly accounted for sensor gain.I would like to confirm whether the MCU/ADC processing could be affecting the waveform shapeEdited to place the images in the post:
I'm using STM32F429 and trying to read the internal temperature sensor and convert it to a degree C value. Absolute accuracy is not important right now, I just want to make sure a reasonable representation of temperature is being produced. The ADC is running continuously with DMA dropping the result into a uint16_t variable which I'm monitoring. The variable gives a raw value around 1220 (decimal) at room temperature, and feeding this value into the __LL_ADC_CALC_TEMPERATURE_TYP_PARAMS macro gives an output of around 21C. So far so good.Warming up the micro gently with a hairdryer shows the ADC value increasing, as I believe it should. However, the calculated output from the macro falls, and reviewing the content of the macro this is not surprising:#define __LL_ADC_CALC_TEMPERATURE_TYP_PARAMS(__TEMPSENSOR_TYP_AVGSLOPE__,\ __TEMPSENSOR_TYP_CALX_V__,\ __TEMPSENSOR_CALX_TEMP__,\ __VREFANALOG_VOLTAGE__,\ __TEMPSENSOR_ADC_DATA__,\ __ADC_RESOLUTION__) \ ((( ( \ (int32_t)(((__TEMPSENSO
Hi, In our schematic, the IC’s SD card pin is connected to the controller pin of the STM32H753VIH6, and the IC’s controller pin is connected to the SD card. Could this connection cause any issues during SD card read and write operations? I have attached the schematic for your reference. https://drive.google.com/drive/folders/1fHC0aW8OWq_DrnzWL8WemED_ALq8BC_0?usp=sharing
OTP portion of FLASH is a valuable asset in some STM32 families and represents a convenient place to store things like security keys. For this, it is desirable - and, as it's part of FLASH, also quite logically expected - that setting read-out protection to any level above 1 prevents the debugger from reading it.In RM0444 Rev.5 and RM0454 Rev.5 (the current 'G0 manuals), the following text indicates that this should be the case:The following table appears to indicate the same behaviour:However, user @DAlbe.3 reported, that he was able to read out OTP using debugger, while RDP was set to Level1.This, together with the fact, that the above table has changed across RM revisions, rises questions about the OTP's security.Can ST please comment? Thanks,JW
I recently updated to Linux Mint 22 (Cinnamon 6.8, kernel 6.8.0, Ubuntu 24.04) by means of the "generic Linux" version. (I had tried without success the Debian package and was advised to use the "generic" instead).The software works and compiles OK as long as you do not try to launch or debug the result. At this point it stops complaining that it cannot find gdb because libncurses.so.5 is not installed. The problem lies in the fact that libncurses5 is deprecated and non longer available (you can get libncurses5-dev but that is of no avail).At this point I reverted to the old 1.10 version that I still had, and found the same problem. The only solution seems to be an upgrade of STM32CubeIDE to libncurses6.Do you have any solution or a forecast for such an upgrade? I hate thinking of switching to a different processor line.Tranks
I am using STM32H563 and using seven pins to read data, all through ADC1 with GPDMA1 Channel0 -2 Words internal FIFO. I connected all seven pins to ground, expecting to get all zeros or values close to zero, but the readings seem to fluctuate randomly.Although the ADC values do increase when connected to Vcc (>3000) and decrease when connected to ground (<2000), how can I ensure that the readings are correct? Are there any settings that I should adjust?uint16_t adcbuf[7] = {0}; HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adcbuf, 7); while(1) { printf("ADCBUF: "); for (int i = 0; i < 7; i++) { printf("%d, ", adcbuf[i]); } printf("\r\n"); HAL_Delay(1000); } Below is the ADC1 configuration from my .ioc file. (All ranks are configured identically, except for the channel.) Below is the GPDMA1 configuration. (Use Standard Request Mode)
HiI recently started using STM32CubeMX on MacOS and noticed that navigating through the (sub)-folder is kind of buggy or I am doing something utterly wrong.I want to create a project inside my documents folder. But everything that is inside my documents folder is not shown in the STM32CubeMX GUI when selecting a project folder. See attached picture. Can you please attempt to recreate this? I use a MacBook Air M3 16GB/265GB, Mac Tahoe V26.2 should that matter.
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.