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
I try to use my own model which build form python and keras, however when I import the model to the tool it have error as follow:>>> C:\ST\STEdgeAI\4.0\Utilities\windows\stedgeai.exe validate --model C:\Users\user\Documents\battery_model_MLP.keras --batch-size 10 --mode host --name network --verbosity 1 --c-api st-ai --optimization balanced --target stm32g4 --memory-pool C:\Users\user\.stm32cubeaistudio\workspace\EISv3_SOCSOHpredictor\.ai\run\run-3\.ai\mempools.json --save-csv --workspace C:\Users\user\.stm32cubeaistudio\workspace\EISv3_SOCSOHpredictor\.ai\run\run-3\.ai\st_ai_ws --output C:\Users\user\.stm32cubeaistudio\workspace\EISv3_SOCSOHpredictor\.ai\run\run-3\.ai\st_ai_outputST Edge AI Core v4.0.1-20581 7ed50de05INTERNAL ERROR: File is not a zip fileRun failed: Error: validate error: INTERNAL ERROR: File is not a zip file. Please check the report for more details. Output: ST Edge AI Core v4.0.1-20581 7ed50de05PASS: 0%| | 0/187 [00:00<?, ?it/s]
Hardware: STM32N657 + DCMIPP CSI-2 Host (Synopsys DWC D-PHY). Sensor: onsemi AR0144CS, MIPI 2-lane, RAW12 (DT 0x2C), 27 MHz EXTCLK, link ≈ 445 Mbps/lane, PHYBitrate = DCMIPP_CSI_PHY_BT_450. Symptom - the receiver clock lane never enters HS: - The sensor is definitely streaming: its FRAME_COUNT (0x303A) advances ~58 fps read over I2C; RESET_REGISTER = 0x005C (STREAM=1). - The CSI host decodes exactly one Frame-Start short packet, then nothing — csi_sof=1, csi_eof=0, framebuffer stays black, and all error counters are zero (ECC=0, CRC=0, SYNC=0, no SoT errors). - CSI_SR1 = 0x64100000 → ACTCLF (bit31) = 0 (RM0486 §40.9: ACTCLF = D-PHY_RX RxClkActiveHS). STOPCLF (bit28) = 0. So the clock lane never reaches sustained HS. Key control comparison (same board, same DCMIPP/CSI receiver): a Sony IMX708 in continuous-clock mode reaches ACTCLF=1 ("CDR locked") in ~1 ms and captures full frames. Only the AR0144 (which I believe emits a non-continuous/gated clock) fails — ACTCLF stays 0. Wh
Hi, I’m trying to identify the part number of a STMicroelectronics LDO that is on one of our boards to verify it is the correct part through the device marking. I saw on another forum post that the device marking decoding information is something that only STMicroelectronics has access to internally. Could I please get help identifying the part circled in red by it device marking? It looks like it say 8L533. The part is supposed to be L78L15ABUTR. Thank you,John Sharp Screenshot 2026-06-17 144356.png
Hello ST-Team.How can I configure the receiver’s LDC mode so that the LDC timer runs for 4 seconds and then reliably receives a data packet? I want to configure GPIO3 as the RX_DATA_READY interrupt so that the microcontroller wakes up, processes the data, sends an acknowledgment, and then returns to LDC mode.How must the timing be configured on the transmitter side? It would have to send many data packets so that the receiver catches one of them inside the RX window. And when is the acknowledgment allowed to be sent?The goal is to achieve ultra‑low power consumption on the receiver side. Do you have a solution for this?
Could you tell me VL53L8CX FDA Accession Number?
I have an EtherCAT project that uses the open-source software EtherCAT master station IGH.Currently, my platform is the main controller STM32MP257, and the relative jitter of IGH--enable-generic is relatively large.I would like to inquire if ST has provided corresponding real-time network card driver patches for the EtherCAT master station IGH?If there are any other better solutions, please let me know. Thank you~
Hello,I'm looking for advice / help with Trust-Zone enabled project. I'm just getting started with Trust-Zone so there is a bit of a learning curve I guess, and a lot I dont know. I'm debugging in VSCode. Debug config shown at bottom of message. To start, I programmed TZEN for my STM32U575 to 1, but no read out protection is enabled. The secure part of the project, which runs first (its ISR table is at 0xc000000 ) only does a handful of things currently, including running this - it is stock standard STM code I think.static void NonSecure_Init(void) { funcptr_NS NonSecure_ResetHandler; SCB_NS->VTOR = VTOR_TABLE_NS_START_ADDR; /* Set non-secure main stack (MSP_NS) */ __TZ_set_MSP_NS((*(uint32_t *)VTOR_TABLE_NS_START_ADDR)); /* Get non-secure reset handler */ NonSecure_ResetHandler = (funcptr_NS)(*((uint32_t *)((VTOR_TABLE_NS_START_ADDR) + 4U))); /* Start non-secure state software application */ NonSecure_ResetHandler(); } When I start
When I start a debug session, the state is as shown below, with the PC set to `Reset_Handler`. Upon performing a "Step Into" operation, the PC becomes `0xd00c`. Please tell me what the problem is.Open On-Chip Debugger 0.12.0-00029-gf77e7cb03 (2023-12-15-13:25) [https://github.com/STMicroelectronics/OpenOCD]Licensed under GNU GPL v2For bug reports, readhttp://openocd.org/doc/doxygen/bugs.htmlsrst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srst Info : Listening on port 64567 for tcl connectionsInfo : Listening on port 62345 for telnet connectionsInfo : STLINK V3J17M11B6S1 (API v3) VID:PID 0483:3753Info : Target voltage: 3.284462Info : Unable to match requested speed 5000 kHz, using 3300 kHzInfo : Unable to match requested speed 5000 kHz, using 3300 kHzInfo : clock speed 3300 kHzInfo : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : STM32MP135FAFx.cpu: hardware has 6 breakpoints, 4 w
I am trying to flash the HSDatalog.bin (from Datalog1) firmware onto the STEVAL_STWINKT1B board using the STLINK_V3MINIE and the STM32 Cube Programmer, following the user manual provided. When I connect to the STLINK on the Cube Programmer, the led flashes red and green. After opening the HSDatalog file and clicking download, the USB light on the STEVAL_STWINKT1B turns off, and the STLINK continues to flash green and red, pausing on green for a second, before continuing to flash. A popup comes up in the Cube Programmer that the file download is complete. I then disconnected the STLINK from my laptop and the development board, leaving just the development board connected. The power LED is on and the USB LED flashes, but it does not come up as a USB device. When I try to open the USB_DataLog_Run file, it says that there is no device detected. I am wanting to use direct data transfer via the USB for conditional monitoring, but cannot figure out why it is not showing up as a USB device. I
Hello there!It would be really great if someone can look into this.I even tested it by reading the state of the pin and the MCU detected when the button was pressed, however when I set it up to use EXTI, its not detecting the interrupt. Could there be something wrong with the IC?Any help would be greatly appreciated. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2024 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 ---------
Hello, I am trying to setup TIM5 channel 1 to output a signal on its output pin. I generated the code using STM32CubeMX2. I am getting an assert failed during initialization.mx_system_init() calls mx_tim5_init() which calls HAL_TIM_OC_SetConfigChannel(): oc_config.polarity = HAL_TIM_OC_HIGH; oc_config.idle_state = HAL_TIM_OC_IDLE_STATE_RESET; if (HAL_TIM_OC_SetConfigChannel(&hTIM5, HAL_TIM_CHANNEL_1, &oc_config) != HAL_OK) { return NULL; } In HAL_TIM_OC_SetConfigChannel function assert fails at the following line: ASSERT_DBG_PARAM(IS_TIM_OC_OVERRIDE_STATE(p_config->override_state)); ASSERT_DBG_PARAM(IS_TIM_OC_BREAK_MODE(p_config->break_mode));The value of the override_state shown by the debugger is: (HAL_TIM_OC_OVERRIDE_SET | unknown: 0xfa). If I comment out the assert it will assert on the next line (break_mode). If I comment that line out as well the code outputs a signal on the pin. I attached my MX2 file. What am I missing?-Gil
I use STM32F407VG Discovery evolution board to drive genuine BTT TMC2209 v1.3 motor drivers and NEMA11 motors. There are 4 TMC2209 drivers. I am using bare-metal CMSIS custom firmware. Motor power rail is 24 volts, logic voltage is provided from a stable power source. The issue is whenever the Discovery board is power reset motor operation stuck, only first motor, M0 is working. In this stage STEP, DIR, UART, Enable operations are working fine (I use USB communication with Raspberry Pi and communication also work fine). After motor power rail is hard reset it will start to run all motors. Anyone faced this issue and a solution?
Hi everyone,I'm using an STM32U599VJT on a custom board and I'm having trouble getting USB to work.ProblemThe MCU cannot be detected by a PC through USB under any condition: USB DFU mode does not appear when entering the system bootloader. USB also does not work from my application firmware. Windows reports "Unknown USB Device (Device Descriptor Request Failed)" (Error 43). What I Have Verified The MCU successfully enters the system bootloader. I can program and communicate with the device through the UART bootloader without any issue. Therefore, I am confident that the MCU is actually entering the ROM bootloader. VDDUSB is powered at 3.3 V. VBUS sensing is connected and reads approximately 3.3 V when connected to the PC. USB-C CC configuration is present and the board receives power correctly from the PC. USB D+ measures approximately 3 V. USB D− measures approximately 0 V. The board uses a 25 MHz HSE crystal. The USB signals pass through a USB mux that is shared
Hello, I am using CubeMX2 Version 1.0.0 on macOS Silicon. Various software packs fail to install with a 404 error like this: Could not fetch content of pack-URL: https://developer.st.com/st-pack-server/api/v1/pack/STMicroelectronics.rot_provisioning.2.0.0.pack, got: 404 - Not Found The following packs where tested and failed: rot_provisioning eeprom_emulation mcuboot fileX usbX (now installed via local pack from https://dev.st.com/stm32pc/) Is this an error on my side, similar to the proxy or certification issues I saw in other tickets or are these packs just not available YET? Secondly, I see support packs for e.g. the L4 MCU series: "stm32l4xx_dfp". What is the point of having these packs if CubeMX2 will not support these MCUs?
Hi everyone, I have successfully set up a camera and the NPU working together on a Nucleo N6 to get proper outputs from the latter, which is great. I also have a way to see the image and can verify the outputs live.However, that only works when I launch the firmware by adding the Application to the startup, loading its symbols, flashing the trusted application and starting to debug the FSBL… After that starts, I can detach the debugger to let it run the application. (BOOT0 off, BOOT1 on)When I now flash both trusted binaries and launch without the debugger (BOOT0 and BOOT1 off) it starts normally and I see the live image. But there are no inference results (which takes the same amount of time as when it worked)… What could I be missing?Best regards, rphii
Hello,I use a STPM32 on a battery charge system. The STPM32 is associated with an ESP32 module.The driver used is from ST (V1.0, 17 may 2016).I want to detect some defaults with interrupt, and I configure the interrupt mask only for current and voltage swell.But when I launch a battery charge, an interrupt is triggered (the period error interrupt) which is not masked.I don't understand this behavior and don't find an answer in the datasheet.Any help would be appreciated !Best regardsGilles.
I am using CubeIde for the first time.First test - run minimal program with HAL from CubeIDe Configurator, under debuggerSimple program, only SYSTICK and uart , but SysTick_Handler() is not trigged at all .And function HAL_Delay hangs because uwTick is always 0. Tried with setting brakepoint inside handler - no resultsUsed HSI, SYSCLK 16MHZ, Cortex System Timer 16MHz,RCC GPIO and USART1 - HAL configured.here is main() generated from cubeide (I removed comments):-----------------------------------------------------------int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); HAL_Delay(100); // here program hangs, when reaches HAL_Delay function. uwTick = 0 while (1) { }}-----------------------------------------------------------and here is the SysTick_handler from stm32g0xx_it.c-----------------------------------------------------------void SysTick_Handler(void){ HAL_IncTick();}-----------------------
Hello,I am facing an issue with the STM32C5 HAL SPI driver related to CRC error detection.In my setup, CRC is enabled for SPI. When a CRC error occurs, I can observe that the CRCERR flag is set before the transfer is closed. However, the CRC error is never reported via the HAL error callback.Looking into the HAL implementation, I noticed the following behavior:SPI_CloseTransfer() calls LL_SPI_Disable()After disabling SPI, SPI_CloseTransfer() checks LL_SPI_IsActiveFlag_CRCERR()When this check is performed after LL_SPI_Disable(), the CRC error is no longer detectedIf I move the LL_SPI_IsActiveFlag_CRCERR() check before LL_SPI_Disable(), the CRC error is detected correctlyAdditionally, in my case SPI_CloseTransfer() is called from HAL_SPI_IRQHandler(), but:the return value of SPI_CloseTransfer() is not evaluatedonly the Tx/Rx complete callback is invokedmy error callback is never called, even though a CRC error has occurredFrom my understanding:LL_SPI_Disable() itself does not clear the C
In CubeMX2 when configuring the I2S peripheral on an STM32C542 running from a clock of 144MHz and selecting an audio clock rate of 96000Hz, CubeMX2 computes a nearest reachable frequency of 97826Hz (I2SDIV = 23, ODD = 0). When code is generated and run on actual hardware, the HAL2 I2S driver computes a different value of 95744Hz (I2SDIV = 23, ODD = 1). The HAL2 hardware value has less error from the desired 96000Hz than the value reported by CubeMX2, but the CubeMX2 value may be used in designing other aspects of the firmware and result in unexpected performance.
I know that Motor control workbench is only available on Windows but I hoped that it would be possible to open the generated .ioc file from Linux. I tried it and I got this error. Can this be fixed or I cannot even open the STM32CubeMx project from linux?
I designed a custom PCB referencing the NUCLEO board, yet the board cannot be detected by any means. When flashing via STM32CubeIDE, the error pops up: Target no device found. Error in initializing ST-LINK device. Reason: No device found on target.I also tried detection with STM32CubeProgrammer, but neither SWD nor USART interfaces can identify the chip. I have verified that the ST-LINK probe works properly. I measured power supplies with a multimeter: the main supply is a stable 3.3 V, and VDDSMPS reads 0.98 V.The five PCBs I received after SMT assembly all exhibit the same connection failure, which rules out soldering defects as the root cause.Attached is my schematic. I would appreciate any troubleshooting suggestions. Thanks to all ST engineers and fellow developers.
Hello,I am using a STM32G474 and the RTC is counting >24.I have setup the RTC with the STM32CubeMX. regards Mark,
Hello ST Community,I am working on a custom PCB using the STM32H743ZIT.My project uses the LTDC to generate a VGA signal.I also need at least 1 DAC output and USB_FS. The issue is, in this specific MCU, the only 2 DAC’s are on:PA4 (conflicts with LTDC_VSYNC)PA5 (possibly conflicts with LTDC_R4) Now, I can move LTDC_R4 to PA11 but now it conflicts with USB_FS pins.Importantly, LTDC_R4 is not physically connected on our PCB. We only use 8 simple colors so I can use any LTDC pin to connect it to VGA signal. I’m completely fine losing LTDC_R4 altogether because we don’t use it at all. Question: If I do the following, will it cause any conflict issues due to the way the MCU works internally?1- Assign LTDC_R4 to PA5 in CubeMX to satisfy the configurator2- Immediately after HAL_LTDC_MspInit() completes, override PA5 to analog mode using HAL_GPIO_Init() for DAC use3- Configure DAC1 channel 2 manually in code and importantly, I call it AFTER HAL_LTDC_MspInit() Note: We are not reinitializing LT
I am trying to implement a GPDMA driver in a C project that does not use HAL, and have been really struggling to get something working. I have read everything I can find on this peripheral, multiple times, and still don't quite understand how one would configure the registers without using HAL. The goal is to get circular DMA transfers from peripheral to memory (e.g. ADC to memory). The H5 reference manual gives this figure, which conceptually makes sense to me but I can't figure out the implementation.It seems like it should be relatively simple to setup in C with direct register access instead of HAL configuration structures, but I have not been able to find any examples online or in documentation. I am wondering if anyone has gotten a linked list GPDMA transfer working without having CubeMX + HAL do all the work?
Hi,I’m using a NUCLEO-C031C6 64 board.I successfully setup the tool chain and ran several test from STM32CubeMX templates, directly compile and programming through STM32CubeIDE.Until this morning, everything was working fine.But I have lost the connection to the MCU later on. From STM32CudeIDE:Target unknown error 19Error in initializing ST-LINK device.Reason: Unknown. Please check power and cabling to target. Using of STM32CubeProgrammer:Recognized as mass storage On board ST-LINK/V2 is recognized, updated to version V2J47M34 successfully Full chip erase and board recognition works fine on the NUCLEO-G031K8 boardBut I have repetitively following messages while I try to connect (): I have tried unsuccessfully:under reset mode external SWD ST-LINK How can I debug futher?Did I miss something?Thanks!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.