Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I am using IHM.08M1 with nucleo.stm32g474.I’ve decided to try lowering this parameter from 2275 rpm (maximum motor speed) to 250 rpm (maximum speed for my application): As you can see, when I change the value, an error in Speed Sensing Config appears: The auxiliary sensor section is not active!I don’t understand where the error lies.Any value lower than 1600 rpm gives me an error; I don’t understand why
I designed a custom PCB referencing the NUCLEO board, yet the board cannot be detected by any means. When flashing via STM32CubeIDE, the error pops up: Target no device found. Error in initializing ST-LINK device. Reason: No device found on target.I also tried detection with STM32CubeProgrammer, but neither SWD nor USART interfaces can identify the chip. I have verified that the ST-LINK probe works properly. I measured power supplies with a multimeter: the main supply is a stable 3.3 V, and VDDSMPS reads 0.98 V.The five PCBs I received after SMT assembly all exhibit the same connection failure, which rules out soldering defects as the root cause.Attached is my schematic. I would appreciate any troubleshooting suggestions. Thanks to all ST engineers and fellow developers.
Hello,I am using a STM32G474 and the RTC is counting >24.I have setup the RTC with the STM32CubeMX. regards Mark,
Hello ST Community,I am working on a custom PCB using the STM32H743ZIT.My project uses the LTDC to generate a VGA signal.I also need at least 1 DAC output and USB_FS. The issue is, in this specific MCU, the only 2 DAC’s are on:PA4 (conflicts with LTDC_VSYNC)PA5 (possibly conflicts with LTDC_R4) Now, I can move LTDC_R4 to PA11 but now it conflicts with USB_FS pins.Importantly, LTDC_R4 is not physically connected on our PCB. We only use 8 simple colors so I can use any LTDC pin to connect it to VGA signal. I’m completely fine losing LTDC_R4 altogether because we don’t use it at all. Question: If I do the following, will it cause any conflict issues due to the way the MCU works internally?1- Assign LTDC_R4 to PA5 in CubeMX to satisfy the configurator2- Immediately after HAL_LTDC_MspInit() completes, override PA5 to analog mode using HAL_GPIO_Init() for DAC use3- Configure DAC1 channel 2 manually in code and importantly, I call it AFTER HAL_LTDC_MspInit() Note: We are not reinitializing LT
I am trying to implement a GPDMA driver in a C project that does not use HAL, and have been really struggling to get something working. I have read everything I can find on this peripheral, multiple times, and still don't quite understand how one would configure the registers without using HAL. The goal is to get circular DMA transfers from peripheral to memory (e.g. ADC to memory). The H5 reference manual gives this figure, which conceptually makes sense to me but I can't figure out the implementation.It seems like it should be relatively simple to setup in C with direct register access instead of HAL configuration structures, but I have not been able to find any examples online or in documentation. I am wondering if anyone has gotten a linked list GPDMA transfer working without having CubeMX + HAL do all the work?
Hi,I’m using a NUCLEO-C031C6 64 board.I successfully setup the tool chain and ran several test from STM32CubeMX templates, directly compile and programming through STM32CubeIDE.Until this morning, everything was working fine.But I have lost the connection to the MCU later on. From STM32CudeIDE:Target unknown error 19Error in initializing ST-LINK device.Reason: Unknown. Please check power and cabling to target. Using of STM32CubeProgrammer:Recognized as mass storage On board ST-LINK/V2 is recognized, updated to version V2J47M34 successfully Full chip erase and board recognition works fine on the NUCLEO-G031K8 boardBut I have repetitively following messages while I try to connect (): I have tried unsuccessfully:under reset mode external SWD ST-LINK How can I debug futher?Did I miss something?Thanks!
I’m using a custom board based 99% on the STM32H7S78-DK (except for the display, which is a 7”).I’m having a serious deadlock issue (the entire microcontroller freezes, and I can’t connect to the debugger).My firmware is composed:The bootloader that just checks if an SD card is attached (if so, it mounts, reads it, and, in case, updates the external flash with the firmware). If no SD card is detected, it loads the application.The bootloader uses I and D caches and sets up the external memory via XSPI (PSRAM and FLASH)The PSRAM is used for the TouchGFX framebuffer; the FLASH for the TouchGFX assets.The .icd defines (among other things)define symbol __ICFEDIT_intvec_start__ = 0x70000000;define region EXTRAM_region = mem:[from 0x90000000 to 0x91FFFFFF];define region ROM_region = mem:[from 0x70000000to 0x701FFFFF];define region EXTROM_region = mem:[from 0x70200000to 0x77FFFFFF];place in ROM_region { readonly };place in RAM_region { readwrite };place in EXTRAM_region { firs
Hi,On the stm32c5 nucleo board (NUCLEO-C5A3ZG) there is T1S OA PMD driver (not mounted?). In the header file "stm32c593xx.h" exists a 10BASE-T1S control register "MAC10BT1SCR". But there is no documentation in the Reference Manual RM0522 Rev 1, and I can't find a way to enable T1S on MXcube2.Can anyone help me here? Is the T1S PDM really integrated in the C5 series?I would really like to experiment with 10Base T1S.RegardsPatrick
My design requires a microSD with the G474RE MCU. The Eval board schematic shows the design and some code in the \driver\BSP. However, I do not see the application example. My requirements are to read and write multiple data files. Where can I find an example with these features? Any other eval examples I can port over?
Hello everyone!I am trying to get all services and characteristics from steval-stwinbx1 board running FP-SNS-Datalog2 function pack. Here's simple program I wrote:import asyncio from bleak import BleakClient MAC_ADDRESS = "DA:3E:83:DD:30:F8" async def discover_services(mac_addr): async with BleakClient(mac_addr) as client: for service in client.services: print(f"\n[Service] {service.uuid}") print(f"Description: {service.description}") for char in service.characteristics: print(f" |") print(f" +-- [Characteristic] {char.uuid}") print(f" Properties: {', '.join(char.properties)}") if __name__ == "__main__": asyncio.run(discover_services(MAC_ADDRESS)) I expected to get services listed by nRF Connect app.But the program output is empty. Why? PS: I have done some research and experiments. I have tried running same script on linux and it ran perfectly (I used 2 machines: same machine (dual boot) and raspberry pi). I have noticed that board crashes if you are trying to
Hello everyone, I'm having issues with the Heap of the LWIP that is used/full, and I can't do any mem_malloc. I have dig a bit on why the log of LWIP tells me that it couldn't allocate memory ("etharp_raw: could not allocate pbuf for ARP request"). As far as i understand, the mem_malloc used the struct mem *lfree variable to handle the allocation for the LWIP and which is the next/previous chuck and also if the next chunk is being used or not. struct mem { /** index (-> ram[next]) of the next struct */ mem_size_t next; /** index (-> ram[prev]) of the previous struct */ mem_size_t prev; /** 1: this area is used; 0: this area is unused */ u8_t used; #if MEM_OVERFLOW_CHECK /** this keeps track of the user allocation size for guard checks */ mem_size_t user_size; #endif }; My issue is that the variable used in the mem struct is never null or zero. Which lead to the mem_malloc to always return NULL even after a fresh upload or power
Hi, I’m working with FATFS + SDIO + USB mass storage class.But I can’t seem to get writing and as a consequence reading working.in my main.c I do: //fatfs test makeFileData("test12.txt", "TEST123"); char* data = readFileData("test12.txt"); printf("read data = %s\r\n", data); And in my console I get as a response:D-SH 0 /System Volume Information---- 209 /x1_DEFAULT.JSON---- 211 /x2_DEFAULT.JSON---- 211 /x3_DEFAULT.JSON---- 211 /Ik_heb_iets_verzonne.JSONTotal blocks: 1922016 (961 Mb)Free blocks : 1921888 (960 Mb)SD Card Block size = 512SD Card Block number = 1953792SD Card size = 1000341SD Card Version = 1Init WVR complete!f_write failed: 1read data = So It can open the card and perform a ls command, but for some reason I can’t write. I spotted that some people look at DMA but I’m not using DMA.My entire SD card Handler:/* * SD_Card_Handler.c * * Created on: June 24, 2026 * Author: william.vanraemdonck */#include "WVR/SD/SD_Card_Handler.h"#incl
We are using the STM32WBA5MMG in our design but because of space and the shape of the board we need to be very precise with our components. The issue i'm having is with the documentation of the clearance required for the STM32WBA5MMG.In document “DS14801 @6.4 schematics and layout for pcb” the clearance on the left side of the package is 1.93mm from the side of the packageBut in “AN6305 @figure 35 to 39” the clearance on the side of the package is 1.93mm from the left side of pin 72.We are going to use the STM32 with the +10dB for Bluetooth and need the best option but also need to fit a lot of components on the PCB. Q.What clearance do i need to follow for the best Bluetooth signal, clearance in AN6305 or DS14801?
Hello,I’m struggling using STM32_USB_Device_Library V2.10.I’m developing a device with storage, and I want to transfer files via USB to a Windows PC using MTP.I currently have a simple setup using STM32H7B3 eval board. I have made a test project with STM32_USB_Device_Library using the USB HS.I have come so far that the device is showing up on the PC, and I can read contents (files) from the dummy file system on the device (currently I just fake the file system). Files are showing up correctly in File Explorer. I have 5 files, from 1K to 5K size, on the device.But when I try to transfer the files to PC, I only get 16 bytes of data. Size of file is showing correct in Windows Explorer for the device, but for the transferred file, it is only 16 bytes. It also does not contain correct data, only a chunk of the first data in the file.I have used usbd_mtp_if_template.c as start, and implemented the functions for reading file system data.The USBD_MTP_Itf_ReadData() looks like this:static uint3
After generating the BLE_Sensor project files for the B-WBA5M-WPAN board with STM32CubeMX Version 6.17.0, the STM32CubeIDE shown this error. I looked for the file in STM32Cube_FW_WBA_V1.9.0 and it is not there. Please advise.10:56:39 **** Incremental Build of configuration Debug for project BLE_Sensor ****make -j9 allmake: *** No rule to make target '/Users/user/STM32Cube/Example/BLE_Sensor/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_pka.c', needed by 'Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_pka.o'. Stop."make -j9 all" terminated with exit code 2. Build might be incomplete.
Hello, I am trying to create a very simple TZ-Enabled application on the STM32H573 in a CMake project. My application can build and flash to the IC and execute the main.c of the secure world but it hard faults, I believe when switching to the non-secure world. I am unsure of why it does this and would like help figuring that out. I’ve attached the project to this post and I will provide information below: Fault Analyzer OutputFault Analyzer OutputR0: 0x2009FC00 ← Non-Secure RAM (Non-Secure SP?)R1: 0x08110B68 ← Non-Secure FLASH (See Vector Table Non-Secure Memory (Non-Secure Main Entry?))R2: 0x08110B68 ← See AboveR3: 0x08110B68 ← See AboveR12: 0x08110B68 ← See AboveSP: 0x3004FF74 ← Secure RAMLR: 0xFFFFFFA9PC: 0x0C000FF6XPSR: 0x09000003 Vector Table Non-Secure MemoryThis is some data from memory address 0x0810 0000Address 0 4 8 C 0x0810 0000 200A 0000 0811 0B69 0811 0BC5 0811 0BC5 0x810 0010 0810 03BD 0811 0BC5 0810 03C3 081
Hello ST Team,The STM32N6 DK2 board includes the Sony IMX335 image sensor, but I have not been able to find the official sensor datasheet or a complete register reference document.For advanced development tasks such as HDR configuration, exposure control, gain tuning, and custom sensor initialization, access to the sensor register descriptions is essential.Could ST please clarify: Is the official IMX335 datasheet available to STM32N6 DK2 users? If the full datasheet cannot be shared due to Sony licensing restrictions, is there a register map, application note, or programming guide available that documents the sensor registers used by the STM32N6 DK2 BSP driver? What is the recommended process for obtaining the official IMX335 documentation required for sensor configuration and HDR development? Without access to the sensor register documentation, it is difficult to implement or evaluate advanced sensor features beyond those already exposed by the BSP driver.Thank you for your suppor
Hello,I’m using the SBSFU by MCUboot implementation from the STM32CubeU5 Project (here).It works well on the target board (U585) and I succeeded at uploading a new firmware through Teraterm, as per the documentation : But our teams cannot all have access to a PC with Windows, and as such I attempted to make an upload with Minicom on Linux (Ubuntu) instead, which did not work (I added the “Bytes” logging before the “Abort from user” message) : I saw much discussions about a similar problem on the legacy SBSFU 2.4 / 2.7 (this one or this one for example), but none for the one using MCUboot. I’ve still tried most of the solutions proposed there, but to no avail. I’ve tried fiddling around the code to see why the Ymodem protocol was failing through Minicom, but haven’t found much actionable information up to now.Has anyone encountered this problem and may know how to patch it or work around it ?I’ll continue to investigate on my end and document my eventual findings here. Thanks in advan
Hi,I encountered problems during the development process of using FMAC. To illustrate the problem simply, I used FMAC to implement an RC filter, by which I mean to illustrate the calculation problems of FMAC.RC filter:10K+10nFIts discrete z-domain expression:(Ts=1e-6,Tustin)so I get fixed-point parameters :I referred to the example program of AN5305 and used a 1-us timer to trigger ADC sampling. After the ADC sampling is completed, DMA writes to the WriteData of FMAC, and then the ReadData is processed in the interrupt as follows:As shown above, my current ADC sample is 0, and my Vref is set to 800. I think the output of FMAC as an RC filter should be around 800 in the DC case, but actually it is not. It is a relatively small value. Why is that?May I ask if there is a problem with my configuration of FMAC?
Dear Gentlemen,as a relative beginner using STM32C5 MCU-s,I need your help to resolve one issue.Namely,In new design, where planned MCU is STM32C542CCT6 device, (LQFP48 package),I plan to use internal Comparator COMP2.Problem (for me) arises when I have to declare connection between Comparator nodes(INP- (M), INP + (P) and OUTPUT) with some specific pins on LQFP48 package, more precisely it would be ideal for me to use PA7 pin as Comparator2 Outputand pin PA2 as Comparator2 -INPut, and pin PA3 as Comparator2 +INPut.In short,it is not a problem to "connect" Comparator Output, COMP2_OUT as shown in Table 12 STM32C542xx pin/ball definition, on STM32C542xx data sheet (DS), page 41, or in Table 13 Alternate functions, since i will declare AF14 = COMP2_OUT in appropriate GPIOA_AFRL register, see page 352 in RM0522 Reference manual, (RM)but I have problem to declare Comparator2 INPut pins, since it is selected thru peripheral registers,as stated in Table 11 in device DS, ...Additional fu
Discrepancy between AN5967 and MB1940 schematic regarding VDDA18PMU / VDDSMPS connections in external SMPS mode Hello ST Team,We have a custom board based on the STM32N657X0H3Q, designed using the MB1940 (Nucleo-N657X0Q) schematic as reference. The board has been fabricated and assembled, and we are currently in the bring-up phase.During bring-up we encountered a failure on the external SMPS path (TPS62088YFP) used for VDDCORE generation. The external buck failed with a shorted high-side FET, driving 5V directly onto the VDDCORE rail. After investigation, we recovered the board by removing the failed external buck and switching to the on-chip internal SMPS, which is currently working correctly and supplying VDDCORE at 0.810 V.While reviewing the power supply architecture during this debug, we noticed a discrepancy between AN5967 (Getting started with hardware development for STM32N6 MCUs) and the MB1940 reference design that we would like clarification on.DiscrepancyAN5967, Sectio
Hello,We are evaluating ST microcontrollers for a new product and would like some clarification regarding long-term availability.The STM8 family is now marked as NRND, and I have seen references in community discussions to a possible discontinuation around 2032.Could ST please clarify: What is the official long-term availability plan for the STM8 family and is there currently an announced End-of-Life date for STM8 devices? As STM32C0 is often presented as the migration path from STM8, I would also like to know whether the STM32C011 is covered by ST's longevity program and what its currently committed availability date is.Thank you for your help.
I am trying to disable the write protection on an STM32G431K (on a Nucleo-G431KB) by settings the option bytes using CubeProgrammer:However, “Apply” fails with the log showing:11:14:40:365 : Option byte command : -ob WRP1A_STRT=0x3f WRP1A_END=0x0 11:14:40:367 : qCmd : -ob WRP1A_STRT=0x3f WRP1A_END=0x0 11:14:40:367 : PROGRAMMING OPTION BYTES AREA ...11:14:40:368 : Database: Config 0 is active.11:14:40:368 : Bank : 0x0011:14:40:368 : Address : 0x40022020 11:14:40:368 : Size : 84 Bytes11:14:40:373 : halt ap 0 11:14:40:381 : Loader write option bytes...11:14:40:381 : Init flashloader...11:14:40:381 : halt ap 0 11:14:40:389 : run ap 0 11:14:40:390 : halt ap 0 11:14:40:396 : run ap 0 11:14:40:420 : Reconnecting...11:14:41:549 : ST-LINK SN : 00190036313351123630373911:14:41:549 : ST-LINK FW : V3J17M1011:14:41:549 : Board : NUCLEO-G431KB11:14:41:550 : Voltage : 3.27V11:14:41:739 : Error: Unable to get core ID11:14:41:739 : Error: Cannot connect to acce
Pls help with FIT rate value for below components:STM32N657X0H3Q - MCU LSM6DSVTR - IMU Sensor M24M01E-FMN6TP - EEPROM ST4SI2M0004TPIFW - eSIM
I am seeing behavior on an STM32G474 that I cannot explain and would appreciate if anyone has seen this before.SetupMCU: STM32G474 (Nucleo-G474RE) COMP6 Positive input: PB11 (COMP6_INP / ADC1_IN14) Negative input: DAC2_CH1 HRTIM Fault 3 source: Internal Fault (FLT_Int) from COMP6 Fault filter: Disabled Fault counter threshold: 0 Fault polarity: Active HighDAC ConfigurationDAC2_CH1 configured as:Normal mode Connected to on-chip peripherals only Output buffer disabledRuntime code updates DAC2 every 1 ms:HAL_DAC_SetValue(&hdac2, DAC_CHANNEL_1, DAC_ALIGN_12B_R, dac_value);Verification PerformedVerified COMP6 configuration registers. Verified DAC2 DOR register contains expected value. Verified HRTIM Fault3 is the only enabled fault source. Disabled ADC sampling on PB11 (no change). Verified fault polarity behavior. Verified comparator output on a GPIO pin.ObservationWhen monitoring the COMP6 output pin directly, the comparator switche
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.