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 generated an STM32 project using STM32CubeMX for Keil (MDK-ARM).In Keil, functions like HAL_GPIO_TogglePin() don’t show up in code completion (IntelliSense).I found that in Project → Options for Target → C/C++ → Include Paths, the paths use / (for example ../Drivers/STM32F1xx_HAL_Driver/Inc) instead of \.If I manually change / to \, code completion works — but STM32CubeMX changes them back after every code regeneration.How can I permanently fix or configure STM32CubeMX to generate Windows-style include paths (\) for Keil projects?
Hi me and my team signed up for Innovation Fair. Today was the day of announcement of results, yet I have not received any mail regarding that. When will the results be announced?
In STM32CubeMX 6.15.0 / Win11 I generate a default CMake project for the Nucleo-G431KB board.The generated cmake/stm32cubemx/CMakeLists.txt contains:# STM32CubeMX generated symbols (macros) set(MX_Defines_Syms USE_NUCLEO_64 USE_HAL_DRIVER STM32G431xx $<$<CONFIG:Debug>:DEBUG> )but the board is a Nucleo-32, not 64. As a consequence, pinout is wrong, like a wrong pin for the USER_LED is assumed.hthKnarfB
I’m implementing an audio clock source switching mechanism where the system runs on the internal audio clock if no external clock is detected. As soon as an external clock becomes available, it switches to use that external clock source.This works initially, but when the external clock is lost for any reason and the system switches back to the internal clock — then later detects the external clock again and switches back — I notice that data is still being received through the SAIs, but the clock is no longer synchronized with the external clock source. It seems to continue running from the internal clock instead.Is what I’m trying to do here actually possible? void SwitchAudioMode(eAudioClockSelection::Enum ClockSelection) { if (gAudioMode == ClockSelection) { return; } else { gAudioMode = ClockSelection; } HAL_SAI_Abort(&hsai_BlockA1); HAL_SAI_Abort(&hsai_BlockA3); HAL_SAI_Abort(&hsai_BlockB3); HAL_SAI_DMAStop(&hsai_BlockA1); HAL_SAI_DMAStop(&hsai_
Hi ST community// --- EDIT --- Missed preview and made some corrections / clarificationsI'm looking for a way to mount a SD card using the Azure RTOS UsbX MSC class, while the MCU is running. The code is mostly based on the ST examples, e.g.:https://github.com/STMicroelectronics/x-cube-azrtos-h7/tree/main/Projects/STM32H735G-DK/Applications/USBX/Ux_Device_MSC The example expects that the SD card is already inserted on power up - therefore the MX_SDMMC1_SD_Init() is called before the USBX device is registered. Therefore the LBA and Blocksize values are already available when the USBX device is registered.I want to have a more general case, where I can remove and insert a SD card while the application is running. A separate thread (SD_thread_entry) which handles this behaviour and is waiting for the SD card pin to be detected. The card is then power reset, the HAL is initialized and the CardInfo read:void SD_thread_entry(ULONG thread_input) { // Thread variables ULONG flags; bool
Hi, I'm a student quite new with STM, I am using a nucleo F072RB and I have been unable to print anything onto putty for a few weeks, it was working fine before summer break but not anymore (I haven't used my nucleo during that time), I am using the same baud rate and same port com as before, I tried to run my older projects that use putty and same result, nothing appears. I have no idea what to do to try to solve it, please help. Thanks.
Hi,is there a polling-only Linux C code example for the X-NUCLEO-NFC09A1? The demo app is IRQ based and we plan to use many readers so it would be convenient to save the IRQ pin and use only the CS pin per device.Regards.
Hello ST Team,I’m enabling the mailbox on an ST25DV tag and performing RF mailbox Write/Read using ISO15693 custom commands. I’d like to confirm the correct enable sequence and how to verify that the mailbox is truly enabled.What I observeI can send Write Message (0xAA) over RF and see HOST_PUT_MSG afterward.But reading MB_CTRL_Dyn shows 0x00, which suggests the mailbox isn’t enabled.My understandingFrom the docs, proper enable requires:Presenting the system password (if protection is active),Setting MB_MODE in the static FTM configuration,Setting MB_EN in MB_CTRL_Dyn (dynamic register).Only then should MB_CTRL_Dyn report enabled (e.g., MB_EN=1) and lengths appear in MB_LEN_Dyn.QuestionsWhat is the exact recommended RF sequence (request frames) to:Present password,Set MB_MODE (static FTM),Set MB_EN (dynamic control)?Should Write Message (0xAA) be accepted when MB_EN=0?After a correct enable, what values should I expect when reading MB_CTRL_Dyn and MB_LEN_Dyn?Is there an official exampl
I’m facing an issue while debugging my STM32F103C8T6 (Bluepill) board using ST-LINK V2 and STM32CubeIDE. The connection and flashing both seem successful, but the program doesn’t actually start running on the board.When I check the console log, I noticed that STM32CubeIDE isn’t flashing my project’s .elf file it’s flashing a temporary .srec file created by the GDB server instead.I have checked the run and debug configuration and verified. path is pointing to the correct location where .elf file is created.Here’s the relevant log output: STMicroelectronics ST-LINK GDB server. Version 7.11.0Copyright (c) 2025, STMicroelectronics. All rights reserved.Starting server with the following options:Persistent Mode : DisabledLogging Level : 1Listen Port Number : 61234Status Refresh Delay : 15sVerbose Mode : DisabledSWD Debug : EnabledInitWhile : EnabledWaiting for debugger connection...Debugger connectedWaiting for debugger connection...Debugger connectedWaiting for debugger connectio
Hello everyone, I am facing a serious problem setting up the BLE_AT_Client example on my B-U585I-IOT02A board, as flashing the STM32WB5MMG radio module fails.Initial situation and cause of errorThe problem started when I aborted the flashing of the FUS firmware (stm32wb5x_FUS_fw.bin) via CN5 (external ST-LINK). Since then, the radio module has been in an inconsistent state.Error pattern and steps takenThe main problem is that I can no longer completely flash the three essential server files (FUS, BLE Stack, BLE_AT_Server).1. Connection: The connection to the STM32WB5MMG via CN5 (external ST-LINK) can be established in STM32CubeProgrammer (with low frequency: 4000 kHzand soft ware reset).2. RDP status: The Readout Protection (RDP) level is set to level 0 (AA) (no memory protection).3. Mass Erase: A ‘Full Chip Erase’ works, proving that the memory is not hard locked.4. Programming error: Immediately after the mass erase, any attempt to flash the FUS file (stm32wb5x_FUS_fw.bin at 0x080EC0
I found the ACS108-6SA that seems to fit my needs. 1) I will control the gate with my stm32G0B1 uC. I really don't understand why I have to connect the 24VAC Neutral to the +3.3VCC of the MCU ! It sounds like dangerous no? i can understand that the current for the gate need to loop somewhere but why to connect the +3.3v to the neutral ? This device seems to fit my needs and seems to have been designed for this purpose, but the schematics looks really strange at the moment to me. 2) Concerning my need to switch on / off big pump grundfos sba3-45a that is 230vac. this pump looks to have a big capacitor Should i use triac like T410 ACST1235-7GTR for example or ACST1635-8FP ? I have also pure inductive 88W air bubble to connect on it that pollute a lot the 230vac line when switch off.
Hi,I'm developing a board where i'm using the STM32WB55xx microcontroller. I do not intend to use the BLE interface for now and I do not want to have this pins wired. My question is what should i do with the RF1 pin of the microcontroller given that i do not intend to use the functionality. Should I leave it hanging or should it be connected to GND or VCC?Per the description of the datasheet, the RF1 pin is the pin to connect to an antenna. It's not clear on the Datasheet what to do when I do not intend to use it. Best,Alessandro
Hello,I'd like to inquire about the possibility of registering a USB PID for our new product under ST VID, but I can't find any appropriate contact for this. Could anyone advise?Thanks,Andrew
I have integrated lwip on my STM32H563RGT6 library and my requirement is to establish connection to my AWS endpoint from MCU to the cloud along with certificates. help me by providing the necessary stacks.Were my requirement is to send/publish some data into mqtt inside the IOT core AWS.
In Motor Control Workbench's Current Sensing tab. It shows the default Shunt resistors at .005Ω. The boards that were shipped to me have .01Ω.Is this by design? What do I need to change in the Current Sensing tab to work properly with my hardware.
Hello, I've built a project with an STM32F767 and a USB HID connection. I also have a Visual Studio 2010 application to set PA0 to 1 for testing. My connection is established, and in Device Manager, the USB Custom HID device is recognized, but I can't set PA0 to 1. I built my USB HID code using Cube MX and the HidLibrary.dll driver for VB2010. I don't understand why I'm having this problem. Can anyone help? I am able to get a result, temperature acquisition and change of state of PA0 in CDC mode. Best regards. My code is attached. Sébastien.
Hi @FBL I am working on a similar project like This one (USB CDC ACM device with Power Delivery in Source mode using USBX in standalone mode, FreeRTOS and USBPD with a TCPP02). The STM32 used is the H573I.I have found some code to add in the function USBPD_DPM_Notification() in usbpd_dpm_user.c (solution you gave).But in my code, the functions called are undefined because the file usbpd_usb_if.c is not generated. What I am missing?
Hello!I am currently designing a flyback converter with the altair04-900.The .lib file in the spice model folder is encrypted. I cannot open it neither with Altium nor with ltSpice.I would like to know, which simulation software can decrypt it? And, more specifically, if there is any free simulation software?
My goal is to use timers to follow the required timing steps for a module I’m working with. To achieve this, I decided to use two timers — TIM1 and TIM2.TIM2 is responsible for counting the T1 time step. For this, I’m using One-Pulse Mode, so TIM2 is configured to count a 2 µs delay.After TIM2 finishes, TIM1 should be triggered. TIM1 also operates in One-Pulse Mode, this time generating 25 pulses to imitate the PD_SCK signal (as shown in the datasheet timing diagram).Each pulse should stay HIGH for half of the full period (20 µs), so 10 µs HIGH and 10 µs LOW.During the generation of those 25 pulses, the DOUT pin (connected to TIM2_CH2) should be sampled. At that time, TIM2 should be disabled.Unfortunately, it is not working, this is my code:void start_measurement(void){ if (HAL_TIM_OnePulse_Start(&htim2, TIM_CHANNEL_2) != HAL_OK) { Error_Handler(); } if (HAL_TIM_Base_Start(&htim1) != HAL_OK) { Error_Handler(); } } } void HAL_TIM_PWM_PulseFinishedCallba
I would like to set a 1Hz signal on the PC14 (RTC_OUT_CALIB). I have found a manual in document AN3371 (see picture in appendix). The code is also in the appendix. Unfortunately, nothing happens on the PC14 but the RTC works. If anyone has any idea what else to add here, thank you, greetings, SF
HelloCan the STM32H743 modify data at two non-consecutive peripheral addresses in a single DMA event,A DMA event changes two peripheral addresses,
Hi,I’m looking for some help — I’m trying to generate a continuous waveform at 432.492 MHz using the Nucleo WL55JC2, but I haven’t had any success so far. I also tried at 861.1 MHz, but still got no output.After extensive troubleshooting, I discovered that the issue was caused by the TCXO (PB0) not being powered at 3.3 V, and the SP3T not being properly configured because PC3/PC4/PC5 remained at 0 V instead of 3.3 V.To address this, I modified the project — without generating the CW signal for now — simply to control the state levels of PB0, PC3, PC4, and PC5, and to make it work correctly with both the CM0+ and CM4 cores.M0PLUS main.c is:#include "stm32wlxx_hal.h" static void Error_Handler(void) { __disable_irq(); while (1) { } } int main(void) { HAL_Init(); /* Clocks GPIOB/GPIOC */ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); /* Configure PB0, PC3/PC4/PC5 en sortie push-pull */ GPIO_InitTypeDef g = {0}; g.Mode = GPIO_MODE_OUTPUT_PP; g.Pull = GPIO_NOPULL; g.Speed =
Hi there,I am newbie to motor control, and I am studing how to use the excellent tool named MCSDK6.Below is my work follows(MCU is STSPIN32G4):1. open MCSDK6 and select my custom board and motor, generate the project;2. open cubeMx configurate the others PINs, then generate the project;3. write some app code;4. i find the motor config is something wrong, so I open MCSDK6, change the config and generate the project again;5. then I found the config in step2 is lost.Is anything I did wrong? I think if the config could keep is better.Thanks for you help.
Dear, Anyone unable to download Linux CubeIDE like me? Tried Windows version also not available?Thanks,
Hello everyone,I'm trying to build X-LINUX-AI, but I'm running into some errors. I'd be grateful for any help with fixing them. Here’s an example of the error message:../git/touch-event-gtk-player/meson.build:25:18: ERROR: Dependency "gstreamer-wayland-1.0" not found, tried pkgconfig Here is my build environment:- Ubuntu 20.04 (wsl)- OpenSTLinux Distribution Package V6.1.1- X-LINUX-AI V6.1.1 Here are the steps I followed:(Installing the OpenSTLinux distribution)$ repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v25.08.27$ repo sync(Install X-LINUX-AI environment)$ cd layers/meta-st/$ git clone https://github.com/STMicroelectronics/meta-st-x-linux-ai.git -b v6.1.1$ cd ../..$ DISTRO=openstlinux-weston MACHINE=stm32mp2 BSP_DEPENDENCY='layers/meta-st/meta-st-x-linux-ai' source layers/meta-st/scripts/envsetup.sh(build the image)$ bitbake st-image-ai Here is the resulting log:$ bitbake st-image-ai NOTE: Starte
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.