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
Hello, I wrote a project maybe 2 weeks ago, at that time, everything was ok. then i used stlink to download and debug the code yesterday, at first time, it worked ok, but later, i did download and debug again with stlink. it cannot work. the log as below.my setting as below:so what is the problem? how to fix it?thanks.
Hi, I'm developing a board to control motors using FOC. For this, I will use the MC workbench tool to generate the code. However, when I describe the hardware in the shunt resistors section, there is no "in-line" option, only the low-side option, but my board only has them in-line and I can no longer modify it. What can I do in the code to be able to use the shunt resistors in this way?
Hi everyone,I wanted to share a project I’ve been building over the last few years. It’s called Mk, an operating system built entirely from scratch for the STM32F746G-DISCO and STM32F746G-Eval2 boards.These boards are powered by an ARM Cortex-M7 running at 216MHz. Initially, my goal was just to implement a small scheduler, but I stacked layers one after another to make it as complete as possible. Currently, I think I've added enough layers to claim it as a functional, lightweight OS.Mk features:A KernelPreemptive, priority-based multitasking scheduler (fixed-priority, O(1) selection via hardware CLZ instruction) Trusted Execution Environment (TEE) using the Cortex-M7 MPU (privileged and unprivileged mode isolation) Synchronization primitives: mutex, semaphore, event flags, mailbox Fixed-size memory pools Synchronous and asynchronous callback execution systemA Dynamic ELF Loader Mk can load and execute external .elf binaries at runtime, relocated dynamically into 64 KB pages of the ext
Hello, I am working on I3C private transfers. When I build the context buffer with HAL_I3C_CTRL_BuildTransferCtxPrivate I get an assert when IS_I3C_PRIVATE_MODE is checked against HAL_I3C_PRIVATE_WITH_ARB_RESTART. Is the exclusion of HAL_I3C_PRIVATE_WITH_ARB_RESTART from the macro below intentional? stm32c5xx_hal_i3c.c: line 574 #define IS_I3C_PRIVATE_MODE(MODE) (((MODE) == HAL_I3C_PRIVATE_WITH_ARB_STOP) \ || ((MODE) == HAL_I3C_PRIVATE_WITHOUT_ARB_RESTART) \ || ((MODE) == HAL_I3C_PRIVATE_WITHOUT_ARB_STOP) \ || ((MODE) == HAL_I2C_PRIVATE_WITH_ARB_RESTART) \ || ((MODE) == HAL_I2C_PRIVATE_WITH_ARB_STOP) \ || ((MODE) == HAL_I2C_PRIVATE_WITHOUT_ARB_RESTART) \ || ((MODE) == HAL_I2C_PRIVATE_WITHOUT_ARB_STOP)) Thank you, -Gil
Hello, I am looking for an example of how to use private I3C transfers for STM32C562RE. I read the I3C examples posted on Github but I did not find any controller or target examples that use HAL_I3C_CTRL_Transfer_DMA and HAL_I3C_TGT_Receive_DMA for private transfers using HAL2. Your help would be appreciated,Gil
Hi~ My board gets stuck at the kernel stage during boot. I've referred to numerous related posts but failed to resolve the issue.The boot file versions I use are OP-TEE 4.0, U-Boot 2023.10 and Linux 6.6.116.The official device tree I referenced is stm32mp157f-ed1.I have attached the boot logs, hardware schematic and device tree files. Please help analyze the root cause of the problem.stm32f7-i2c i2c@5c002000: pinctrl_select_state_full: pinctrl_config_one: err=-19 [ 1.741795] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.748959] DEBUG: SCMI CLOCK PROBE STARTED! sdev name: scmi_dev.2 I/TC: SCMI-CLOCK: Reporting 34 clocks to Linux I/TC: SCMI-FW: ETZPC ID 2 DENIED for Non-Secure world! I/TC: SCMI-MSG: NS Request Clock ID 15 (iwdg1), ETZPC 2, Access=FAIL I/TC: SCMI-CLK: ID 15 has no name/not found I/TC: SCMI-FW: ETZPC ID 7 DENIED for Non-Secure world! I/TC: SCMI-MSG: NS Request Clock ID 16 (rng1_k), ETZPC 7, Access=FAIL I/TC: SCMI-CLK: ID 16 has no name/not
i am installed cube-MX for linux laptop version (6.17.0) and cube-IDE is (Version: 2.1.1) .For MX it shows option only generlic linux so it is correct for linux laptop ? and for IDE is debian is fine . I refer you tube sessions for Example import in that STM32IDE option availbale as toolchain but in my system sometimes not shows . Can you please give me exact steps how can i use Mx with IDE in detail steps for import examples given by stm32 also how can i create and import new example also . Also i have board STM32-NUCLEO-F746ZG when i import example in MX sometimes board is not visible .For toolchain selection below options are availble in that STM32IDE is invisible .
When generating a CMake-based STM32 project, STM32CubeMX currently lists every single .c source file manually in CMakeLists.txt. This brings major inconvenience for users:When adding user drivers (e.g., sensor, flash, display, or custom modules), users must manually edit CMakeLists.txt and add each new .c file path.If the user adds many source files, this process is error-prone and inefficient.It does not match modern CMake project practices and reduces project maintainability. Suggestion:Please use file(GLOB_RECURSE ...) to automatically include source files from standard directories such as:Core/Inc/*.hCore/Src/*.c
Hi all,I'm running standalone STM32CubeMX on Debian and I'm having trouble generating a complete project. No matter what I do, code generation only produces three items:- led_test.ioc- Inc/ folder- Src/ folder I'm expecting a full project structure including Core/, Drivers/, startup files, and a .launch file for STM32CubeIDE.Steps I've already tried:1. Selected the NUCLEO-F334R8 from the Board Selector (not the MCU).2. Clicked Yes to initialize all peripherals with default settings.3. In the Project Manager tab, set the Toolchain / IDE to STM32CubeIDE before generating.4. Clicked Generate Code — same incomplete output every time.Has anyone run into this on Debian? Is this a known bug with the standalone CubeMX on Linux, or am I missing a step? Any advice appreciated.ThanksI've attached screenshots of my CubeMX configurations settings below:
The gui seems to not have support for viewing adding or changing watchpoints for what i can find. I am able to use watchpoints using the debug console.">watch address"however it would be nice if that would also be visualized just like breakpoints. STM32CubeIDE for Visual Studio Code: Version 3.9.0 here my launch.json file:{"type": "stlinkgdbtarget","request": "launch","name": "CM7 master STM32Cube: Launch ST-Link GDB Server","origin": "snippet","cwd": "${workspaceFolder}/XXX/","deviceName": "STM32H747BIT6","deviceCore": "Cortex-M7","serverSerialNumber": "XXX","serverInterface": "SWD","serverInterfaceFrequency": "21000","serverReset": "None","preRunCommands": ["set output 16"],"program": "${workspaceFolder}/XXX/CM7/Debug/XXX.elf","imagesAndSymbols": [{"symbolFileName": "${workspaceFolder}/XXX/CM7/Debug/XXX.elf",}],"liveWatch": {"enabled": true,"samplesPerSecond": "4"},"serverExtLoader": [{"loader": "${workspaceFolder}/XXX/CM7_ext_flash_ldr/XXX.stldr","initialize": fals
Recently, I was trying to implement SDMMC+DMA+SDFAT to read and write the SD card of my Class on the STM32H750VBT6. Then I found that the DMA of SDMMC was gone. I saw some online materials saying that MDMA needs to be configured, and some also said that SDMMC does not need to configure DMA as it has its own independent IDMA bus. What is the actual situation when it is directly mounted on AHB? Are there any configuration screenshots and programs of CubeMX for SDMMC+DMA? I'd like to refer to it. Thank you!
Does the ST67W611M1 (-B version) with PCB antenna have a built in rf switch? We want to programmatically or via pins switch between the PCB antenna and an external antenna.
Dear. AllI'm asking how to use STemWin on stm32h743 mcu.How to add STemWin on STM32CubeIDE? (Current Use Version. 1.13.0)?How can I run a project with the development board I bought? (STM32H743I-EVAL)?In particular, I want to run the STemWin_SampleDemo project.I`m use IAR EWARM ver 9.xx but in stm32cubeh7-v1-12-1 andSTM32Cube_FW_H7_V1.11.0\Repository\STM32Cube_FW_H7_V1.11.0\Projects\STM32H743I-EVAL\Demonstrations\STemWini find STemWin.ewp project which use OGLastSavedByProductVersion 8.20.2.14834.It mean`s STemWin.ewp should compile on EWARM 8.20 or late.Is it possible to use example on later version EWARM ?Best regards.
Hello everyone:On touchgfx support website:https://support.touchgfx.com/docs/development/scenarios/touchgfx-on-gpu2d ,there is a demo of map using NeoChromVG,this is the demo videoSo,where can I get this demo project?
STM32H743VGT6 how to use slave I2C+DMACurrently, this usage is fine. However, when using the DMA function, it will trigger an ER interrupt.HAL_I2C_Slave_Seq_Receive_DMA, How to use it? Are there any examples?// 从机地址匹配回调函数 void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode) { if (hi2c->Instance == I2C1) { if (TransferDirection == I2C_DIRECTION_TRANSMIT) { Rx_len = 0; memset(I2C_rxBuffer,0,4); HAL_I2C_Slave_Seq_Receive_IT(&hi2c1, I2C_rxBuffer, 1, I2C_FIRST_AND_LAST_FRAME); } else { HAL_I2C_Slave_Seq_Transmit_IT(&hi2c1, I2C_txBuffer, Tx_len, I2C_FIRST_AND_LAST_FRAME); } } }
I'm using the latest library provided by the STM32Cube_FW_G0_V1.6.3, specifically STM32Cube_FW_G0_V1.6.3\Drivers\CMSIS\DSP\Lib\ARM\arm_cortexM0l_math.libbut when using IAR 9.20 I'm having the warning Warning[Lt009]: Inconsistent wchar_t size arm_sin_f32.o(arm_cortexM0l_math.lib) and 1 other objects in arm_cortexM0l_math.lib have wchar_t size 16 bits my_file.o and 54 other objects, some of them in rt6M_tl.a and 5 other libraries have wchar_t size 32 bits How do I avoid the mismatch?I would like to avoid to link the source code for the cortex M math library and compile it myself.
I wonder why this is happening after U-boot has booten up?It seems that something is NULL. D/TC:? 0 tee_ta_close_session:484 Destroy session Error: eth1@482c0000 address not set. D/TC:? 0 tee_ta_init_session_with_context:562 Re-open trusted service a8cfe406-d4f5-4a2e-9f8d-a25dc754c099 F/TC:? 0 pta_scmi_invoke_command:404 SCMI command 0x3 ptypes 0x3 F/TC:? 0 pta_scmi_invoke_command:404 SCMI command 0x4 ptypes 0x651 D/TC:? 0 tee_ta_close_session:465 csess 0x821301f0 id 1 D/TC:? 0 tee_ta_close_session:484 Destroy session No ethernet found. �7�[r�[999;999H�[6n�8No EFI system partition No EFI system partition Failed to persist EFI variables D/TC:? 0 tee_ta_init_pseudo_ta_session:303 Lookup pseudo TA ab7a617c-b8e7-4d8f-8301-d09b61036b64 D/TC:? 0 tee_ta_init_pseudo_ta_session:315 Open rng.pta D/TC:? 0 tee_ta_init_pseudo_ta_session:330 rng.pta : ab7a617c-b8e7-4d8f-8301-d09b61036b64 F/TC:? 0 plat_prng_add_jitter_entropy:74 0x1C D/TC:? 0 tee_ta_close_session:465 csess 0x821301f0 id 1 D/TC
Hi everyone,I am encountering a HCI_HARDWARE_ERROR_EVENT with code 0x02 (BlueCore time overrun error) on STM32WB devices.Key observations:Issue is observed only on some units, while others operate normallyAll devices use the same firmware, BLE stack, and FUS versionsAffected units show unstable BLE behavior (disconnects or degraded performance)Validation performed:Tested with STM32 reference example (BLE_p2pServer)The issue is still reproduciblePCB layout and hardware design have been reviewed and validatedNo application-specific changes involved during testingQuestions:Root causeWhat typically triggers a BlueCore time overrun at the controller level?Does this point more toward hardware timing issues (clock accuracy, RF timing), or internal controller or stack conditions?Unit variationHas anyone observed this error occurring only on a subset of devices?Could this be related to component tolerances (HSE or LSE oscillator, RF matching network, power stability, etc.)?Failure diagnosisWhat
We are a bachelor project group developing a BLE Direction Finding handheld "tracking compass" using AoA on STM32WB09 devices.We have reached a stage where BLE communication, CTE reception, antenna switching, and IQ report generation all appear functional, but the resulting IQ data seems physically incorrect and causes unstable angle estimation.We would appreciate suggestions on possible RF or IQ-processing issues we may have overlooked. Environment:MCU:PCB1) STM32WB09KE (Compass)PCB1) STM32F446RE as processing unitPCB2) STM32WB09KE (Tracking Tag)STM32CubeIDE Version: 2.1.0Toolchain / IDE: STM32CubeIDE. In this page, ST provides a .zip folder containing existing application projects that STM32WB0-series users can import, edit, and build directly. Version: 1.4.0. Project used as basis: BLE_DirectionFinding_Central_Locator. Most of the edits done was through the .ioc file, app_ble.c, app_entry and gatt_client_app.c. We can provide these files later if necessary.The ap
What does the appearance of KF50BD-TR look like ? Does it have pin 1 marker?Can you provide the relevant drawings?
Hi, I'm using the STM32C071K8U6's built-in USB DFU bootloader for one-time production programming. After flashing, PA11/PA12 (USB D+/D-) are used as regular GPIO outputs to control two P-MOSFETs (each with their 100kΩ gate pull-ups to 4.2V). The USB functionality is not used by the end customer, but the USB connector remains accessible for charging. This means a PC's USB cable may be connected during normal use allowing for potential signal injected into those traces resulting into the PMOS being turned on/off by the PC if it detects there is a USB device connected and tries to enumerate it. The two core issues: a) When a user plugs into a PC for charging, we need to guarantee the host does not attempt enumeration, and that nothing the host does on D+/D- interferes with our GPIO-driven MOSFET gates. b) because the PA11 and PA12 traces also go all over the PCB - i.e. they form very long stubs - we need to make sure this does not prevent the USB from working properly d
The STM6905 datasheet says in Table 2 that there is an internal 10k pull-up on RST#, which seems wrong since that's an open-drain output. Then in Section 2.6 and in Section 3 it says that an external pull-up to VCC should be used.
Hello,I would like to ask about the UFQFPN32 package footprint for the STM32G491KEUx device.We are using the following part:Part number: STM32G491KEUxPackage: UFQFPN32While reviewing the datasheet and package information, we found that the actual UFQFPN32 package appears to have an exposed pad (EP) on the bottom side of the package.However, in the datasheet/package information we reviewed, the UFQFPN32 package information and footprint example do not seem to include the EP or the EP land pattern.In particular, the UFQFPN32 package information is shown in the document from page 166 to page 168, but we could not find any information regarding the exposed pad or the recommended PCB land pattern for the EP.Could you please confirm the following?Is the exposed pad information for the STM32G491KEUx UFQFPN32 package omitted from the datasheet/package information?For actual PCB design, should we include an EP land pattern for the UFQFPN32 package?If the EP land pattern should be included, shou
Hi everyone, I'm facing issues connecting an external debugger to the NUCLEO-H7S3L8 board (STM32H7S3L8). Current Setup: Board powered via CN5 (ST-LINK USB) JP1 closed (to disable on-board ST-LINK) External debugger connected to CN1 (MIPI20 connector) SWD mode at low speed (500 kHz to 1 MHz) Correct power sequence: Power CN5 first → wait for COM LED (LD8) to stabilize → then connect external probe What I have already tried: BOOT0 = 1 (jumper on CN11[5-7]) to enter bootloader mode and halt using external debugger Internal ST-LINK works fine when JP1 is open (using STM32CubeProgrammer) Problem: The external debugger is unable to connect or halt the CPU, please guide me how to fix it. Thanks,regards,Surender.
Hello All,Apologies in advance for sounding like a noob (that is because I am). I am building a wearable device as a hobby, and I need a 6-axis gyroscope with IMU. Ideally, the device should have more than one IMU, but considering that I have absolutely no idea how to even assemble the device, I am reaching out to this forum to hopefully get an initial idea of what it is I need, so as to hopefully set me off in the right path. The sensors I am thinking in using: Initially I have been looking at ASM330LHHTR and A3G4250DTR, strictly because they are small. The idea I have is to begin testing with a simple setup connected to power, but to eventually make it battery-powered.A bit more information about what I want to measure: eventually I want to set up a strip of these IMUs in a straight line, and have them measure at the same time, and feed it to something like a raspberry pi so as to transmit BT signal. To make a setup where I have IMU --> [something] --
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.