Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
COO DetailsTop MarkingWe are experiencing critical issues with the COO data provided for STM32H5 series MCUs. There is a persistent mismatch between the website (non-China), the physical chip markings (CHN), and the final invoices.If this is not country of origin "CHN". Please elaborate on what CHN necessarily mean. We need an immediate resolution to ensure our invoices accurately reflect the physical product markings to satisfy Customs requirements. Please advise on the steps to rectify these declarations.
Added "DHCP" in the title to give the context. Using an STM32H7S78-DK I try to set up the network to join an IPv4 network through DHCP. I did set up the board using CubeMX, standard configuration, MPU activated. FreeRTOS + LwIP Removed all other interfaces I don't need. Made sure the Ethernet clock shows 50MHz The LED's on the RJ45 start to blink (Orange LED blinks with packets exchanged) but I get no IP address. digging in the possibilities I added a simple routine to monitor the DHCP advancements. struct dhcp *dhcp_data = netif_dhcp_data(&gnetif); if (dhcp_data != NULL) { printf("[DHCP] State: %d, Retries: %d\r\n", dhcp_data->state, dhcp_data->tries); } this shows I get stuck in state 6: waiting for an ACK -> what could be behind this? can someone share an .ioc file that sets everything correctly in MX?
Hi @Community, I have previously posted the same issue , that i have been working on the STM32H723ZGT6 - Nucelo board on Ethernet LWIP to acheive TCP/IP without free RTOS, Im still facing the same issue that i cant ping the IP.I have tried the GITHUB of STM32CUBEH7 -> APPLICATION ->LWIP -> TCPSEREVR ECHO . Its working perfectly , but cant remake or reuse it due to some library issue , im in a middle of a development of a project. so i tried to take the tcp confing in the example code and reuse it , but that also failed So i tried to remake the all the linker script and searched various Youtube videos , but everything remained in vain , ill share some screenshots of my configuration , can anybody help me with this , I previously seens several quries that facing the same issue , those who got resolved the issue kindly share your solution and approach with me. Thank You ,Gokul
The WL series is great, but unfortunately there aren't any chips with more than 256KiB flash and 64KiB RAM. This appears to be a serious limitation for a SoC with LoRa connectivity.The value proposition of this series is that you pay for one package that provides both connectivity and compute, which is cheaper than paying for 2 separate ICs. I'm personally working on a project where this small memory is beginning to be an issue, and I might end up having to separate those ICs.It kind of seems strange to me that the G0 "entry-level" series comes with much more memory - up to 1MiB / 144KiB.Are there any plans to bring out WL series chips with more memory?Thanks
Hi, As per UM3610 « section 7.7 », a "Bootloader limitation" has been found in NUCLEO-WBA25CE1. Please refer to "Workaround" section if you are facing this limitation.
I am using CUBEMX Version 6.10 STMCUBE IDE 1.16.0FW version F7V1.17.0Enabled LWIP ETH With FREERTOS CMSIS2same settings did with cmsis version 1 it's working but with cmsis version2 NOT WorkingI configured on internal Timer TIM1 as soon as I connect Eth Cable program counter not reaching threads & Timer callback / TIM6(systick update).I checked in fault handlers it is not reaching here ETH State in eth handler is (READY STATE --> START STATE)Error code in eth handler is zero.Here I have attached my .ioc fileI have updated flash ld file as per repository code LWIP Debug Messages : netif: netmask of interface set to 255.255.255.0 netif: GW address of interface set to 192.168.10.10 netif_set_ipaddr: netif address being changed netif: added interface
Split from Transmit line stuck high on STM32F415 with MAX3232 - this is a new questionWhat ST board would you recommend? This is not really my realm. Thanks!
Hi!I'm building a device using a STM32U31xx, connected to a Network Chip via I²C (PB6/7) and 2 GPIOs for Reset and BOOT0 Pin. The intention is to have new firmware downloaded onto the network chip, and flash new firmware to the STM32U031 via the system bootloader.I power up the system to invoke a power up reset on the ST device, I immediately flash firmware and ask the chip after another reset cycle for the new firmware version to confirm the new firmware was flashed.The behavior I observe is the following:- if the STs Option Byte nBOOTSEL is 0, the process works just fine, very reliably.- if nBOOTSEL is 1, the process fails even if I mass erased the STs flash memory entirelyThis is contrary to my understanding of AN2606 Table 2, pattern 11, that states that the empty check should start the system bootloader no matter the state of nBOOTSEL bit or BOOT0pin.I intended to have the ST chip flashed on production without previous intervention into the STs option bytes (nBOOTSEL is 1 on deliv
Hello,I am writing this because I am unable to enable the SAI on this development board. The strange thing is that I actually managed to enable it before and it was working correctly. However, while implementing another feature, I switched branches and worked on a different GitHub branch for some time. When I came back, I noticed that the SAI was no longer starting.At first, I thought I had made a mistake in a commit, so I created a completely new project where the only goal was to start the SAI. Even though I believe all the steps are configured correctly, the MCK clock never starts, and the MCKEN register bit never becomes enabled. I am attaching screenshots of the SAI registers below. As shown in the screenshot, the SAI is enabled, but I cannot see any clock output on the oscilloscope. As I mentioned before, what confuses me the most is that two weeks ago, using the exact same development board, I was able to make it work correctly.I tried adding the following line inside the M
Hi all,I'm looking for recommendations on eMMC chips that are known to work reliably with the STM32H743 via SDMMC1 in 8-bit mode.I've gone through a number of threads here and put together what I've found so far:- Micron 4GB (MTFC4GACAJCN) — comes up often, though some posts mention HAL misreading certain CSD fields (appears cosmetic rather than functional)- Kingston 4GB — confirmed working with SDMMC1 + FatFS + FreeRTOS, corruption reports seem tied to FatFS rather than the chip itself- Samsung KLM series — functional but VCCQ voltage negotiation adds complexity- Kioxia THGBMDG5D1LBAIL — 153-ball WFBGA, eMMC 5.0, fewer reports but looks promisingHappy to keep things simple — 3.3V on both VCC and VCCQ, no need for HS200/HS400.Would love to hear from anyone who has had long-term success with a particular chip, or any that are worth avoiding. Any layout tips for the 153-ball WFBGA package are also welcome.
I'm using an STM32H7S78-DK with TouchGFX and FreeRTOS. I would like to limit the framerate of the target to 30fps but withouth reducing the LTDC frequency.Basically having the VSYNC fired at 30fpsI've already set the ((touchgfx::HALSDL2*)&hal)->setVsyncInterval(33.333);In the simulatorIs there a way to force it on the target?
Is there any utility in the holes and silkscreen circles around the TFBGA225 on the NUCLEO-H7S3L8? It appears to be the same pattern on the Discovery board, suggesting it might be for BGA placement or maybe a heatsink. Edited to put the image in-line for better visibility
Hello Team,We are using the internal SMPS configuration for the core power supply. However, the power-up sequence does not specify the timing requirements for the different stages.Could you please provide the timing details for the following? What should be the time duration for the PWR_ON signal to transition from low to high while VDD and VDDA18AON are rising (Step 1)?After PWR_ON goes high, what is the required time duration for VDDA18PMU / VDDSMPS to rise (Step 2)?What is the exact meaning and function of the SDEN signal?Are there any additional considerations or recommended guidelines to be followed during the power-up and power-down sequence? Thanks
Hello, I am using an **STM32 NUCLEO-N657X0-Q** board with the **B-CAMS-IMX camera module**. Originally, the board was working correctly. In **DEV BOOT mode**, I loaded and ran my AI model, using the B-CAMS-IMX camera sold by ST. The board connected normally to my laptop, and I was able to confirm that the AI application was running correctly by viewing the camera output and the AI object detection result on my laptop. I also changed the BOOT pins and confirmed that the same AI application worked correctly in **Flash Boot mode** as well. After that, I wanted to test whether the board could run from an external power supply instead of being powered through ST-LINK. So I changed **CN9 from 1-2, STLK power, to 5-6, VIN power**, following the description in the official NUCLEO-N657X0-Q documentation. Then I applied **7V from a DC power supply to the VIN and GND pins** of the NUCLEO-N657X0-Q board. I carefully checked the polarity and connected VIN and GND correctly. When I supplied 7V throu
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
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.
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 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
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 ?
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.