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
Hello STM Team,I have been trying to get the GC2145 to work on the DK but no matter what i do i only get /dev/video0 but never /dev/media0I use Buildroot with the Linux kernel on ST's Github. I have followed this guide here: https://wiki.st.com/stm32mpu/wiki/STM32MP13_V4L2_camera_overview and i have all the Kernel modules needed activated.I know the camera is plugged in properly because the demo from ST works but there's no code or config that goes along that demo for me to find the issue, at least i could not find it.I will attach a little bit of debug info at the bottom if its any helpful:# dmesg | grep -i gc2145 [ 0.058299] /soc/bus@5c007000/i2c@4c006000/stmipi@14: Fixed dependency cycle(s) with /soc/bus@5c007000/i2c@4c006000/gc2145@3c [ 0.058443] /soc/bus@5c007000/i2c@4c006000/gc2145@3c: Fixed dependency cycle(s) with /soc/bus@5c007000/i2c@4c006000/stmipi@14 [ 0.069826] /soc/bus@5c007000/i2c@4c006000/stmipi@14: Fixed dependency cycle(s) with /soc/bus@5c007000/i2c@4c006000/gc2145@3c
Hello Team, Hope you are well! Could you confirm if the following top marking on ST4SI1M0008SCIFW is correct? 8942310525 000000923 FN527 Many thanks! Robert
Hello,I used the SPV1050 chip to connect the circuit to the STEVAL-ISV019V1 evaluation board, and measured VSTORE to be 3.9V, which did not reach VEOC and naturally did not have LDO2 output. I use the STORE pin to power my sensor node load. May I ask which part of the energy I am using at this time is from the battery?Besides, how can I make VSTORE rise to VEOC? Why hasn't my VSTORE changed under prolonged exposure to light.Can the final LDO2 output supply power to the load, or can it only serve as a reference voltage for certain devices.Thank you for your reply.
Split from ST87M01 : MAX length of the data returned by AT#IPREAD - which is solved.This is, indeed, a new question.Hello Didier,I have an additional question on this topic (I don't know if I should create a new post, but this question is very much linked to the previous one...) :- From the ST87MXX AT Command User Manual §9.8 AT#IPSENDUDP, the max IP frame size is 1400 bytes- But from ST87MXX TCP/UDP-IP Application Note §3.2 IP default parameters command, the max IP frame size is 1600 bytes,Is there a mistake in one of these documents, or is there something that I didn't understand ?Best regardsThierry
Hi, As per title I am unable to enter the System Memory bootloader when using the STM32C071FBP6N. Any assistance would be greatly appreciated. Following the notes in AN2606, i have configured pattern 11 (line 2) using the CubeProgrammer but when completing the reset with the Boot0 pin high it does not enter the bootloader mode and can tell this because my user application runs immediately after the reset occurs. I have been able to jump to the bootloader through my own firmware where I initialize the HAL and GPIOs and then check the status of the boot0 or other pins then manually change the PC and SP but wish to avoid this method as this should not be necessary. ------- I have followed the steps below: 1. Using a ST-Link I have successfully changed the option bits nBOOT_SEL=0; nBOOT1=1; nBOOT1=1; BOOT_LOCK=0 using the CubeProgrammer and have also flashed a basic UART output program which outputs to USART2 the whether the PA14/BOOT0/PA15 is high or low. 2. disconnect the ST-Li
Post edited by a ST moderator. Please use English in this community. Please read How to write your question to maximize your chances to find a solution 手册上写着在高分辨率模式下功耗 90 µA,在低功耗模式下功耗低于 1 µA。可是我用示波器串联电阻抓出来的功耗接近1MA,并且未使用MCU配置传感器时功耗就已经接近这个值了。传感器通过开发板的3.3V接口进行供电。电路图如下所示,哪里存在问题呢? Translation: The manual states that the power consumption is 90 µA in high-resolution mode and less than 1 µA in low-power mode. However, the power consumption I measured with an oscilloscope using a series resistor is close to 1 mA, and this value is already close to the power consumption even without configuring the sensor using the MCU. The sensor is powered through the development board's 3.3V interface. The circuit diagram is shown below. Where is the problem?
I am working on SDRAM execution using FMC on STM32H563ZI (NUCLEO-H563ZI board) with external SDRAM connected through FMC interface. Our target is: Execute application sections from SDRAM Place heap and stack in SDRAM Enable automatic scatter-loading/copy from internal flash to SDRAM during startup We are facing an issue where: SDRAM initialization appears successful Manual SDRAM read/write access works in application runtime But automatic copy/scatter-loading from Flash to SDRAM during startup is failing Application execution from SDRAM is unstable and leads to HardFault/reset handler Below are the detailed steps and observations. CURRENT STARTUP FLOW Reset_Handler→ SystemInit()→ PLL/System clock configuration→ FMC GPIO configuration→ FMC SDRAM initialization→ SDRAM command sequence→ __main()→ scatter loading→ main() We intentionally moved FMC/SDRAM initialization into SystemInit() so that SDRAM becomes available before scatter loading. CLOCK CONFIGURATION We configured P
Is it possible to use the awesome MDF and/or ADF on STM32U5 with input data from RAM? I have not found any configuration for BSMX for this. One use case is an high performance external delta-sigma-demodulator (ADC) on SPI with proprietary data format (24 Bit per channel, MSB first, CRC etc.) for providing the sound data. Another use case is an LSM6DSV16XTR, also connected via SPI.
I'm trying to use _Atomic with 64 bit objects, but I get a link failure:undefined reference to `__atomic_load_8'The internet says I need to add an option to the link command:-latomicHowever, it looks as if that library is not included with the ST tool chain:cannot find -latomic: No such file or directoryHas anyone managed to get this working?There are a number of workarounds that could be used here, but it would be much easier to use the native C feature that's been available since C11.I'm using STM32CubeIDE V 1.18.1 with GNU Tools 13.3
Hi,I’m experiencing a consistent issue with the STM32 Motor Control SDK:The first motor start attempt always fails with a MC_SPEED_FDBK faultAfter acknowledging the fault, the second (or further) start attempts work perfectly Observations:During the first start, there is no audible motor movementCurrent signals (I_q_ref / I_q_meas) look misaligned or not properly regulatedAfter the first failed attempt, signals stabilize and the motor starts normallyThe MC state is initially IDLEFault reported: 0x0020 (MC_SPEED_FDBK)Observations:During the first start, there is no audible motor movementCurrent signals (I_q_ref / I_q_meas) look misaligned or not properly regulatedAfter the first failed attempt, signals stabilize and the motor starts normallyThe MC state is initially IDLEFault reported: 0x0020 (MC_SPEED_FDBK)It seems like something is not fully initialized/calibrated on the first start, possibly:Current sensing / ADC offset calibration My Setup:SW in Release ModeTarget: Custom
Hello everyone! I have a problem with reterning ticks in line "measure_speed_rpm = speed_reference / LL_TIM_GetCounter(TIM2);". speed_reference is const variable and equals 15000000. When I looked at Serial Monitor, it's indicated: (picture)That's mean that LL_TIM_GetCounter(TIM2) returns '1' sometimes. Nothing in my code not calling void EXTI1_IRQHandler(void), except EXTI Interrupt. And the main question is - Why it reterns only '1'??? Not 2,3 e.t.c.Thank you for help! void EXTI1_IRQHandler(void) { if (LL_EXTI_IsActiveFlag_0_31(LL_EXTI_LINE_1)) { LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_1); static uint8_t edge_switch = 0; if (!edge_switch) { edge_switch = 1; LL_TIM_SetCounter(TIM2, 0); } else { edge_switch = 0; measure_speed_rpm = speed_reference / LL_TIM_GetCounter(TIM2); NVIC_SetPendingIRQ(SPI1_IRQn); // SPI1_IRQHandler is free vector in list, that's why I use it for PID update trigger } uint8_t hall_index = HALL_Read(); SixStep_SetPhas
The STM32F415 transmit and receive lines are connected to the MAX3232 chip. The board also contains chips to control LEDs and read tokens, which are controlled by the STM32F415, and those functionalities work, but I am having issues with the RS-232 communication. I get nothing on the receiving end. When I hook up a scope to the transmit line for UART4 (pin 51) on the STM32 chip, it is always high (3.3 V) and nothing is transmitted. What could cause this issue?
Hi,I'm building a DC-DC converter with a USB-C output using an ESP32 and a STUSB1602 configured as a fixed 5V/3A Source (no PD stack).The problem: when I plug a USB-C cable into my receptacle connector, the FSM jumps directly from Unattached.SRC (0x08) to ErrorRecovery (0x13) without going through AttachWait.SRC (0x09) or Attached.SRC (0x0A). No alert is generated on the ALERT pin, and CC_DETECTION_STATUS (0x0E) stays at 0x00 the whole time — the chip never seems to detect Rd on CC1 or CC2, even though I physically measure a voltage drop to ~0.3V on CC1 when plugging.Hardware setup: STUSB1602 as Source, I²C 0x28 USB-C receptacle CC1/CC2 connected directly to the chip, no external resistors VBUS_SENSE upstream of the MOSFETs (connector sees no VBUS before attach)Software configuration: 0x28 POWER_ROLE_CTRL = 0x00 → Source 0x18 PD_ROLE_CTRL = 0x90 → Rp=3A 0x20 MONITORING_CTRL = 0xB0 → VBUS+VCONN monitoring 0x22 VBUS_RANGE_MONITORING = 0x66 → OVP/UVP ±20% 0x0C ALERT_STAT
CubeProgrammer 2.22.0 under MacOS 26.4.1 is not able to connect to my NUCLEO-G431, with the log window showing:ST-LINK error (DEV_CONNECT_ERR)Strange thing is this only happens when I have a direct cable connection between the USB-C port on the Mac and the ST-LINK V3 USB on the board - it works as expected if I connect via a USB-C hub.VS Code is also not able to connect to the board to run a debug session without the hub, so I suspect this is an ST-LINK USB driver issue on the Mac.
Hi Community, I'm a new Developer/ for ST Microcontrollers, Now Im currently using STM32H723ZGT6 (NUCLEO - 144). Im currently working on ethernet (LWIP), the ping is not working for this code that i have generated . I have seen some youtube channels but I cant rectify and make the ping, I have tried all the possible things like , flash linker script , enabling ICache , Dcache , using MPU(Memory Protection Unit), change them to static ip for both board and my PC and So on . I have tried but I dont know whether my code or my implementation is correct or not . Can anybody help me with this ?.. I have attached the file thats my code and how project. pls have a look into that. Thank You.
Hello STM32 Community,I am developing a system on the NUCLEO-N657X0-Q using ThreadX and NetX Duo and I am having a hard time to make the ethernet work. I want to implement a web server in my system but I cannot make the Ethernet communicate.Problem:I am unable to receive or transmit any Ethernet frames. The PHY link establishes successfully (from what I see on my linux terminal, autonegotiation completes, Link is UP, and the LEDs on the plug turns on normally), but pinging the Nucleo's static IP yields no response. Wireshark shows no ARP or ICMP packets originating from the Nucleo.Trying to debug, I see that the the MAC/DMA interrupt `ETH1_IRQHandler` is never triggered by incoming network traffic. It fires exactly twice during the initial board boot sequence(where, for what I understand, some DMA errors flag are raised), but remains completely silent afterward. From the logs that I send to the serial port it appears that from the NetXDuo point of view is everything fine.The D-cache is
Hello,I am trying to create a project with Cube AI studio v1.2.My toolchain and libraries are well detected with Cube AI studio v1.1, and I can create a project.However, it is not the case for the Cube AI studio v1.2. The toolchain paths seem valid, but when creating a project no IDE is proposed at all, as shown in the attached image. Could you help me please ? No debug logs are generated. Versions :Cube AI studio : 1.2CubeMX : 6.17CubeIDE: 2.1.1CubeProgrammer : 2.22.0EdgeAICore : 4.0
I am trying to interface STM32L432KCU6 with ADIN1110. Volktek IMC-553 media converter is used to bridge the MCU board with laptop. I am trying to send UDP data. But communication is not succesful. I have a custom project board with the MCU as well as a nucleo board. I tried on both. However I have succesfully interfaced STM32 with ENC28J60 and communicated with laptop over UDP. I am currently doing development in Zephyr. However if any one can support in Arduino/STM32 Cube or any other, I am OK. My intention is succesfully interface ADIN1110 with STM32 and communicate data and visualise in laptop.Thanks in advance.
Hello ST Community,@pavel_A@erwan_CI am working on a project using STM32 NUCLEO-F446RE and the SmartElex Power Meter (ACS37800) for voltage, current, and power measurement over I²C.https://robu.in/product/1-month-warranty-1276/?gad_source=1&gad_campaignid=18585959909&gbraid=0AAAAADvLFWd-Gp59GIu3AsyVYZj3ppOY9&gclid=Cj0KCQiA7fbLBhDJARIsAOAqhsePuiSx2qOJKlmgFcZN2-_7bfwkDHpCOUyG6G9Q4REJXpOXr7KYUEIaAq3dEALw_wcBHardware details:MCU: STM32F446RE (NUCLEO-F446RE)Sensor: SmartElex ACS37800 (Allegro ACS37800 IC)Interface: I²C1SCL: PB6SDA: PB7VCC: 3.3 VExternal pull-ups: 4.7 kΩ on SDA/SCLI²C speed: 100 kHzSoftware details:STM32CubeIDE v1.19.0The sensor works correctly with ESP32 using the SparkFun Arduino library, but I am looking for a proper STM32 HAL-based reference or sample code specifically for:Correct I²C initialization and addressing16-bit register access required by ACS37800Reading instantaneous voltage, current, and powerRecommended power-up timing and initialization sequenceI
Hello,I've tried to reinterpret a char16_t string (specifically u"Hello")to UnicodeChar* usingreinterpret_cast<const Unicode::UnicodeChar*>they are the same ?What is the difference between them ?
Split from this thread My firmware is based on this ccid usbd driver https://github.com/STMicroelectronics/stm32-mw-usb-device/blob/master/Class/CCID/Src/usbd_ccid.c . The issue that I face, the PC finishes receiving data immediately after receiving 256 bytes (10 bytes of header + 246 bytes of data). when I want to send to pc 253 bytes of data + 10 bytes of header (263 bytes in total) by splitting (64 bytes by 64 bytes) the PC finishes receiving data immediately after receiving the fourth chunk which is 256 bytes (10 bytes of header and 243 bytes of data), It doesn't wait for the fifth chunk, which carries the remaining 7 bytes of my data which arrives in an unknown message despite the fact that I define the size of the data to be sent as 253 bytes. Images 1 and 2 show these details captured by wireshark software.12 this is my code used to send data by chunks : uint8_t SC_Itf_XferBlock(uint8_t *ptrBlock, uint32_t blockLen, uint16_t expectedLen, USBD_CCID_BulkIn_DataTyp
Environment:- MCU: STM32H743IITx- USB PHY: USB3300 (ULPI, external HS PHY)- HAL version: STM32CubeH7 v1.11.6- Mode: USB Host, HS, ISOC transfer (UVC camera)- HFIR: 7500 (manually set for 60MHz PHY clock)Problem:HPRT.PENA is cleared by hardware at exactly HFNUM=16383 (14-bit framecounter maximum, about to roll over to 0). HPRT value at the moment ofHAL_HCD_PortDisabled_Callback: 0x00001409.Key observations:1. PCSTS=1 at the time of the event — device is still physically connected2. This happens 100% reproducibly at frame 16383, never at any other frame3. Without SDRAM (FMC) and LTDC active, the issue does not occur for 1.5+ hours4. With SDRAM only: occurs after ~7 minutes5. With SDRAM + LTDC (framebuffer in SDRAM): occurs within seconds6. Temporarily shorting USB3300 VCC to GND with a probe (adding bypasscapacitance) eliminated the issue for 50+ minutes — suggesting powersupply noise is a contributing factor, but the frame=16383 correlationis too precise to be purely noise-drivenQuestio
Hello Community,I’m facing an issue while loading a firmware HEX file using STM32CubeProgrammer. The HEX file is not downloading successfully. Could you please suggest what might be wrong or provide guidance on how to resolve this?
Hello ST Community, I am trying to run a TFLite model on the Neural-ART NPU of the NUCLEO-N657X0-Q board using STM32CubeIDE + STM32CubeMX and STM32Cube AI Studio. I followed the guide here: https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502 but with my own TFLite model. Model details: Architecture: 5x FullyConnected layers (41→32→32→16→8→1) with ReLU activations Input: int8[1,41], scale=0.0717, zero_point=-24 Output: int8[1,1], scale=0.0354, zero_point=1 Task: binary classification Problem: I have 31 test samples. Every sample produces the same output value 53 regardless of input. I verified the inputs are correctly quantized and different for each sample. What I investigated: Through per-epoch debugging I found the following epoch flow: EP0 (HW): reads input EP1 (HW): continuationEP2 (SW): DequantizeLinearEP3 (SW): Conv float → writes correct floats EP4 (hybrid): outputs ALL ZEROS EP5 (HW): reads zeros → always pr
Hi!I have a custom board with 2GB RAM instead of 4GB RAM. Yes, I have configured 2GB in CubeMX and generated the new DT.Check it out here: https://github.com/DanielMartensson/Watermelon-Wine-1A/tree/linux-testing/watermelon-wine-os%2Flayers%2Fmeta-watermelon-wine%2Fmx%2Fwatermelon-wine-1aIt seems that the booting process passes TF-A without any issues. But it fails at the optee boot process.F/TC:0 0 regulator_enable:94 v3v3 F/TC:0 0 regulator_enable:94 v5v_vconn [ 0.000000] SCP-firmware 2.13.0-intree-optee-os-4.0.0-dev [ 0.000000] [ 0.000000] [FWK] Module initialization complete! F/TC:0 0 regulator_set_voltage:202 vddcpu 800000uV F/TC:0 0 lock_i2c_bus_access:796 thread access F/TC:0 0 unlock_i2c_bus_access:837 thread access completed F/TC:0 0 stpmic2_register_read:259 REG[0x20 v=0x1e F/TC:0 0 pmic_get_voltage:192 vddcpu: get voltage: 800000 uV F/TC:0 0 pwr_get_state:243 vddgpu: get state D/TC:0 0 set_opp:60 set volt to 800000uV F/TC:0 0 regulator_set_voltage:202 vddgpu 800000uV F/T
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.