Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi everybody,I’m struggling with the lwip stack in order to get it working with freertos.I had succesfully achieved to bring up the connection and optain an ip in dhcp mode and ping the board in bare metal mode, now I switched to freertos and I’m no longer able to send discovery packets on the network.I followed the instructions stated here stm32-hotspot/STM32H7-LwIP-Examples: Ethernet examples using LwIP + FreeRTOS for STM32H7 Discovery and Nucleo boards and tried to copy .ioc configuration from H745 example but I still have the same problem, the phy connection goes up but I cannot obtain the IP address from dhcp server. I’m monitoring the network activity with wireshark but there is nothing coming from the board mac address (in bare metal mode I was able to see dhcp negotiations).Please find the attached files in order to check what happens and addres the possible issue.My configuration: STM32CubeIDE Version: 2.2.0STM32CubeMX Version: 6.17.0STM32Cube FW_H7 V1.13.0PS: please note that
Hi ,I generated a new STM32F407 project using STM32CubeMX.However, I cannot find I-CUBE-LRWAN under Software Packs or Middleware for the STM32F407G-DISC1 board.From what I understand, CubeMX only exposes I-CUBE-LRWAN for certain STM32 devices such as:STM32WL series B-L072Z-LRWAN1 Discovery Kit Some STM32L0/L4 examplesbut not for STM32F407.Because of this, I am unsure about the correct integration method.What I have DoneCreated a new STM32F407G-DISC1 project in STM32CubeMX. Configured the required peripherals (SPI, UART, GPIO, RTC, etc.). Added the SX1262 driver from the following repository: https://github.com/Saba-abiri/LORA1262 Identified and copied the required I-CUBE-LRWAN source files into my STM32F407 project. Resolved most of the compilation errors after integrating the middleware. Successfully built the project.Although the project now builds successfully, I am still unsure whether the middleware has been ported correctly because the LoRaWAN stack does not appear to initializ
What is the correct way to implement multiple ADC channels? I have tried various tutorials on YouTube, but none of them work correctly. I am using two potentiometers. The ADC readings are random and cannot be controlled by the potentiometers. At one point, I managed to get it working, but only one potentiometer responded. The second potentiometer did not work, and the value of Channel 2 followed the value of Channel 1, even though Channel 2 should be controlled independently by the second potentiometer.
Hi, I’m using Nucleo-64 development board with STM32H533RE. On the board,H533:RTC crystal is Crystal, 32.768kHz, 9pF, +/-20ppm, 70KR, 1.6x1mm and load capacitors are 3.9pF each.Crystal 24MHz, 6pF, +-20ppm, 80ohms max, SMD, and load capacitors are 6.8pF each. F723:on the same board, the STM32F723IEK6, it is Crystal, 24MHz, 6pF, +/-20ppm, 80R, 2x1.6mm and load capacitors are 2.7pF each.should the RTC load capacitor value close to 15pF each? should be 24Mhz load capacitors close to 10pF each? why STM32F7 and STM32H5 24MHz have different capacitor values?Thank you for your concerns
I’m designing another PCB for the STM32L452 LQFP48, and I was wondering - how big is the die? Can I see a picture of the structure of the LQFP 48 before it is encapsulated?I use double layer boards, and have as much ground plane under the micro, both top and bottom layer as possible. But I often sneak some power tracks around the inside perimeter of the micro. But under the plastic goo I do not know how big the die is. How far can I go with tracks before I am under the actual microprocessor? I think knowing the internal dimensions of the package would help me fine tune my printed circuit board designs.I suppose I could destroy one to find out, but that seems like a waste (and messy). I can’t imagine it would be company confidential… or could it? If a photo is confidential, how about a CAD drawing? … or maybe an artist’s impression...
Hello everyone,I’m currently working with an STSPIN32G4 MCU on a custom board.Two version of this board exist: version A and version B.When I upload the firmware to the MCU on board A everything works correctly. The exact same firmware on version B doesn’t work.What happens:Board B is powered on and the MCU is still fabric new (no firmware uploaded) The custom fw is uploaded using the “Debug” feature of STM32CUBEIDE via JTAG The code is executed succesfully by the MCU Board B is powered off After repowering on board B the issue starts to present: the firmware gets stuck as soon as any interrupt is calledHere’s an image of where the program points at when I press stop on the debugger after an interrupt callWhat has already been tried:Performing a full chip erase on the MCU and redownloading the firmware, but it still gets stuck on interrupt call Removing the interrupt that was causing the firmware to get stuck (UART1 interrupt), but it still gets stuck as soon as TIM2 interrupt gets cal
STM32CubeProgrammer settingsJust got a NUCLEO-L476RG and connected to my computer. I cannot connect to it with STM32CubeProgrammer or STM32CubeIDE2.0.I had STM32CubeMX generate some code to blink the LED and haven’t changed any code in IDE.How to I actually connect to this board?I have tried changing to hardware reset, holding reset button pushing connect in Cube, then releasing etc. I am able to run Firmware upgrade in Programmer and it says it completes successfully. debug authentication discovery fails also IDE Debug error: (when I connect the board it opens in file explorer automatically)
Hi ST community I'm working on a simple application to get USB Device CDC ACM up and running. My goal is to make my STM32N6 Nucleo board detectable by my laptop so that it appears as a Virtual COM Port under Windows Device Manager.Here are my STM32CubeIDE settings:Step#1: Clock Configuration. Step#2: Set SYS clock : HSE -? DIGBYPASS Clock Source Step#3: Select TIM6, check off : Application Step#4: Select TIM6 as Timebase Source, check off : Application Step#5: Select USB1_OTG_HS, and select Internal HS Phy: Device, check off : Application Step#6: Select Threadx and check off Core and Mode: Application Step#7: Select USBx with the following setting :1. Mode: Application mode 2. Check off Core system3. UX Device: Device CoreStack HS and Controllers HS4. Device Class HS: CDC_ACM And here is my main.c file : Here is my project folder structure.To program the board, I've set the boot switches to DEV mode and compiled only the application code. I don't build or progr
Hi, its my first postLet me introduce myself, my name is Manuel, I am from Spain (English is not my native language) and I have joined the forum looking for help. My profile is that of a maker with very little programming experience (an AI maker). AI helped me a lot to make the programs I’m migrating a project from Arduino to an STM32 Blackpill; I managed to get it working on Arduino.Sim racing pedalsThe pedals are a potentiometer (for the accelerator) and a loaded cell (for the brake). Well, what I thought would be the hardest thing to do—getting the STM32 Blackpill to “read” those sensors—I’ve managed to do. I press buttons on the console and see the changes… but what was easy on Arduino—turning it into a game display for Windows—I’m not being able to do on the STM32… the libraries that Gemini recommends are either missing or don’t work… I’m looking for help getting Windows to recognize my STM32 as a gaming device. I thought this part would be easier; the Blackpil
Embedded veteran here, been involved in all manner of MCUs and MPUs professionally (especially safety-critical) but for personal use most of my prior experience has been with PIC16F and 18F (to save money obviously), of course those are only 8-bitters. I’m very interested in learning STM32 MCUs (gee they look ALMOST like DSPs except it’s single-cycle multiply not MAC and no simultaneous pointer adjustments etc.). Thing is my PIC experience has given me a pretty decent collection of chip initialization routines that I can adapt as necessary for small differences with peripheral features and such. My “inherent bias” is bare metal, no FreeRTOS, I understand I may be “going against the grain” a little but I want to get my hands on every nanosecond I may have coming. I don’t necessarily need this in C language, but I would like to get my hands on at least a very detailed list of all the HW registers that COULD need to be set, and the EXACT order in which this is “most safely accomplished”.
Hello,another day, another N6 "issue" :)I want to do RAM to RAM copy by HPDMA, but the data never get copied from Src to Dest, Dest always stays unmodified. I have checked the 'DMA_RAMToRAM' example for N6 and went from there, but with no success.DMA Init:__HAL_RCC_HPDMA1_CLK_ENABLE(); HAL_NVIC_SetPriority(HPDMA1_Channel1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(HPDMA1_Channel1_IRQn); handle_HPDMA1.Instance = HPDMA1_Channel1; handle_HPDMA1.Init.Request = DMA_REQUEST_SW; handle_HPDMA1.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; handle_HPDMA1.Init.Direction = DMA_MEMORY_TO_MEMORY; handle_HPDMA1.Init.SrcInc = DMA_SINC_INCREMENTED; handle_HPDMA1.Init.DestInc = DMA_DINC_INCREMENTED; handle_HPDMA1.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_HALFWORD; handle_HPDMA1.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD; handle_HPDMA1.Init.Priority = DMA_LOW_PRIORITY_HIGH_WEIGHT; handle_HPDMA1.Init.SrcBurstLength = 2; handle_HPDMA1.Init.DestBurstLength = 2; handle_HPDMA1.Init.TransferAllocatedPort = DMA_SRC_ALLOC
"I recently bought an STM32F030C8T6 chip, but when I was programming it, I didn't enable the debug interface as Serial Wire. As a result, although the first programming was successful, I can no longer program it through the Serial Wire interface. How can I solve this problem?"
I am working on STM32WL55 dual core in which the current consumption is as not as expected as according to the datasheet. It is hardcoded for high power only. and the current consumption is coming for +17dBm and +14dBm as expected which is 58mA and 45mA approax but when switching to the +20dBm and +22dBm it is getting capped at 68mA only. It is not going above 68mA at any way. I have hardcoded it to 22dBm but it is still getting capped to 68mA only. I want to do changes in the code in such a way that the current consumption changes. what are the possible reasons of it and what are the functions where the code modification can help in changing the current consumption. Is there that ST has capped it to +18dBm or +17dBM and will never work above it? void SUBGRF_SetTxParams( uint8_t paSelect, int8_t power, RadioRampTimes_t rampTime ){uint8_t buf[2];int32_t max_power;if (paSelect == RFO_LP){max_power = RBI_GetRFOMaxPowerConfig(RBI_RFO_LP_MAXPOWER);if (power > max_power){power = max_powe
@Pavel A. I am facing a similar issue. Cannot instal STLINK drivers on Windows 11 (STSW-LINK009 | Software - STMicroelectronics) Here is my system information: Any help would be greatly appretiated!
Hello, I'm working on a project using the STM32F401RE board to perform real-time fault diagnosis on machinery.The board receives vibration data in real-time via a USB-type accelerometer (Digiducer 333D01), and a lightweight deep learning model running on the MCU determines whether the signal indicates a normal or faulty condition.All of this is running under FreeRTOS and must meet real-time constraints. The accelerometer is connected through a USB breakout board (YwRobot ELB050209), and the STM32 board is configured to operate as a USB Host with Audio Class support.The USB connection and device enumeration process (including descriptor parsing) have been completed successfully. Interestingly, the Digidecer 333D01 is recognized as a USB Audio Class device, specifically as a microphone-type interface.The device presents itself with an Audio Control interface and an Audio Streaming interface (Isochronous IN), similar to a standard USB microphone.Although the data represents vibration (acc
EnvironmentTouchGFX 4.26.1 (Engine + prebuilt library) LCD config: 8bpp, `LCD8bpp_ABGR2222`, 240x240 Reproduced on Windows simulator (MSVC), Linux simulator, and STM32U595 hardware. Same TouchGFX source across all three, so this is not platform-specific.SummaryWhen an ABGR2222 dynamic external bitmap is drawn with `LCD::drawPartialBitmap` and the source rect extends past the dirty (clip) rect on the Y axis, the clipping path writes the overhanging rows starting at the dirty rect's top (`dirtyRect.y`) instead of at the requested `screenY`. The result is a duplicated copy of those rows at the wrong vertical position.X-axis clipping is correct: `screenX` can be negative or off-screen with no issue. The defect is specific to vertical overhang. Trigger conditions (all must hold)Bitmap format `Bitmap::ABGR2222` (the other three 8bpp 2222 formats compile to identical code, so they are likely affected too) Bitmap registered with `Bitmap::dynamicBitmapCreateExternal` Drawn via `LCD::drawPartial
Hello everyone,I'm a final-year Electrical and Electronics Engineering (EEE) student aspiring to build my career in the Electric Vehicle (EV) industry, particularly in areas such as Battery Management Systems (BMS), Power Electronics, Motor Control, Embedded Systems, and eventually R&D.I recently decided to learn the STM32 NUCLEO-F303RE as my primary development platform because I understand it is widely used for motor control, real-time embedded applications, and industrial systems.I am a complete beginner to STM32 and embedded systems (although I have basic C programming knowledge), and I'd like to learn it the right way rather than just following random tutorials.I'm looking for guidance on the following:What is the best learning roadmap from beginner to advanced for the STM32 NUCLEO-F303RE? In what order should I learn the peripherals (GPIO, Timers, PWM, ADC, UART, SPI, I2C, CAN, DMA, etc.)? Which official documents should I read first (User Manual, Datasheet, Reference Manual,
Hi ,We are facing an RMII signal setup time violation on the RX side of the RTL8364.We have already discussed this issue with the Realtek team, and they have suggested verifying the STM controller side, as the timing issue may be originating there.Could you please review the issue and suggest a possible workaround or any recommended configuration changes on the STM controller side to resolve this setup time violation?For your reference, we have attached the schematics and waveform captures.Looking forward to your guidance. Thank you.
Hello everyone,I am experiencing a strange issue with the Ethernet interface on my STM32F207VC.Problem DescriptionAfter programming the firmware using STM32CubeProgrammer v2.12.0 with an ST-LINK debugger, the application works perfectly:- The board responds to ping.- My PC client communicates successfully with the TCP server running on the STM32.- Ethernet communication is fully functional.However, after performing a power cycle, the Ethernet stops working:- The board no longer responds to ping.- TCP communication fails.- The application itself appears to be running, but the Ethernet interface is non-functional.Hardware Details- MCU: STM32F207VC- Ethernet interface: RMII- Default STM32 RMII pins are used.- Programming/Debugging: SWD (ST-LINK)- The board has an external 8 MHz crystal, but in STM32CubeMX the MCU is configured to use the internal HSI clock (HSE is not enabled).- The Ethernet PHY has its own 25 MHz crystal and provides the required 50 MHz RMII REF_CLK to the STM32.The exac
Hello,I am looking for a BLDC motor controller with Hall sensor and Encoder interface. Hall sensor is used for commutation and Encoder will be used for position control. I could not find a motor controller with above mentioned interface. Can you suggest a suitable controller?Thanks,Anand
I purchased a brand new Nucleo board. plugged it into my computer, USB device detected, please update firmware; yes; then the process stopped “Error 33” Now my BRAND NEW nucleo board seems bricked. Is there any recovery mode? I have tried several times on STM32 Cube Programmer; The board is detected, Does anyone have any suggestions? - This does not bode well for my first introduction to ST. What a flaky system. I have changed cables etc, several different combinations, changed USB ports, rebooted, all of the standard stuff. It seems as though the Nucleo board’s serial number is being detected. The firmware update process starts, runs for a few seconds, several red LED flashes, then halts and gives error 33.
Hello,I noticed that in the STM32Cube_FW_H7_V1.13.0 distribution, the folder \Drivers\CMSIS\DSP\Lib has disappeared.Is there a document available that explains how to compile these libraries, and what are the options and defines to set for an STM32H743?Thank you.
I’m starting FOC code generation for H5 using MCSDKBlocks I am configuring in MC Workbench include , STMH563ZI (Nucleo Bd) and IHM07M1 (Power module), and motor. I noticed the PWM configuration is not for general purpose, it is specifically configured for L6230 in IMH07M1.But I’d like to configure PWM for general purpose, such as for the STEVAL-LVLP01 board I have evaluated already, is this possible? Please let me know and thank you for your consideration.
Dear Team,I would like to request access to the Amazon FreeRTOS code supporting OTA functionality on STM32 platforms.I am currently working with STM32 boards and am specifically interested in evaluating and developing OTA-based solutions using Amazon FreeRTOS. I understand that access to this codebase is currently restricted, and I would like to be considered for whitelisting.Requested Access For:Amazon FreeRTOS OTA code for STM32 platforms (e.g., B-L475E-IOT1A, NUCLEO-H743ZI, P-NUCLEO-WB55, STEVAL-STWINKT1B, X-NUCLEO-BNRG2A1, STEVAL-STMODLTE)Purpose:I am working on embedded development involving BLE and cloud-connected applications and would like to integrate OTA update capabilities into my STM32-based projects.Please let me know if any additional information is required to process this request.Thank you for your time and support.Best regards,Ravi
Hi ST expertSTM32G473cbt6 and STM32G474cbt6 are pin-to-pin compatible, can their software projects be designed into one project?
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.