Get ready for the STM32 Summit 2026 | Online, November 3
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
Dear ST AutoDevKit Support Team,I am working with the ST AutoDevKit BMS setup and would like to request your technical guidance before powering the system again, because I want to avoid damaging the AEK-POW-BMS63EN board, the L9963E IC, the AEK-POW-BMSHOLD holder, or the cell sense wiring.My hardware setup is:AEK-POW-BMS63EN BMS node boardAEK-POW-BMSHOLD 14-cell holderSPC58EC / AutoDevKit environmentLG INR18650 MJ1 cellsRigol DP711 bench power supply used in CC/CV mode for charging, supports up to 30 volts (7 cells constrains)Rigol DL3021 electronic load for discharge testsI would like to operate the system with 7 cells only, using the following physical configuration in the 14-cell holder:First 5 cell positions populatedMiddle positions unusedLast 2 cell positions populatedThe intended logical L9963E cell mapping would be:Active cells:CELL0–CELL1CELL1–CELL2CELL2–CELL3CELL3–CELL4CELL4–CELL5CELL12–CELL13CELL13–CELL14Unused/dummy channels:CELL5–CELL6CELL6–CELL7CELL7–CELL8CELL8–CELL9CELL9
Currently image source files take up a lot of drive space.My image folder TouchGFX\generated\images\src is 44.5MiB on my drive.TouchGFX projects can take up a lot of drive space as is (https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/gfxdesigner-option-to-auto-delete-touchgfx-folder-upon-exit/m-p/724758#M39655). So these files just add to it.You could use build scripts or cmake to add data from binary files to temporary source files. But this can be quite a hassle to make it platform independent. But that would save a lot of drive space as the binary files take up less space than source files with hex constants. (Example to use OBJCOPY)There are ways to shrink the source files. One way is to use uint64_t hex constants instead of uint8_t hex constants to reduce overhead.Before: LOCATION_PRAGMA("ExtFlashSection") KEEP extern const unsigned char image_test_image[] LOCATION_ATTRIBUTE("ExtFlashSection") = { // a x b RGB565 pixels. 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
Hello! I try calibrate STPM34 device, but have some troubles.I created some xmls file with Reference Manual and AN4470 and compare results by STPM3x_Evaluation_Software and it different. 1) RM use default Vref value as 1.18, but App use 1.22) Calculation of PHC with PHV=2 different (it true if use formula for PHV=1)Also I find errors in metrology coefficients calculation. metrology.c contains formulas with examples, but it results incorrect.All troubles I placed to xmls file with all needed information.Help me please, get correct formulas for calculation.Thank!
I have a project that was using an STM32WB55RG. I copied & pasted this project in Cube then opened up the IOC in MX & managed to retarget to an STM32WB55GC. But I now notice that the original project has also been retargeted.So I tried to retarget it back to an STM32WB55RG in MX but the pinout compatible dialogue just hangs at 75%, see below. So what are my options here? Do I have to open up a new project from scratch & abandon my retargeting via MX?
Using an STM32H7Rx or Sx, with both I2C2 and I2C3 in use, and clocked by PLL3R:Cube correctly configures I2C2. However, it doesn't seem to be aware that I2C2 and I2C3 share a clock, so it:incorrectly computes the timing for I2C3, as if it were using PCLK1 (the default), in MX_I2C3_Init();fails to insert the line "PeriphClkInit.I2c23ClockSelection = RCC_I2C23CLKSOURCE_PLL3R;" in the init code for I2C3, in HAL_I2C_MspInit(). This sets both I2C channels back to PCLK1, thereby breaking I2C2 as well.(I didn't try the other clock sources - HSI and CSI - but it's possible that they too don't work for I2C3.)Fortunately, it is possible to manually add the correct code in the user areas immediately after the two sections of affected code, so there is a workaround for now.
Hello,First time posting here so I apologise in advance to admins if this is in the wrong area.I’m attempting to use a DP838xx series PHY with an STM32H7xxx series chip in MII mode and I’m running into this odd issue where whenever the ETH_MDC pin is initialized, the TX_CLOCK completely drops out. I believe my PHY is reset when I set the MDC pin. I can’t seem to get around this at the moment and wonder if perhaps there is something quirky or unusual that I’m not aware of?I have this crazy idea that perhaps the pin is being pulled low just at the right time as to send something to the PHY to tell it to reboot or shutdown but I’m not able to look into that much detail.Things I have tried:1. Full setting up my PHY by writing to it’s registers for MII mode and the correct physical medium2. The same but in RGMII mode and then attempting to switch3. Completely fresh project without LWiP stack, manually enabling the ethernet pins one at a time (this is where I discovered that the MDC pin was
Hardware: STEVAL-MKI109D (STM32H563ZI)CubeMX: 6.17.0CubeIDE: 2.1.0Connection: USB-C directly to STM32H563 USB OTG (no ST-LINK chip)PROBLEM:I need USB CDC Virtual COM Port in a bare-metal application(no RTOS). CubeMX 6.17.0 for STM32H563 only offers:- USBX (requires ThreadX)- ThreadX- FileX- LevelXClassic USB_Device middleware (usbd_cdc_if.h / CDC_Transmit_FS)is NOT available for STM32H5 series in CubeMX 6.17.0.USBX requires ThreadX RTOS. Without ThreadX running,MX_USBX_Init() causes the board to crash silently —after DFU flash the board is completely invisible on USB(no lsusb entry, no /dev/ttyACM*).QUESTIONS:1. How do I implement USB CDC on STM32H563 WITHOUT ThreadX?2. Is there a way to enable classic USB_Device stack for STM32H5in CubeMX 6.17.0?3. Is there a bare-metal USBX CDC example that does NOT requireThreadX for STM32H5?4. Can I manually add usbd_cdc_if.c and USB Device library filesto an STM32H5 project without CubeMX support?I have a working SPI sensor application (ISM330DHCX
Hello, I currently using the STM32F401RCT and the ST25R100-CMET.Its a battery powered device and want to put the ST25 chip in sleep. in rfal_nfc.c I found rfalNfcDeactivate for disabling, but I don’t get it enabled.//Power saving functionsvoid NFC_Enable(void){ printf("Enabling NFC chip\r\n"); rfalNfcInitialize(); rfalNfcDiscover(&discParamNfc);}void NFC_Disable(void){ printf("Disabling NFC chip\r\n"); rfalNfcDeactivate(RFAL_NFC_DEACTIVATE_IDLE);}Right now when I enable the chip it doesn’t detect tags. It does work and detect tags without the power saving functions.I have been reading through this file: RF/NFC abstraction layer (RFAL) - User manual But haven’t found a solution.Have I missed anything?Kind regards, William
I am connecting IPMM15B’s J2 to IHM09M2's J7. There are documents showing how J7 is aligned and where it is situated on the board. But I have no idea how J2 is oriented. The schematic is too brief. It could be opposite aligned if I turned the board around to the inverse side. I don’t know how the pins should be connected. I need to know where pin1 pin2 is situated on the board.
Hi, I am using the STM32N6 nucleo board to print some application data using the ITM stimulus port 0 over the SWO pin. I am using the dev boot mode.My stlink version is V3J17M11, which is up to date, and my cube programmer version is 2.23.0, which is up to date. Problem statement: My program works in the Cube IDE, and it shows the output in the Serial Wire Viewer tab.Problem 1: When I try to use it with the Cube Programmer, I click the start button, and it says, Serial wire viewer configuration failed. ( elaborated below)Problem 2: When I try to use the J-Link with SWD in the Segger Serial Wire Viewer, the J-Link viewer configuration window just resets my MCU, and the code vanishes.I’ll share my main.c file below.ExplanationProblem 1:I tried a lot of things and read about the Access ports. My system clock is 32MHz, and the TPIU clock is 4MHz. The cube programmer’s SWV asks for the system clock, which I assume is the core clock, so 32MHz, but I have also tried 4, 8, 16, and 64 options.
I am attempting to use X-Nucleo-DRP1M1 + Nucleo-G071RB boards as data communication dock for with following behavior :- The dock is a sink by default and UFP, so that a non PD capable mobile device can connect and communicate with a USB peripheral using the USB OTG feature (even though the mobile device isnt being charged)- if a PD capable mobile device is connected, the dock can send a role swap requests so the mobile device is charged and connected to a usb peripheral. The charging voltage is 5V. It would be preferable if this behavior occurred reliably even in the case of a power cycling while remaining connected, and after repeated disconnects + reconnects. I attempted to use a CubeMX project following this guide (https://wiki.st.com/stm32mcu/wiki/STM32StepByStep:Getting_started_with_USB-Power_Delivery_Dual_Role), setting the dock’s USB-C port as default Sink and enabled USB some connectivity features to enable connection to a peripheral. I do not think the behavior i seek should r
Hello ST Community,I would like to report a potential discrepancy I have discovered between the pin definitions in STM32CubeMX and the official datasheet for the STM32N6 series, specifically concerning the Serial Wire Output (SWO) signal used for debugging (SWV/ITM). This issue led to a hardware design error on my part, and I believe it warrants clarification to prevent others from encountering the same problem.According to the STM32N647xx datasheet (and related family documents), the SWO function is assigned to Pin PB5, The TRACECLK function is assigned to Pin PB3However, within STM32CubeMX (I am using version 6.16.1)(N6 MCU package version 1.3.0), the graphical pinout view shows that Pin PB3 is also listed with the "DEBUG-JTDO-SWO" functionality. More importantly, when configuring the debug port in the "SYS" settings (e.g., selecting "Trace Asynchronous Sw"), the software automatically assigns the SWO signal to PB3.Trusting the configuration tool, I proceeded to design my PCB wi
On STM32CubeMX 6.16, STM32N6 package 1.3.0, APB frequency limit is shown as 400MHz instead of 200MHz.AHB is correctly shown as 200MHz
Gcc and Visual Studio correctly compile today's date __DATE__ to "May 6 2024". However STM32CubeIDE editor expands the macro incorrectly if I hover the cursor over it.Month name is in DutchMonth name is in lower caseDay of month is left-padded with 0 instead of a space
Hi, I'm trying to access SD cards with an STM32C091 MCU. It seems like FatFS is not supported by default in CubeMX, therefore I looked into FileX. I don't have a need for running an RTOS, so I would like to run FileX in standalone mode. However, the FileX parameters in CubeMX don't contain FX_STANDALONE_ENABLE (see attached). Can anyone offer some insight into the topic? Thanks you for your time and effort. :)
Hi ST team,we are currently developing a new industrial product embedding the STM32U5A5ZJT6Q MCU.For our system reliability assessment, we would like to request the official reliability data for this specific component.Could you please provide:MTBF (Mean Time Between Failures) FIT rate (Failures In Time)If available, we would prefer values calculated according to:Telcordia SR-332 MIL-HDBK-217 Ground Benign (GB) operating environment assumptionsThank you for your support.Best regards
I am using Nucleo F103RB Kit which has onboard St-Link.I created a simple Led Blink project, and when trying to debug or program the board, I am getting the message that “No ST-Link Detected, and so on”.But as can be seen from the below screenshot the ST-Link is detected.But when I used the STM32CubeProgrammer, and programmed the same binary generated by STM32CubeIDE, it works fine, i.e. programming works fine, as can be seen below. I am also learning in parallel the Zephyr, and there also with command `west flash` st-link is able to program the binary but not with STM32CubeIDE, which is very strange.Apart from this I used the tool from segger to convert the st-link to jlink, and after converting this to jlink, and then selecting jlink in debug configuration of STM32CubeIDE, it works fine.Can someone please help me that why on-board st-link is not working with STM32CubeIDE?Summary:ST-Link not working with STM32CubeIDE using the latest version 2.1.1 ST-Link when converted to JLink works
Hello, I have been having a ton of trouble setting up a simple ADC + DMA on the new STM32N6 Nucleo board. I have confirmed that my adc is sampling by looking into the data register of my ADC. However, the only way I got the HPDMA to write in my adc buffer was through DTCM as I followed the reccomendation of this topic, in order to avoid the hassle with S and NS domains. However I wish to sample at 2.5 MSPS and through DWT and the Cplt_Callback of the HPDMA I found that my data actually came through at 1.44MSPS. The ADCs of this STM are rated for 5MSPS.Can anyone help me make it so that I can sample at the desired rate and actually get a hold on that data at the desired rate. Also if you know of a better fix than cranking the CID to 11 I’d happily take it. Thanks, Lorenzo
The top line is S4 then there is a QR Code and then 513. I think it to be one of the iNEMO Inertial Modules but I don’t know how to go about checking which one. I don’t know the dimension of the package
In CubeMX Version 6.17.0, for STM32G474RET6, HRTIM1, TIMA output2 configuration, set sources is forced to 0 cannot be changed to 1 and it is showing "Set Sources: nothing to set as Dead Time is enabled, Output2 signal is defined based on Output1 Configuration Set Sources" even if Dead time is kept disabled. This issue was not present on previous versions of CubeMX.
I am a long-time STM32CubeMX user (7+ years). I ran into an issue with STM32CubeMX recently while modifying an existing configuration for an STM32L4 project. This is a usability issue.In the NVIC configuration page, there are two tabs, one labeled "NVIC", the other labelled "Code Generation". In the NVIC tab there is a column labelled "Enabled". The issue is with the word "Enabled" -- it has a clear meaning with regard to interrupts. I wanted the interrupt handler created, but I wanted the code generated with the interrupt disabled. I made the mistake of disabling "Enabled" in the NVIC tab, initially ignoring the "Code Generation" tab. The result was that the interrupt handlers, along with my user code, was removed from the stm32l4xx_it.c file. (I had it in source control, so nothing was lost.)"Enabled" on the NVIC tab means that the interrupt is used and a candidate for code generation. The selection I wanted is on the "Code Generation" tab labelled "Generate Enable in Init". The word
missing --start-group around WBA2_LinkLayer_BLE_Full_lib.EnvironmentSTM32CubeMX version: 6.17.0STM32CubeWBA firmware package: 1.9.0Target device: STM32WBA25CG (NUCLEO-48 board)Toolchain: GNU Tools for STM32 14.3.1+st.2 (arm-none-eabi-gcc/ld)Build system: CMake (toolchain selected via "CMake" in CubeMX project settings)Host OS: Windows 11Steps to reproduceCreate a new STM32CubeMX project for STM32WBA25 (NUCLEO board).Enable BLE (peripheral role, BLE_Full stack).In Project Manager → Toolchain/IDE, select CMake.Generate code.Build with the generated CMakeLists (e.g. cube-cmake --build build/Debug).Expected Build links cleanly.Actual Link fails with:ld.exe: stm32wba_ble_stack_full.a(le_ctrl.o): in function `LECTRL_LL_Init': le_ctrl.c:(.text.LECTRL_LL_Init+0xa): undefined reference to `ll_ble_events_init' ld.exe: (ll_ble_events_init): Unknown destination type (ARM/Thumb) in stm32wba_ble_stack_full.a(le_ctrl.o) le_ctrl.c:(.text.LECTRL_LL_Init+0xa): dangerous relocation: unsuppor
Hello EveryoneI am using CubeMX 6.17.0 and Embedded Software Package STM32H5 1.6.0:Is there a control missing to setup "Trigger Output (TRGO) Parameters? In comparison to e.g. Tim15:
Hello,I just downloaded STMCubeIDE 2.1.1 to generate a simple project for a Nucleo-C562RE board.I am not using CubeMX2 (for various reason, that is not the point).The default empty project generated for STM32C562RE by the IDE has only 1 SRAM element with a size of 64K, instead of 2 SRAM elements of 64K each.FLASH size is correct though.Out of curiosity, if ST were to push a fix for this kind of bug, would it be a new IDE release ? or could it be a STM32C5 pack update only ?
Hello, I'm trying to create a project with custom model via STM32 Cube AI studio, which uses STedge Core AI v. 3.0.0. Validation is performed on STM32N6570-DK. I'm getting following error:E200(ValidationError): TARGET: Unable to bind the ST.AI runtime with "network" c-model: [] E801(HwIOError): Invalid firmware - COM7:115200 When running same command from command line I see that progress goes to 74,8 % and then stucks until error is displayed.See attached failed report for details.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.