Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello allDo we knoiw for the example like ( https://support.touchgfx.com/docs/development/scenarios/running-graphics-from-external-ram ) but for the STM32H750B-DK board where the bigger LCD is used?Any comments are more than welcome!Best.
Hi, I’m trying to get SDMMC + FileX + ThreadX working on an STM32H5 (NUCLEO-H563ZI) and I can’t find any complete example. SDMMC works on its own, but once I enable FileX, fx_media_open fails and no files get created. I’ve tried the H573 FileX examples, aligning buffers, using 1-bit mode, and adapting the fx_stm32_sd_driver_template, but nothing has worked so far. Does anyone have a minimal working example project that shows FileX mounting the SD card through SDMMC and writing a simple text file? Even a small CubeIDE project or code snippet would be extremely helpful.
I am working on an STM32 device with TrustZone enabled, and I am using the RTC with backup domain powered by VBAT. My RTC is initially configured while VDD is present, and after power-off, the time is supposed to be retained using VBAT.When I use the LSI clock, the RTC initializes correctly, and the time is retained across power cycles. However, I observe some drift, so I switched to the LSE clock. With LSE, the drift problem is gone, but a new issue appears:The RTC time is NOT retained when the system is powered from VBAT only.After removing and restoring VDD, the RTC resets instead of keeping the previous time.Details :TrustZone is enabled in the project.RTC + Backup domain is configured in the secure domain.Powering the RTC from VBAT works when LSI is used but fails when LSE is used.LSE crystal is soldered and oscillation appears stable.VBAT is present and verified during power-off.No backup registers or RTC clock settings seem to persist when using LSE.1)What could cause the RTC no
I have been trying to generate a motor control demo for TrustZone enabled environment but seems Motorcontrol work bench does not support that. Is there any procedure/ way to manually port the code to TrustZone enabled environment?
i'm trying to receive some data by uart and send by spi, both dma normal mode, i've done comunication separately but when i join them get stuck on spi busy, i tried a lot rtos(queues and semaphores), i changed almost all the code, but i just can't do this alone, i need some help. I am starting now at this level of embedding sistem and i'll be greatfull if anyone cold help me. this is my code for: RTOS: /* USER CODE BEGIN Header */ /** ****************************************************************************** * File Name : freertos.c * Description : Code for freertos applications ****************************************************************************** * @attention * * Copyright (c) 2025 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. * **********************
Dear All,I have been working on project to develop an HMI for vehicle for prototype purpose I am using MI0283QT-9A TFT display in SPI mode want it to work with my customized board using STM32F103CBT6. Currently I my using ILI9341 drivers available online and for their project it works where they used STMBlue pill.Mentioning detail of SPI and GPIO selection I made:1)SPI: pre scale: 64, Mode: transmit only master, Frame format: Motorola, 8bits ,First bit MSB,Baud rate:1.12MBits/sec2)GPIO: CS(GPIO_out=Low),D/C(GPIO_out=High),RST(GPIO_out=High)Connection:IM0=L, IM1=H,IM2=H,IM3=0.RS---> SCKWR---> D/CCS ----> CSRD---> VCCD0-D17--->GNDSDI ----> MOSISDO ----> MISOIssues and observations:1) The SPI communications starts MOSI send some packets SCK is have 1.1MHz stay active for 10 sec and stops, this activity is done after every resent or turn ON. Verified on CRO.2) The LCD backlight turns ON and doesn't display anything For reference I have provide links of l
I want to use stm32f103rct6 inner RTC, I write some code as below to active RTC, But I found I couldn't set DBP bit of PWR_CR reg to 1, __HAL_RCC_PWR_CLK_ENABLE(); __HAL_RCC_BKP_CLK_ENABLE(); LL_PWR_EnableBkUpAccess();when I debug the reg as below(gdb) x/2x 0x40007000 0x40007000: 0x00000000 0x00000000
We are facing an issue with the RTC on our STM32L-series microcontroller board. Below are the actions we tried and their outcomes:Main issue:When the battery is connected to the supercapacitor for the first time, the RTC initializes correctly.But when we simulate a power loss by manually removing the main power and reconnecting it, the RTC clock fails to configure on the second initialization.Tests performed:Removed the supercapacitor and replaced it with a coin cell and an RPS → the clock still fails to configure.When the system is configured without any backup power source, the system clock initializes and works normally.Referred to this article: https://mischianti.org/stm32-internal-rtc-clock-and-battery-backup-vbat/ and tested the small noise-suppression circuit, but it did not resolve the issue.Tried fully resetting the RCC using:__HAL_RCC_BACKUPRESET_FORCE();__HAL_RCC_BACKUPRESET_RELEASE();This allows the clock to reinitialize, but the stored RTC time/date are lost.Please provide
Dear community,first of all: I'm new to using STM32 controllers. I did some quite complex project using Arduino (consisting of Arduino Nano Every (ATMega4809) and a custom board using ATMega328P), but for my next project I consider switching to STM32 due to higher need for SRAM. So, I begin with simple blink-application to learn.Board used: Nucleo-L432KCIDE: STM32CubeIDE, STM32CubeMXOS: Win 11LED that shall blink: LD3 (the green one)So far, code is working, but with unexpected GPIO_PIN_3.I did some search here in the forum related to my question, but no sucess. Consulting documentation was also not helping at the end:With reference to User Manual UM1956 Rev 6, Table 16 on page 30, and schematic on page 33 (of Rev 5!, Rev 6 does not show the schematic), the green LED LD3 is connected to pin PB3 of STM32L432KC. In Table 16 of UM1956 the pin number is given for PB3 as 15.So, I would have expected to toggle the pin by using:HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_15);but instead I hav
Hello Forum,I upgraded my (alredy working) project, based on AT-Slave to the latestSTMCubeIDE: V2.0.0STMCubeMX: V6.16.0and STM32Cube_FW_WL_V1.4.0My problem: suddenly I get Flash Error -6 "FLASH_IF_PARAM_ERROR" after "AT+CS".Is this a know issue? Before, all worked and "AT+CS" stored well.My Stack, derived from AT-Slave:AT+VER=? APPLICATION_VERSION: V1.4.0 MW_LORAWAN_VERSION: V2.6.2 MW_RADIO_VERSION: V1.3.1 L2_SPEC_VERSION: V1.0.4 RP_SPEC_VERSION: V2-1.0.3I think there might be some issue with the FLASH-IF-Driver? I also reconised in "lora_at.c" a missleading comment:(it should be 256kBytes, not 128), whereas ADDRESS is right. /** * @brief LoRaWAN NVM Flash address * @note last 2 sector of a 128kBytes device */ #define LORAWAN_NVM_BASE_ADDRESS ((void *)0x0803F000UL)Thanks for any help,Jo
Split from STM32G431CBU: section `.bss' will not fit in region `RAM' as that issue is solved, and this is a new question.One more question. If you can help.BSP_TS_Init e BSP_TS_GetState is not recognized in IDE versions 1.19 and 1.20.Therefore, TOUCH doesn't work.BSP_TS_Init(ILI9488_TFTHEIGHT, ILI9488_TFTWIDTH);BSP_TS_GetState(& osc->touchScreen);What did I forget to port?
There is an error in table 17 on page 33 in regards to two of the pin positions for the MB1880A adapter. Table 17 states that pin 2 is SPI1_MOSIP (PA7) / UART1_TX (PC1) and pin 3 is SPI1_MISOP (PA6) / UART1_RX (PC0). These two pins are reversed in both the CN2 and CN3 columns. In actuality, pin 2 is SPI1_MOSIP (PA7) / UART1_RX (PC0) and pin 3 is SPI1_MISOP (PA6) / UART1_TX (PC1). This is confirmed by table 13 (page 28), the MB1779 schematic (MB1779-HIGH-BAND-B02 Board schematic under the B-WL5M-SUBG1 CAD Resources tab), and wasting an hour trying to determine why the I2C3 port was not talking to a device.
Hi,I am currently trying to update my STM32L433 on my custom board and I am having some issues with the RDP level 1.When receiving the blank boards (not programmed yet), I use a RPI with OpenOCD and a JTag to update the chip. When I set the RDP level 1, I can't seem to find a way to restart the device with having to do a manual power cycle. I am missing something?This is what I do :initreset initstm32l4x mass_erase 0sleep 50flash write_image "$name"sleep 50reset runAfter first programming, I am trying to update through USB dfu using a custom application in C# based on CubeProgrammerApi. I am able to boot the device in the Bootloader (I have control over the Boot0 and Reset pins), to connect to it, remove the readout protection (using connectDfuBootloader2) and flash the new firmware.I am unable after that to set the readout protection using sendOptionBytesCmd("-ob rdp=0xbb") (gives me an error) and if I set it in the application itself, my STM32 cannot restart unless I do a manual powe
Im looking to use the STM32G0B1KBU processor including the USB-C interface.I only want to use it as a UPF with VCP and update the firmware, no advanced PD or role switching. The issue is that UCPD1_CC2 is not routed to a pin on the processor.Is it possible to substitute the UCPD1_CC2 function with the "Dead battery pulldowns" UCPD1_DBCC2?Will it work with the bootloader after the "dead battery" has been programmed/configured? I could place the CC1 & CC2 pulldowns discreetly on the board but i am space constrained.I could also switch to the N variant of the processor that seems to have the UCPD1_CC2 pin broken out. I Already have several of the GP variants laying around from a previous project and want to reuse them if possible.Thanks for any input!
Hello, ST CommunityI’m currently working with the NUCLEO-WB55RG board to enable BLE communication.Initially, BLE advertising worked perfectly when the board was powered via USB (connected to a PC or 5V Adaptor). However, now BLE advertising do not start, when I power it via USB - 5V adapter. The 5V adapter is not the issue — it’s a stable power source rated at 5V / 3A.I powered using CN15(ST-Link 5V-usb) in both cases before and now. System setupBoard: NUCLEO-WB55RGExpansion board: X-NUCLEO-NFC08A1Initialization sequence in main.c:int main(void) { HAL_Init(); MX_APPE_Config(); SystemClock_Config(); PeriphCommonClock_Config(); MX_IPCC_Init(); MX_GPIO_Init(); MX_RTC_Init(); MX_X_CUBE_NFC6_Init(); MX_RF_Init(); MX_APPE_Init(); // BLE initialization NFC08A1_LED_Init(); rfalInitialize(); }When I toggle an LED for debugging, the program appears to stop or hang inside MX_APPE_Init() when i connect to adaptor for power. What I’ve already checkedLinker script verified — .MB_
Split from: Power Supply for STM32F030 Cortex TSSOP20 VDDA and VDD pin; specifically this post.@TDK wrote:that satisfies the condition. But only the "VDDA >= VDD" condition - it doesn't satisfy the "VDDA must be first" condition. As noted, I suspect that the 2nd condition is incorrectly stated; I guess it should say, "VDD must not come after VDDA" or similar ? @TDK wrote:That is the most common configuration.Indeed it is!@fredy - you could check out some ST board schematics to verify ...
This is to report an erroneous speed - with a divided by two speed - for the Motor Control Workbench and its associated Motor Pilot version 6.4.1.The speed information throughout the Motor Control Workbench generates twice the mechanical speed with F.O.C algorithm and STEVAL-SPIN3202 control board.The measured tachometer shaft speed which leads to confirmed motor speed and associated computations are the following:Motor Speed (RPM) = 2 x BEMF(Freq)(Hz) x 60 seconds / Poles pairsNote: 2 factor meaning: Each magnet passes over the coil used to sense the Back-EMF twice during each rotation, once over each end.BEMF(Freq) is matching HALL(Freq) in our application.These checks were carried out with two motors:1,400 RPM with a 10:1 gear ratio delivering 140 RPM at the shaft and 155 RPM with no gear In both cases, we have correct mechanical speed for half the speed entered within Motor Control Workbench and Motor Pilot. Motor Pilot reports half the speed of the actu
I am trying to use SWD for printing using ITM_Sendchar, Printf not calling _write, I tried to put breakpoint and see, But it is not hitting breakpoint
Good morning.Could anyone tell me about this error and how to resolve it.C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3 .rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: Oscillo_STM32G431CBU.elf section `.bss' will not fit in region `RAM'C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3 .rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 54928 bytesI'm using IDE 1.19 to compile the code for a G431CBUGratefulValter Matos
Hey guys. I recently got a nucleo wba55cg board into my hands and tried to finish the ble app youtube tutorial, but it didnt work. A led was supposed to be blinking to indicate that the device advertices for a bl connection, but that didn't happen. I also couldn't find the board on the available bl devices. What i did step by step1) Downloaded cubeIDE 1.19 (mx 1.15) and wba_fw1.8 since 1.8 requires MX version 1.162) Downlaoded the ble p2p server example from here 3) Chose to open a Cube MX/IDE .ioc file 4) Changed device and advertising name to WPAN_MOOC5) Built the project6) Flashed the project to my deviceAgain, no result whatso ever. I tried to open a serial terminal and reset the nucleo board, to check the logger. It seems that everything initializes fine, but no actual output about the process. Any advice would be welcomed.
* board - STM32N6570-DK* using STM Cube 1.19.0* Example - USBPD_SNK Goal - to enable Display port Problem - is i'm getting stuck with the current example. It gets stuck at SVDM_deiscovery_identity part. Which in that packet i should be able to start to tell the host that i have display port capability, but i what is currently set it that the message is unsupported. How would i go about enabling this. Thoughts - In usbpd_vdm_user.c it seems like it has all the stuff that i need to start sending back these kind of messages but they don't seem to be called anywhere. There's a function called* USBPD_VDM_DiscoverSVIDs()But it doesn't seem to be called. Capture from a STM32 PD G0 - with STM32CubeMonitor app
Is it possible to add MotionFx to an STM32WB09TEF7TR MCU?According to the table on page 6 of this document:https://www.st.com/resource/en/brochure/sensor_libraries_software_pack_for_stm32cube.pdfMotionFx is available on Cortex M0+However when trying to add this in CubeMx I get the warning "This component cannot be used as it has device or context compatibility issues.
Hi everyone, I’ve been stuck on a CAN communication issue between two boards: STM32F429 Discovery (Classic CAN) STM32H743XIH6 (FDCAN) I’m trying to establish CAN communication between them. Currently, the F4 board can transmit and receive data correctly. The H7 board, however, can transmit but is unable to receive any messages. I’m wondering if the issue is due to the H7 using FDCAN (Selected Classic CAN on H7 Board .ioc file) while the F429 uses Classic CAN. If this difference causes compatibility problems, please let me know. Otherwise, if you know what might cause the H7 to fail in receiving classic CAN frames, I would really appreciate your help. Thanks in advance! would be great
Hello.I try to get the nema-gfx working on a STM32H7S78-DK.But there's a bug in the NEMA library, or a bug in the ST toolchain. When I try to call the library function nema_cl_create() in my function nema_gfx_init(), according to the STM32H7RS GPU2D document (page 6), stm32h7rs-system-gpu2d.pdf the stack is overwritten with values, so the return address on stack (0x7002AEFB) is no longer available (0x00000000) and the cpu goes in hard fault. I suspect it's a bug in the NEMA library. The correct version for the H7 series was used. The error occurs with both versions: libnemagfx-float-abi-hard.a and libnemagfx.a. I looked inside the function in the disassembler, and at the end of the function, registers r0-r3 are written to the stack, but much too far! (See images) Stack bevore calling nema_cl_create. Return-adress: ok Stack after calling nema_cl_create. Return-adress: 0x00000000 Dissass. inside der nema_cl_create: overwriting behind actual stack en
Hi,I have purchased NUCLEO-F411RE controller EVK and X-NUCLEO-IHM08M1 expansion board to write motor control application and check the motor parameters on Motor Control Work bench tool.While checking for sample application or extension packages for the expansion board and controller, I don't find SPN8 package on X-CUBE extension list. And don't find sample application to add and compile on STM32IDE for NUCLEO-F411RE + X-NUCLEO-IHM08M1. Please suggest me sample application for the NUCLEO-F411RE + X-NUCLEO-IHM08M1 and how to add it into STMCUBEIDE, Compile and Run.Regards,Omkar
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.