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
HelloI was developing an application that uses BLE and low power mode. I was testing that on a custom board and when I measured the current consumption at STOP2_MODE, it was 1.7 mA.I expected that I had made a mistake. So I tried the low power examples found there STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Examples/PWR at master · STMicroelectronics/STM32CubeWB on my board and then using the P-Nucleo-WB55 and I found the current consumption is above 4 mA.Shouldn't be measured in micro-ampere? I am confused now, as I am using an ST example and a dev board, so it should work well.Thanks in advance. Best regards,Mahmoud A.
Hi, I am using STM32WBA55G-DK1, is it possible to use Audio In jack to send the input audio and at Out to receive the audio in a full duplex method. Thank you
I wrote the following code in TouchGFXHAL.cpp__attribute__((section(".ram_d2")))uint16_t cache[144*1024]; //288KB cachevoid TouchGFXHAL::initialize(){ // Calling parent implementation of initialize(). // // To overwrite the generated implementation, omit the call to the parent function // and implement the needed functionality here. // Please note, HAL::initialize() must be called to initialize the framework. registerTaskDelayFunction(&OSWrappers::taskDelay); setFrameRefreshStrategy(REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL); TouchGFXGeneratedHAL::initialize(); GFXAdapter::gfx_adapter_lcd_init(); Bitmap::setCache(cache, sizeof(cache)); Bitmap::clearCache(); Bitmap::cache(BITMAP_ELAINA_ID);}bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes){ // If requested data is located within the memory block we have assigned for ExtFlashSection, // provide an implementation for data copying. for(uint32_t i = 0; i < numBytes / 2; i++) *((uint16_t
/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @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. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "cmsis_os.h" #include "usb_host.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef ---------------------------------------------------
Hi,I already have a codebase that uses the STM32L4R5ZI microcontroller. The codebase does not include an .ioc file, which we normally use to configure the pins and other related parameters. But the codebase seems to be compiling fine. I am working with a development board for our customer project (Nucleo-L4R5ZI-P).We are trying to establish SPI communication with an external chip via SPI1. The codebase currently configures the SPI1 interface, but the SPI_CLK function is assigned to PA1. I need to change this to PA5. Since I don’t have an .ioc file, how can I make this modification?
I procured an STM32F4VE 2.0 board *Details of board here:*https://stm32-base.org/boards/STM32F407VET6-STM32-F4VE-V2.0I managed to create a Basic STM32 Cube Project for this controller. (STM32F407VET6)From the Schematic on STM32base website, I see PA12, PA11 connected to the USB Connector...I have enabled USB_OTG_FS which corresponds to PA11, PA12 in hardware and schematic.And further, under "Middleware and Software Packs" I have selected "Communication Device Class (Virtual Port Com)"I am also able to successfully initiate two IO Line connected to LED on board as output and write a basic Blinky program too.However the USB COM Port is giving hell of a lot of trouble, with Windows being unable to get even the Device Descriptor from the board! What am I doing wrong? Any step I have missed or any configuration I have done wrongly? Thanks in advance:Nagendra R Settynagendra.setty@ideas-unlimited.in
Hi, Is there anyway to generate codes in such way that we can customize our sub-project paths? E.g. Instead of having project/core/src, we have project/src... etc? Thanks in advance!
Hello,I would like to gather some information related to enabling LDRC mode on SPSGRF-915 Low Power RF Modules.Below are the documents I am referring to:1.) SPIRIT1 Data Sheet : Section 7.3 Low Duty Cycle Reload Mode.2.) AN4193 Application Notes : Entire document as it focuses on LDCR mode and RX TIMEOUT along with Programming Tips to enable the same.I am currently working with two SPSGRF-915 modules. One is a RF transmitter only and the other is a RF receiver only. The receiver module never talk back to the transmitter. Also, the RF Receiver module is a battery operated and I want to implement the LDCR mode on the receiver.The current software version on my RF communication is a continuous RX Listening on the receiver end. Following the steps mentioned in the SPIRIT1 Data Sheet, I have implemented the below:1.) Upon powering up the receiver module, I keep the RX_TIMEOUT to an INFIINTE Value at the beginning. 2.) After receiving the very first frame and processing it, as per
Hi,I'm using CubeMX 6.16.0 with the EWARM setting.When I click "Generate Code," it creates the IAR project with the default name "project.eww."I open the project with IAR and save it with a new name.Then I click the "Generate Code" button on CubeMX, and it regenerates the workspace name, again as "project.eww."Is it possible to set the IAR project name from CubeMX to something other than "project.eww"?Thanks
Hello I am using the L6494(14PIN) as a driver for a high and low side FET in a half bridge arrangement. My DC volts can be anything from 120Vdc to 220Vdc. and current up to 17AIs there anyway to determine the breakdown mechanism if I do not momentarily switch the bottom driver on to charge the bootstrap capacitor.?If I do not switch the bottom driver on first so that the bootstrap capacitor is charged and accadently turn the top driver on first, it destroys the driver and fets. I have wired in the L6498 (8PIN) and this does not behave the same way. I can always make sure of the sequence under normal conditions but under a fault condition this could not be guaranteed and an expensive call out could follow.Is there possibly another way to guarantee the bootstrap capacitor gets charged ? thanks
I am working with an STM32U575, HAL version 1.5 and found the issue described below(Have checked the HAL code for the H5 and H7 and these contain the same issue)See picture below, when aborting an PSSI transfer, before checking the state on lines 1258 and 1277, the state of the PSSI is already set to HAL_PSSI_STATE_ABORT. As a result the DMA transfer is not correctly aborted since none of the two conditional paths are taken.
Hi there, I'm trying to figure out how to configure VD55G1 monochrome sensor to differential mode (e.g. disruptive mode, event mode) as branded in user manual. However, after going through https://github.com/STMicroelectronics/stm32-mw-camera, I have no clue. Could you help me with this? Thank you.
Good morning,I have a design based on the schematic of the STM32 Nucleo-64 L073RZ MCU evaluation board.Is the code to support ST-LINK functionality on the STM32F103TBU part of the STM embedded tool chain?Thank you.
Hi Community, I'm trying to build the BLE_TransparentMode example for the NUCLEO-WB05KZ, but I'm getting the following build error: region 'FLASH' overflowed by 93348 bytes Steps to reproduce: Open the BLE_TransparentMode example from the MX Example Selector for NUCLEO_WB05KZ. Change the toolchain to CMake with GCC compiler. Open the project and configure it using the STM32 VS Code extension. Build the project → the error appears. Environment: STM32CubeMX: v6.16 STM32CubeIDE for VS Code: v3.6.4 Has anyone encountered this issue or knows what might be causing the FLASH overflow with the CMake/GCC configuration?Thanks!
Related posts* https://community.st.com/t5/imaging-sensors/integration-support-for-vd56g3-camera-sensor-with-stm32n6/m-p/822221#M5767* https://community.st.com/t5/imaging-sensors/drivers-for-st-brightsense-image-sensors-for-stm32n6-series-%CE%BCcs/td-p/757056 Setup * Camera - https://www.st.com/en/evaluation-tools/steval-56g3mai.html* STM32N6570-DK QuestionI'm trying to find the drivers for the VD56G3 but i can't seem to find them. The above posts say to go to this website* https://www.st.com/en/development-tools/stm32n6-ai.html#get-softwareBut when i go there its mostly about AI and the one thing about image capture goes to this which is just a binary blob?* https://github.com/STMicroelectronics/x-cube-n6-camera-captureI do see this library* https://github.com/STMicroelectronics/STM32N6-GettingStarted-ImageClassification/tree/main/Middlewares/Camera_Middleware If that is the driver how to i enable it in the IOC file?&nb
Hi all I am a newbie to Linux and I badly want to excel in the system and currently i've stumbled upon an issue of not being able to run and debug my code to STM32-NUCLEO-F4460RE board through CUBE IDE. On running the program to my bord its i showing an error window and giving error message "Could not determine GDB version using command: arm-none-eabi-gdb --version". I asked Gemini and Chatgpt for help and got replies that made me symlink my libncurses.so.6.4 to .so.5 and similarly with libtinfo, then I installed gdb-multiarch as I was not able to download arm-none-eabi-gdb even with .gcc. Even I changed the prefernce to gdb-multiarch and its still the same. To add my Linux version is 24.04 LTS Noble. Kindly someone help me out of this mess.
Hi All!After the CubeIDE auto-update, the option to import example projects had disappeared. Or was it moved somewhere else now? Release Notes mention nothing about this.In the meantime I guess I can access the examples using CubeMX.
Hello, as I mentioned in the title, I'm designing a battery-powered UHF RFID reader. This is a challenging project for me; I'm pushing the limits.MCU: stm32wb52cgUHF RFID: ST25RU3993Battery: li-ion (18650)I'm using the ZigBee feature of the MCU. My question is, I need a design that's compatible with both batteries and works at 2.5V levels. Therefore, what kind of power circuit should I create? If I install a 4.2V battery, I need to use a step-down converter. If I use li-ion (18650), I need to use a booster. What do you think I should do? 2-Is a switching regulator used in a UHF RFID circuit? 3- I need to make a booster with the li socl2 battery. When the battery drops to 2v, should I make a step up for RFID reading performance?
I'm writing a UART driver for NUCLEO-F103RB and I followed all steps in the book "Bare-metal embedded C programming" and advices from Gemini but still can't see the receiving output from my PC.How can I fix this?Other parts than UART work without problem in this setting.main.c#include <stdint.h> #include <stdio.h> #include "gpio.h" #include "uart.h" #if !defined(__SOFT_FP__) && defined(__ARM_FP) #warning "FPU is not initialized, but the project is compiling for an FPU. Please initialize the FPU before use." #endif unsigned readBit(unsigned line, unsigned position){ unsigned mask = 1U<<position; return ((mask & line) >> position); } int main(void) { RCC_APB2EN_R |= 1U<<2; RCC_APB2EN_R |= 1U<<4; //led init GPIOA_MODE_R &= ~(1U<<20); GPIOA_MODE_R |= 1U<<21; GPIOA_MODE_R &= ~(1U<<22); GPIOA_MODE_R &= ~(1U<<23); //button init GPIOC_MODE_R &= ~(1U<<20); GPIOC_MODE_R &= ~(1U&l
Hello, I have an expansion board X-NUCLEO-PLC01A1 that I use with a micro controller F767Zi on its F767Zi Nucleo Board.When I plug the PLC01A1 on the board, I cannot flash (meaning that I can neither Run nor Debug) any code on the micro controller, even if I turn off the 24V supply of the PLC01A1.I get this error on STM32CubeIDE: And here is what happens when I try to connect the board on STM32CubeProgrammer with the PLC01A1 plugged on it: My solution for now is to physically unplug the PLC01A1 every time I have to flash some code on the F767Zi, and then plug it again. Which is not so convenient. I think this problem can be due to a lack of power from the board which cannot supply itself and the PLC01A1. Note that even if the 24V power supply of the PLC01A1 is turned off, the PLC01A1 is stilled supplied by the 5V and/or 3.3V pin of the Nucleo Board. Have any of you an idea to solve this ?Thank you
Hello everyone,I'm experiencing an issue with network packet loss in a setup using the AR8031 PHY with an STM32MP1 system and would appreciate any insights or suggestions.Problem Description:Significant (60-90%) packet loss when STM32MP1 board is directly connected to a Linux host via EthernetNo packet loss when the same board is connected through an Ethernet switchIssue occurs consistently with direct host connectionsTested/Verified so far:Multiple known-good Ethernet cables (CAT5e/CAT6)Different Linux hostsLink speed and duplex settings (100M/1G, full/half duplex), 100M works fine with no packet lossEnable/disable various PHY driver quirks (qca,disable-smarteee, qca,disable-hibernation-mode, qca,clk-out-strength, qca,keep-pll-enabled, qca,smarteee-tw-us-1g)Device Tree Snippet:&ethernet0 { status = "okay"; pinctrl-0 = <&ethernet0_rgmii_pins_a>; pinctrl-1 = <&ethernet0_rgmii_sleep_pins_a>; pinctrl-names = "default", "sleep"; ph
Hi everyone!I figure out that Type III Format Interface Descriptor is generated automatically on STM32L476RG, and this use encoder format to transmit audio (Not PCM). Frame size vary an do mot match PCM packet sizes, meaning that transmitting raw PCM using Format Type III result as no audio output.However, apparently those problems doesn't occur using Format |Type I Interface descriptor.Any idea about how can to solve this problem? Thanks.
After (auto) migration the .ioc file to the actual CubeMX 6.15.0, the Dual Quad SPI mode got changed to Octo SPI mode and there seems to be no way to get back to Dual Quad SPI mode, since the mode selection entry "Dual-Quad SPI" is not shown as mode selection entry.After taking a closer look, I found out, that the Dual-Quad SPI mode is avail only for the OCTOSPI2 device, whereas the Dual-quad SPI option is not avail for the OCTOSPI1 device (tested with a "clean" configuration). Since my hardware was doing fine with Dual-quad SPI mode on OCTOSPI1 device there seems to be no reason for removing the Dual quad SPI mode from OCTOSPI1.I think, this behaviour is not intended ? Actually I found no workaround for this problem except for manually changing the auto-generated code so it would be nice to have that issue fixed. Even if changing the .ioc file manually the Dual Quad SPI mode option is removed on next load into the MX GUI again. Best regrads, Heino
I want to run OpenSTDroid on the STM32MP2 DK board, I cannot wait for ST to add support so what's the bare minimum I can do to run it on the DK board? I don't mind WiFi or Bluetooth not working, I just want to get Android running first, Then I can work on drivers.As I understand I think I can get away with just modifying the DTS overlay file to match the new hardware.
Hello ST team and community,I am working with STM32H755 and noticed a potential bug in the code generated by STM32CubeMX when handling the RCC_FLAG_D2CKRDY check during system initialization. CubeMX produces two variants of the loop:while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) != RESET) && (timeout-- > 0)); if (timeout < 0) { Error_Handler(); }andwhile((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) == RESET) && (timeout-- > 0)); if (timeout < 0) { Error_Handler(); }Issue observedThe loop condition uses (timeout-- > 0).This means the loop exits when timeout reaches 0, but never decrements below zero.As a result, the check if (timeout < 0) will never be true, so Error_Handler() is never called — even if the D2 domain clock never becomes ready.Since STM32H755 relies on proper synchronization between the Cortex‑M7 and Cortex‑M4 domains, missing this error condition can mask serious startup failures. Developers may assume the system initialized correctly when
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.