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'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
General The stm32-vscode-extension extension for Visual Studio Code is designed to enhance the development experience for STM32 microcontrollers by providing a comprehensive and updatable set of tools. The extension pack allow users to install one single pack bringing a full STM32 IDE experience into VS Code. Breaking Changes Complete architecture redesign: The tool architecture has been split into three major building blocks with the purpose of creating a flexible, maintainable and updatable platform consisting of the following blocks: GUI, CLI tools and STM32 device support. GUI: The platform's single extension has been transformed into an extension pack, offering a more modular, updatable and flexible setup. CLI tools: A new bundle manager is enabling VS Code to download required CLI tools. This replaces the all-in-one STM32CubeCLT package. The bundle manager will provide developers flexibility, updatability and
Dear Team, We kindly request you to provide the compliance status for the below mentioned parts for REACH,ROHS,POP,PFAS,CALIFORINA PROP 65,TSCA and presence of 3TG minerals. STM32F051K8T6 (SEC014800000)STM32F051K8T6 (SEC014800000) (QIS230405SEC015300000/ STM32F030CCT6(SEC015300000/ STM32F030CCT6)(QIS230405JSEC015600000/ STM32F091CCT6STM32F030C8 (SEC015000000)LM219DTUC3843BD1
I am creating a commercial educational course for the STM32F103C8T6 microcontroller.My planned usage:Taking static screenshots of specific datasheet pages (register tables, timing diagrams, memory maps)NOT showing the entire datasheet — only essential pages (30-40 pages out of ~100)Narrating and explaining the content in my own wordsKeeping all STMicroelectronics logos and copyright notices visibleAdding my own annotations (arrows, circles, highlights)Providing links to ST's website for the full datasheetNOT redistributing the PDF fileMy questions:Is this allowed under ST's copyright policy for commercial educational content?Has ST ever taken action against any instructors for this type of usage?Do I need written permission from ST, or is this considered fair use?Example of similar usage (for reference):Hayducate learning website Thank you for your guidance.
Hi, is anybody able to confirm if the STM32H563ZIT3Q has an ethernet peripheral? Thanks, regards.
Hi everyone, I’m building an open-source desktop IDE for microcontroller learning and prototyping, mainly focused on Arduino and STM32. The goal is not to replace professional tools like STM32CubeIDE, PlatformIO, Keil or IAR, but to provide a simpler learning-oriented workflow for students, technicians and training centers. Current / planned features: Arduino and STM32 project creation Build / upload workflow Serial monitor and serial plotter STM32 debug with GDB/OpenOCD Register / memory / stack views Basic SVD peripheral view Static analysis with cppcheck / MISRA-light Coverage reports Crash / HardFault reporting Power profiling demo via UART/SWO-style events QEMU/Renode simulation experiments I’m looking for honest feedback: Would such a tool be useful for education or training? Which feature would be most valuable? What would make you trust or not trust this kind of tool? Would it be better as a VS Code extension, standalone IDE, or educational toolkit? What pain points do you h
So I have a series of PIN configured as Application and/or Boot only but, for some reason, the CubeMX generates the code on both main.h in Appli and Booti.e.I have PC0 set as Application only context but I found it in the Boot as well
I've been struggling with a strange ADC problem for a while, and have now made some interesting observations.The scenarioI'm using an STM32G474, where HRTIM directly controls a peltier driver for temperature regulation. Temperatures are measured by ADC4 (12 bit resolution), running in DMA circular mode, triggered by TIM7, at 1 kHz. This works. Temperatures are coming in, and are being used for PID regulation.The problemQuite often – perhaps always – some of the temperature readings are being disturbed, but only at certain temperatures. At first, I thought that it was random noise, but in a graph the noise looks strange. Not random at all.After monitoring the raw ADC values that the DMA has thrown into memory, I discovered something that might be a clue – or it might just be a source of confusion. Every time a noisy sequence occurs, the ADC readout jumps to a lower nearby value where the five least significant bits are all 1, i.e. xxxx xxx1 1111. This is not random noise. It is if as th
Hello! I am encountering some issues when trying to run 2-Lane DSI with an STM32H747.Current Hardware Configuration:MCU: STM32H747 (using the Cortex-M7 core)Display Driver: Chipone CO5300 OLED Display DriverDisplay Panel: Round TOH143XRT-01CG2 1.43" 466×466 AMOLEDInterface: MIPI DSI (adapted command mode) Issue I am experiencing:I have successfully implemented 1-lane DSI communication between the STM32H747 and CO5300 display driver. However, when I configure both the STM32 DSI host and CO5300 for 2-lane operation, the display is not responsive (black screen / nothing being displayed) The display pipeline works as follows:DMA2D → Performs 2D graphics operations and copies framebuffer data to SRAMLTDC → Reads framebuffer from memory, performs layer blending, generates parallel RGB pixel stream (HSYNC, VSYNC, DE, pixel clock, RGB data)DSI Wrapper → Converts LTDC parallel RGB stream into a format suitable for DSI hostDSI Host → Packetizes pixel data into MIPI DSI packets, seriali
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.