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 hope all is well. I’m also looking for the FCC test report for the STM32WLE5CCU6. I noticed someone else had requested it previously, but the inquiry seemed to be redirected and may not have been followed through. In short, I will need someone from your compliance or technical team to contact me directly via email. We are currently working on the FCC frequency‑hopping requirements, and I’d like to understand how this was handled on your side and hopefully obtain some manufacturer guidance. Thank you in advance.
I attempted to convert a CubeMX project to start using the “Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral” option and CubeMX left three peripheral handle declarations in main.c which conflict with the declarations in their individual files: handle_LPDMA1_Channel0, hlptim1 and hlptim3. Many other peripheral handles were correctly removed from main.c, including other LPDMA channel handles.Can anyone help me figure out what’s going wrong and how to fix it? I suspect that this may be because they are used in our LPBAM setup.
I’m Trying to Implement SVPWM based on the I’m attached research paper where i had completed till the dwell time calculation But i could n’t identify the switching sequence and switching arrangement If anyone know about this kindly help me with your expertise.
I encountered a problem where I used ST's open-source FOC algorithm. Currently, my motor often shakes at a speed of 22k. Upon inspection, I found that the Hall output of the motor has some fluctuations, which is a problem with the motor itself. However, the important issue is that when the timer input captures the Hall sensor signal, there is a problem where both the capture value of 65535 and the overflow flag exist. As a result, the calculated capture value becomes 65535+65536, causing shaking. I think it's because when 65535 was captured, the program didn't process the callback function in a timely manner and only processed the timer callback function after overflowing. What if we solve this problem?As shown in the blue curve in the figure below, when a peak appears, it is an abnormal moment:
SummaryOn an STM32WB5MMG module (STEVAL-PROTEUS1), with BLE advertising active and theapplication configured for Stop2 low-power operation, the device reaches theexpected Stop2 sleep current (p50 ~ 7 uA) ONLY after a debugger-mediated reset(STM32CubeProgrammer: -c port=SWD mode=UR -rst).After a cold power-on reset (POR) - removing and reapplying the supply, the realdeployment scenario - it draws a constant ~9 mA and never enters Stop2, eventhough it otherwise runs completely normally (RTC cycle runs, BLE advertisingworks, application data updates). This is 100% reproducible and deterministic.Deployment-critical: in the field the customer inserts the battery (= POR) -> 9 mA-> a 10 Ah cell lasts ~47 days instead of the intended multi-year lifetime.Hardware / Software- MCU/Module: STM32WB5MMG (STM32WB55 die) on STEVAL-PROTEUS1.- Wireless stack: BLE_Stack_full V1.24.0.3 + FUS v2.2.0. First seen on V1.19.0 / FUS v1.2.0 and UNCHANGED after upgrading to V1.24.0 (the stack update did no
Hi Team, We are trying to send camera feed through the TP2860 video decoder to STM32N6570_DK. We have confirmed the configuration of the TP2860 and receiving data at the TP2860 MIPI output, but not receiving packets at the STM32n6570 CSI end. We are positive the CSI configuration is done correctly, but please let us know if we are missing anything sharing the function and also attaching the log :void stm32n6_mipi_host_enable(void){ /* ========================================================================= * STEP 1: FORCE MIPI CORE INTO SHUTDOWN / DISABLED STATE * ========================================================================= * Clear PEN (Bit 1) in CSI_PRCR and clear power bits in CSI_PCR. * This releases the write-protection lock on the configuration registers. */ CSI_PRCR &= ~(1 << 1); CSI_PCR &= ~0x0000000F; k_msleep(5); // Wait for internal finite state machines to safely idle /* =========================================
Hello,I am working on an STM32C011 (Nucleo-like custom board) and trying to use I2C1 with the following pinout:PB7 → I2C1_SCL (AF14)PC14 → I2C1_SDA (AF14)According to the reference manual / datasheet, PC14 can be mapped as I2C1_SDA (AF14).I connected an SHTC3 humidity/temperature sensor (address 0x70) to these lines with 4.7k pull-ups.Problem:My I²C scanner code never detects the SHTC3 (always NACK at 0x70).If I configure I²C on PB6/PB7 instead, the scanner works.GPIO PC14 seems not to toggle as SDA when I try transactions.I suspect this might be related to PC14 also being used for LSE (OSC32_IN). In CubeMX, I set LSE = Disabled under RCC.But I still wonder if PC14 can reliably be used for I²C, or if there are silicon limitations when LSE is involved.Questions:Is PC14 fully usable as I²C SDA on STM32C0 when LSE is disabled?Has anyone successfully used I²C1 on PB7 (SCL) + PC14 (SDA)?Could this be a hardware limitation / errata, or am I missing a CubeMX clock configuration detail?Any fee
Hello,I am working on a NUCLEO-H503RB board and communicating with two LSM6DSO devices over an I3C bus operating in I2C Mixed Mode.When the bus is running in Open-Drain mode, I observe the following waveform characteristics on the SDA line:When SCL transitions from High to Low, SDA exhibits a momentary voltage drop. During the SDA pull-up (charging) phase, the signal does not follow a smooth RC charging curve. Instead, it initially rises slowly and then suddenly jumps to a higher voltage level (VH).SDA waveform during I3C communicationSDA waveform during I2C communication (Open-Drain mode)Could anyone help explain the possible causes of these behaviors? Are they related to I3C/I2C bus characteristics, device handoff timing, pull-up configuration, parasitic capacitance, or measurement effects?Any suggestions or insights would be greatly appreciated.Thank you.Best regards,
I updated to the newest STM32CubeMx 6.18.0Now i miss X-CUBE-AZRTOS-H5 support.I can see only an empty display after loading my .ioc file.
Pins 43 (PB1) and 44 (PB0) on the STM32WB5MMG Datasheet are listed at NC (no connection). In CubeMx these pins are available to use. I would like to confirm which is correct for the Bluetooth module LGA86 STM32WB5MMG.
I have setup STM32 VScode extension in my PC, which is awesome. But I found I can not use a Jlink or daplink to flash or debug my board, only STlink is supported. How can I debug with other debuggers in VScode? Any help will be appreciated.
Hello team,i thing there is a bug in ST AIoT Craft when loading multiple .csv dataset files.With figures, you can see respectively :2 .csv files 3 colums for accelero and 3 colums for gyro 1 for time_step and the last one for tag with 6 different valuesThe 1st and 2nd images show clearly the 2 files correctly tagged.The 3rd image show the Summary and if you zoom in section Labels, tou can note that only 1 file (and not 2) is concerned with tag.Import is done in image 4 with the 2 .csv files.And last image indicates that the last datalog is completely “unlabeled”. This dataset correspond to the missing “Labels Tag” file, that is “xxx10-40-10xx”So i concluded that the “tag” process for multiple .csv file is “not clear”.Error is already visible in image 3.Thanks for your feedback.
I’m about to start a new embedded project that is probably outside my skill set (as usual) and I’m hoping to get some recommendations on what STM MCU might have a reasonable learning curve to build up the MCU part of this system. It’s another autonomous oceanographic observing platform like I’ve built in the past with a lot of help from people on this forum. That system used a STM32H7 MCU. For this case, I need a few more serial ports and an ethernet connection to a new sensor. And I’ll need a file system and lots of Flash and SRAM. Low power matters, but the MCU is pretty low on the power consumption histogram.The STM32H5 looks like a good choice since it has lots of serial ports and the Nucleo STM32H563 has an Ethernet phy and a USB-C connector that theoretically could support a USB Flash driver.. Here are a few specific questionsQ0 Is there a better MCU choice with an easier learning curve that might meet my requirements?Q1. It looks like the H5 and STMCubeMX/IDE now use FileX which
I have written a small code which inits a GPIO in push pull config and a UART using cubemx then goes into stop mode. I have implemented same example in STM32L073 nucleo and STM32WL55 nucelo. In L073 I am able to see the current goes to 2-3uA. But in WL55 it is consuming 300uA or so. As per datasheet both will disable clocks to peripherals while going into stop mode. But in case of WL55 I am able to 1.5uA only when I denit all the gpios and disable clocks. Is it expected behavior or am I missing something. I have added my code below for reference, thanks in advance. int main(void){/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals
STM32CubeMX v6.17.0While configuring an STM32CubeMX project for an STM32H753 Ethernet project on a NUCLEO-H753ZI, I observed some strange behavior.After enabling memory management, including the checkboxes- Apply Application Regions Settings to Peripherals and- Apply Application Regions Settings to Linker Files,I would have expected the memory regions to be included in the linker description file STM32H753XX_FLASH.ld.Unfortunately, this was not the case.However, since the STM32H753XX_FLASH.ld file had obviously been regenerated, I did not suspect the file handling itself.After several hours of searching, I discovered that if the .ld file is deleted before regeneration, different content is generated.Steps to reproduce this:Open STM32CubeMXFile / New Project… / Board SelectorSelect NUCLEO-H753ZIIn „Board Project Options“ dialog, click button „Unselect All“Set Project Manager / Project / Toolchain / IDE to CMakeand Default Compiler/Linker to ST Arm ClangFile / Save ProjectGenerate
I am working with a custom board populated with an STM32H7S7L8H6H and a hyperbus flash S26HS01GTGABHB030 connected on XSPI1.My intent is to execute in place on the hyperbus flash but have not been successful thus far.Interestingly I cannot select CONFIG_8LINES for the Memory 1 configuration in CubeMX.
There is a critical code-generation template bug in STM32CubeMX (reproduced in 6.16.1 with STM32CubeH7) when generating USB Device middleware configurations. In the generated usbd_desc.c file, the Get_SerialNum() function is generated with uninitialized local variables that are then used in arithmetic operations.This results in Undefined Behavior (UB). It compiles and works under -O0 because the uninitialized stack happens to evaluate to zero, but it causes an immediate, silent HardFault/BusFault during USB enumeration on Windows when compiled with -O1 or -O2 optimizationsoriginal generated code static void Get_SerialNum(void){ uint32_t deviceserial0; // Uninitialized uint32_t deviceserial1; // Uninitialized uint32_t deviceserial2; // Uninitialized // ST's generator template completely misses the lines assigning the registers! deviceserial0 += deviceserial2; // Undefined Behavior: addition on uninitialized variables if (deviceserial0 != 0) { IntToUnicode(deviceserial0, &U
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
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.