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
Hello,I'm using MEMS Studio to log data from a multi-sensor glasses platform for biomarker extraction research. My sensor configuration includes:ST1VAFE6AX (Accelerometer @ 240 Hz, Gyroscope @ 240 Hz, vAFE enabled)LIS2MDL (Magnetometer)LPS22DF (Pressure)STTS22H (Temperature)The CSV export includes a new_data column containing hex values (e.g., 0x08, 0x10, 0x18, 0x20, 0x400). I understand this is a bitmask indicating which sensor(s) have new data in each row, but I cannot find official documentation for the bit assignments.Through empirical analysis (checking which sensor columns actually change when each bit is set), I determined:Bit Mask Sensor CorrelationBit 30x08Accelerometer96.6%Bit 40x10Gyroscope96.6%Bit 50x20Magnetometer99.9%Bit 60x40Pressure—Bit 100x400vAFE—Questions:Is there official documentation for the new_data bitmask format in MEMS Studio CSV exports?Are these bit assignments consistent across different sensor configurations, or are they dynamically assigned based on which
I'm working on a custom stm32mp133d board and Yocto (latest release), but something has me quite puzzled.Our hardware looks like this:- Kingston EMMC04G-MT32-01G10 (mmc2)- 4Gb DDR- STM32MP133d- STM32PMIC1most of it is very similar to STM32MP135F-DK. To configure our board, I'm using the stm32cube-mx approach. My issue is, that the generated FIPS image has somehow a misaligned BL33 (U-Boot) image, which results in a failed boot:NOTICE: CPU: STM32MP133D Rev.Y NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11 INFO: PMIC version = 0x21 NOTICE: Reset reason (0x35): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000 INFO: FCONF: Reading firmware configuration information for: stm32mp_fuse INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using EMMC INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.10-stm32mp1-r2.0(debug):lts-v2.10.13-dir
Hello! I have a struggle to boot the isolation LRUN project from STM32Cube_FW_N6_V1.3.0/Projects/STM32N6570-DK/Templates/Template_Isolation_LRUN. 1. First i've performed the mass erase to remove the demo on the discovery board. 2. I've build and add the header to the binary with the Signing Tool for all three projects. Example below for FSBL. STM32_SigningTool_CLI -bin Template_Isolation_LRUN_FSBL.bin -nk -of 0x80000000 -t fsbl -o Template_Isolation_LRUN_FSBL-trusted.bin -hv 2.3 -dump Template_Isolation_LRUN_FSBL-trusted.bin3. I've Flashed the external memory in DEV mode with all three images:FSBL flashed to 0x7000 0000 SecApp flashed to 0x7010 0000NonSecApp flashed to 0x7018 00004. I've switched the board to Boot from ext. memory mode and pressed restart. The board doesn't boot. 5. I've loaded the FSBL project in DEV mode with debugger to internal RAM( 0x3418 0400 ) and it runs nicely. ---------------------------------------------
I am using a STM32G4 MCU and STM32CubeIDE. I want to synchronise two timers (TIM3 and TIM15) that are generating PWM signals so that they both start at the same time. TIM3 is set to 250 kHz and the PWM is modulated via DMA on channel 1. The modulated signal is a 10 kHz sine wave.TIM15 is set to 10 kHz and the PWM is a simple 50% duty cycle.I need the timers to start together to ensure that the PW Modulated 10 kHz sine wave (TIM3) is synchronised to the 10 kHz PWM (TIM15).I thought it would be straight forward enough. I have configured TIM15 as master. In CubeMX I have set Master/Slave Mode (MSM bit) to "Enable (Trigger delayed for master/slaves simultaneous start)" and Trigger Event Selection to "Enable (CNT_EN)".I have configured TIM3 as a slave. In CubeMX I have set Slave Mode to "Trigger Mode" and Trigger Source to "ITR6" (per the reference manual).To the CubeIDE generated code I have added: /* USER CODE BEGIN 2 */ HAL_TIM_PWM_Start_DMA(&htim3,
Hi!I'm new with STM32CubeIDE and STM32N657X0-Q. I'm working with them because of my bachelor's thesis. My model size es 73KB but 432KB because of activations.The input of my ML is data generated with CMSIS-DSP but I have issues in LL_ATON_RT_RunEpochBlock() line and, I can't see the output.I've followed these guidelines:https://community.st.com/t5/edge-ai/ll-aton-set-user-input-buffer-output-buffer-just-returns-wrong/td-p/842354https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502https://community.st.com/t5/edge-ai/problems-with-running-an-ai-model-on-the-nucleo-n657x0-q-board/td-p/818432https://community.st.com/t5/edge-ai/inference-blocking-on-ll-aton-osal-wfe-with-threadx/td-p/868994 This code is not mine, it was used at least to resolve printf issues that I had: https://github.com/YousefDessouki/STM32_N6_NuceloBoardwithNPU/tree/main And I have the following code:LL_ATON_RT_Init_Network(&NN_Instance
Hi Members,The EV-582B board seems to be out of stock within numerous distributors (Mouser/Digikey...) and no release date in sight.May the available SPC582-DIS replace (as both share the same microprocessor) and be reprogrammed with the already compiled Chorus1M_VNF1048_discovery.elf/Chorus1M_VNF1248_discovery.elf firmwares (with some rewiring between the mother and daughter boards if needed)?A better solution would be to publish the source code and leave the customers compile it on wathever SPC5 motherboard they own. It has been asked numerous times in the VNF1048F posts but STM does not seem to hear our voices.Hope we will get solutions soon as ST members seem reluctant to answer (7 posts under 10 about the VNF1048F without answers... my 2 cents!).Regards,Michel
Hello,starting from the example application of the OEMiRot boot project, I noticed that the NS application size is limited to 640kB in the flash_layout.h (#define FLASH_NS_PARTITION_SIZE (0xA0000) /* 640 KB for NS partition */)Since there is 1MB avalaible in the slot, I would like to increase this size from 640kB to 896kB. A first naive change is just to change the define from 0xA0000 to 0xE0000 which leads to the state that the bootloader doesn't find a bootable image anymore.How do I set a larger non-secure application size to have a benefit of the 1MB flash slot? Best regards,Stefan
I am asking this question because I am a relatively new engineer working with STM32 and Cube IDE. When choosing the MCU to create a new project for my new board containing the STM32F401CCU6, I see that it is not listed and only STM32F401CEU6 appears. Can I create the project based on this model number and will everything work the same? I wanted to try it myself, but today has been a tough day, so I would appreciate your help with an answer tomorrow when I get to the office to save time.Thank you in advance.
I have recently Intigrate GithubCopilot in STM32CubeIDE.Issue is I can not able to change font of copilot chat. Its very small and diffuclt to read.I tried all option in fonts and color menu.I am using On Linux(Ubuntu -24.04 LTS)
Hi all,In my project I use several IOs, I2C, SPI, UART, ADC, DAC and most of them work as expected.However, I have 2 inputs from push buttons (pushing the button would set them to 0 volt), set with pull-ups (not set as EXTI) that sometimes stop working after a while: When I check the voltage I see the level is changing, but when reading these IOs using HAL_GPIO_ReadPin() their state doesn't change anymore until I reset the PCB.The rest of the software still works fine when it happens.Never seen this before on ST, and this project was actually migrated from STM32L031 which never showed the issue. I'm having a hard time reproducing the bug, it seems very random so far.If I called the GPIO Init on a regular basis, would it prevent this issue?Kind regardsP.S: I use GNU tools for STM32 v13.3.rel1
The VENC peripheral on the N6 boasts a hardware handshake path with the DCMIPP peripheral, potentially allowing full compression of each frame to occur with very little active RAM. From what I can find, the DCMIPP capture starts, then the VENC is told to start encoding, and the application only then receives notifications when a frame is complete. There should be no further interaction. However, I am unable to get this working for MJPEG. The examples for this sort of streaming are all for h264, and the JPEG is thrown to the side as a one-time encoding. I have reasons on this project to use MJPEG encoding, but I cannot get the VENC to perform this handshake with the supplied example code. I have attempted to modify the JPEG Encoding Example that uses the VENC, and have successfully used the VENC for JPEG encoding of a full in-RAM frame, so I know the peripheral can work. Relatedly, the only articles on the handshake algorithm I can find is for the H264 compression.I'm looking for any wo
Hello everyone,I'm writing this to provide support for my External Loader project for TouchGFX , which I've been working on for a long time.The External Loader file works good with STM32CubeProgrammer. (Write-Erase-Read operations are possible) LOG OUTPUT IS ATTACHED --> [STM32Cube Programmer LOG Output]When I run my project file LCD_Driver_v10 and my External Loader file together, I get the following errors: The complete error message is attached. --> [STM32Cube IDE CONSOLE Output] Error: failed to download Sector[0]Error: failed to download the FileEncountered Error when opening C:\Users\USER\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.2.300.202508131133\tools\bin\STM32_Programmer_CLI.exeError in STM32CubeProgrammer I also checked this address https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/external-loader-fails-to-download/m-p/136566#M6974 which has a similar problem, but nothing changed.My Mcu is STM32F7
Hello,I'm trying to use STM32CubeProgrammer with STLink Debug Interface on remote Windows Serveur via RDP.I installed the driver, the device is detected via USB Redirectionbut STM32CubeProgrammer doesnt detect the interface:If I directly plug the device on a physical port, it works well. Do someone successfully set up such a configuration ? Is there any special detection on the app ? It would avoid us to install about 60 windows on our clients!Thanks :)
Hello, I have a question about the temperature calibration for the VL53L0X Time-of-Flight sensor.The UM2039 manual states the following:> [Temperature calibration] has only to be done before offset and cross-talk calibrations, after Reference SPADs management and before the first ranging is performed.During assembly of our product, those calibration steps (SPADs, Temperature, Offset, XTalk) are performed in order.To account for possible temperature changes when the device is in use, we call both `VL53L0X_PerformRefSPADManagement` and `VL53L0X_PerformRefCalibration` on device boot to ensure the sensor is ready for use for the current temperature.My question is if this would affect the offset and xtalk calibrations, since the docs state that temperature calibration must be perfomed before those. Or is that sequence merely to ensure the offset and xtalk calibrations are done with the correct temperature calibration.Thank you for your time.
I want to use STM32CubeMonitor-RF's scripting feature to automate BLE tests, but I'm having troubles right from the start: Send(ACI_GAP_CREATE_CONNECTION;0x01D0;0x01D0;0x00;<client address>;0x00;0x0040;0x0040;0x0000;0x015E;0x0015;0x0015)Wait(500)Send(ACI_GATT_DISC_ALL_PRIMARY_SERVICES;<connection handle>)ACI_GATT_DISC_ALL_PRIMARY_SERVICES needs a connection handle, which is only known at runtime, it would need to be extracted from a response to the ACI_GAP_CREATE_CONNECTION command. is this possible, or is it possible to set the handle to a constant value?
Hello everyone, First of all I am kinda new in ARM (I never use), I am working on the STM32H745I-DISCO board (using the CM7 core) and I am facing a persistent issue with UART . No matter what I try, the RX Interrupt never triggers, and the code never enters the HAL_UART_RxCpltCallback. My Setup: Board: STM32H745I-DISCO IDE: STM32CubeIDE (Latest Version) Scenario: UART Loopback Test (Connecting TX to RX physically). Peripheral: USART6 (TX: PC6 / RX: PC7) on the Arduino Headers (D1/D0). Settings: 115200 baud, 8N1, Asynchronous. The Problem: -HAL_UART_Transmit works fine (signals observed). HAL_UART_Receive_IT returns HAL_OK. However, the HAL_UART_RxCpltCallback is never executed. When checking SFRs in Debug mode: RXNE flag stays at 0. What I have verified so far (Step-by-Step): NVIC Settings: USART6 global interrupt is Enabled in CubeMX. Vector Table: USART6_IRQHandler exists in stm32h7xx_it.c and calls HAL_UART_IRQHandler. Initialization Order: I ensured that MX_USART6_
Dear ST, I am using Nano Edge AI Studio for Embedded ML teaching at university. Recently, I faced the problem of installing licenses on class computers reporting that “License has reached its activation limits”.I understand that Nano Edge Ai Studio is free but I cannot activate multiple computers in the classroom with my personal free license. Could you please explain how to solve the issue (activate 10 computers in the classroom).Regards,Žilvinas Nakutis
Hi,I'm trying to drive a 5 in LCD with STM32H757. However the MCU's internal RAM is too small for the frame buffer for this 800x480 LCD. So I have a PSRAM APS6404L on the QUAD SPI bus. I have succeeded in setting the memory mapped mode for reading the PSRAM, but I don't know how to integrate the custom write routine for the touchGFX. The MX configurator seems not allow me to set up a partial frame buffer in the internal RAM. I have tried to use custom LCD type to forcefully set the partial frame buffer, but I'm unable to get the touchGFX task to run.Does the custom LCD type require lot of work? I feel so stuck right now. Please help. Thank you.
Dear STMicroelectronics Team,I am writing to strongly condemn the way power consumption values are presented in the STM32WB55 datasheet.When I choose a wireless SoC, I do so because of its wireless capabilities. If I only needed a microcontroller, I would simply buy an MCU from your STM32 families. The reason I selected WB55 was specifically for its BLE functionality. Therefore, the datasheet must provide power consumption values with BLE active, not just MCU Stop mode currents with BLE disabled.Presenting only the MCU’s low‑power figures while omitting the real BLE consumption is misleading and deceptive. It creates false expectations for developers and leads to serious disappointment in real‑world applications. This practice can only be described as fraudulent.I strongly denounce this approach. Wireless SoCs must be documented transparently, with accurate BLE advertising and connection current profiles. Competing vendors such as Nordic and Telink provide this clarity, and ST should d
Hello,we have a STM32MP157C processor MAC connected to MAX24287 PHY by RGMII interface, what we see that the GTX_CLK duty-cycle higher than 55%Could we decrease this value somehow?Thank you.Zsolt
NUCLEO WB55For an unknown reason I2C1 has just stopped working. The BLE & UART are working but the boards (I've tested on 2 identical boards) are no longer talking to the sensors via I2C.When I scope them up the traces for SCL & SDA are both flat lines (yes I checked the scope is working properly).Frustratingly, this all worked before xmas.Anyone any clue what could cause this?
In the UM2407 Rev 5 (Nucleo-H753ZI user manual) on page 29/54, section 7.6.6 there is a warning:USB Micro-AB connector (CN13) cannot power the Nucleo144 board. To avoid damaging the STM32H7, it is mandatory to power the Nucleo-144 before connecting a USB cable on CN13. Otherwise, there is a risk of current injection on STM32H7 I/Os. However, in an informal empirical test it seems that nothing got damaged when I connected CN13 to a PC/Laptop without powering the Nucleo. So, how big is this "Risk" really and what are potential consequences? And is this risk related to the Nucleo only, or would the same risk apply when integrating a STMH753ZI directly on a PCB. Can anybody provide more detailed information?Note: I do NOT want to power the Nucleo from CN13 but just leave the USB cable connected. Thank you and best regardsDiego
Hello,I’m new to embedded systems and currently learning STM32 + LoRa.I’m using two NUCLEO-F411RE boards and two RA-02 (SX1278) LoRa modules. My goal is to establish basic point-to-point communication.I initially tried using a LoRa.h library, but I couldn’t get it working reliably. To reduce complexity, I decided to verify SPI communication first, before dealing with LoRa TX/RX logic.However, SPI itself does not appear to work as expected, so it’s unclear whether the issue is: SPI configuration Hardware wiring Or the LoRa library integration Below are two minimal examples: A bare SPI register read (RegVersion = 0x42) A minimal LoRa.h initialization without TX/RX logic I would appreciate feedback on: Missing or incorrect SPI configuration Whether the LoRa initialization sequence is reasonable Common SX1278 + STM32 HAL pitfalls Minimal SPI test (RegVersion check) #include "main.h" #include "spi.h" #include "gpio.h" #defin
Split from old thread Debug: "No source available for main()"This is not the same question.Little late to the party but I have the same issue kinda. I switched to other branch in our project and I had the very same result. Then I took all suggested steps and I get when I tried to debug:No source available for "__floatdisf() at 0x800216e" Besides after switching to that branch program compiles just fine but doesn't work. All of this is of some settings that remained in project and weren't covered in git commit, but it's hard to commit every single file in CubeIDE enviroment. All important files were covered like all code files and ioc etc. i always switch when Cube is not running because it also creates issues. Any ideas?
Dear ST Community Team,We are currently working on a project using the STM32N657X0H3Q1 microcontroller and developing the GUI application with TouchGFX.While configuring and generating the TouchGFX project, we are encountering RAM and ROM overflow errors during compilation/linking. The internal SRAM and Flash available on the STM32N657 device are not sufficient to accommodate the TouchGFX framework, graphics assets, and application code.As an alternative solution, our hardware design includes the following external memories:External RAM: S80KS5123GABHB020External Flash (Octal SPI NOR): S28HS512TGABHM0100We would like guidance from the community on the following points:How to properly configure external RAM in STM32CubeMX / TouchGFX so that:FramebuffersTouchGFX heapGraphics buffers are placed in external RAM instead of internal SRAM.How to configure external Flash to store:TouchGFX assets (images, fonts, videos)Read-only GUI resource to reduce internal Flash (ROM) usage.Any re
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.