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'm investigating how to change the TX output power for hardware testing.I was able to confirm that the power changes by writing BLE_TransparentMode to the STM32WBA25 and sending the following HCI command via UART.0x01 0x0F 0xFC 0x02 <EnHighPower> <PowerLevel>However, while Table 468 of AN5270 suggests that it can be set up to +6dBm, there appears to be no change in the actual output between setting it to 0dBm and setting it to +6dBm.0x01 0x0F 0xFC 0x02 0x01 0x190x01 0x0F 0xFC 0x02 0x01 0x1FSetting it to a value lower than 0dBm seems to change the output as expected.Is it actually not possible to set it to a value higher than 0dBm?
Since updating to STM32CubeIDE v2.2.0 (and on a fresh install of v2.2.0), when I program my target STM32 (F413ZH) using a Segger J-Link, the code does not run until I power cycle the target. I’m fairly certain this issue coincided with me switching from CubeIDE 2.1.1 to 2.2.0.I have tried all 3 reset methods in the Debugger settings (Normal, Core, ResetPin), and they all exhibit the same issue. With ResetPin selected, a scope capture of the NRST line shows it asserting only once at the beginning of programming.I also tried STM32CubeProgrammer, with the J-Link dll update to v9.56, and it does work when the “Run after programming” box checked.As far as I can remember I didn’t change anything in the Run configuration when switching from 2.1.1 to 2.2.0. The GBD console log (below) shows “Starting target CPU...” and then right after “Debugger requested to halt target...Target halted” and then it is never resumed or started again. Additionally, I believe the GDB console in v2.1.1 had more a
Hello,I am trying to figure out what messages I shall monitor to make some ‘diagnostic’ calls like $PSTMDRSTATE.Can I update the working NMEA list to get new report values and stop them at any time? I do wish to keep the load as low as possible.Guy.
Hi,I am using the Nucleo H563ZI for OEMiROT. I was able to build the example provided in STM32CubeH5 package and it works without issue. I wanted to know if it is possible to use the swap method instead of overwrite method for the application installation. If so, is there any example available? I understand that HW crypto isnt available on the STM32H563ZI, I was planning to use the ST Cryptolib library for software crypto.Thanks!Rajas
其它网络功能如升级版本,MCU包安装正常
I have a design with a CR2032 cell connected to VBAT on the STM32WB5MM module. This was set up using CubeMX and there I enabled the LSE.In my code I am able to set the date and time and observe that it increments as expected. However, as soon I power the circuit down and back up the RTC is reset to the default. I have verified that VBAT is 3.1V.I have not yet tried the backup registers.What am I missing?
Finally was able to test STM32CubeMX2 with a NUCLEO-C562RE board.Simple LED blinking project, and here's what I found out. Project bloat:STM32CubeMX2: 26.2 MB of generated data and when compiled 41.1 MB (NUCLEO-C562RE)STM32CubeMX: 4.6 MB generated and compiled 15.7 MB (NUCLEO-C031C6, same functionality) The old STM32CubeMX included only the HAL libraries actually used.The new one dumps everything in.That's a 5.7x increase for a blink LED. Missing Release configuration:Generated CMake project contains only Debug configuration - No Release.Interesting, because the official "MOOC STM32CubeMX2" video at 4:53 clearly shows both configurations.Either something changed or the video is misleading. Creating Release configuration manually requires editing multiple CMake files, including inside the cmake folder — supposedly overwritten on regeneration (in practice, changed only at project creation).Not trivial if you're not a CMake expert.I did it once manually, but then ended up using Claud
Hello,I’m working on STM32U5 flash with tfm application using script “regression.sh” and “TFM_UPDATE.sh” of MB1551 example project in SBSFU. I lost the connection with the chip when I unchecked nSWBOOT0 in option bytes.Trust Zone : activatednBoot0 : checkednSWBOOT0 : uncheckedRDP : 0 So when we try a JTAG connection, we have this error.STM32CubeProgrammer Error connection Do you know a solution to regain connection with the STM32U5 ?Thanks for your attention,Kind regards,
System: STM32CubeIDE 2.2.0, Win11 Hi there,I am using the STM32WB09 and I am running the BLE Heartrate OTA Example via debugger.There is only one thing I don’t understand:When I create a release version of this example (= hex file) and execute a “run” command in STM32CubeIDE, the program is running until I powercycle the device. Then suddenly there seems to be an old application in Flash?But when I create a new project, execute the same “run” command the program remains also after powercycle.Here’s a log of my run command with the application which will be reverted back after power cycle: ST-LINK SN : 0044004E3137510E33333639ST-LINK FW : V3J17M11Board : STLINK-V3MINIVoltage : 3.30VSWD freq : 8000 KHzConnect mode: hwRstPulseReset mode : Software resetDevice ID : 0x032Revision ID : Rev ADevice name : STM32WB09NVM size : 512 KBytes (default)Device type : MCUDevice CPU : Cortex-M0BL Version : --Opening and parsing file: ST-LINK_GDB_server_a16044.srecMemory Programming ...File : ST-LINK_GDB
Dear Support Team, Kindly help to download the EB Tresos Studio basic version (the configurator), which is distributed free of charge by ST . Thanks,Madhav.
Hello, I have been using the NUCLEO-C562RE for my evaluation and due to a mistake I fried the MCU that came with the board, I replaced the MCU with an MCU from the same series. The dev board came with C562RE and I replaced it with C552RE, but after that I am not able to use JLink to connect to the MCU.am I right in assuming that since the pinout of the two MCU’s are same, the MCU’s can be swapped and used ?
In stm32f0xx_hal.c:/** * @brief Initialize the MSP. * @retval None */__weak void HAL_MspInit(void){ /* NOTE : This function should not be modified, when the callback is needed, the HAL_MspInit could be implemented in the user file */} But this must not be implemented in a User file, because there is already an implementation generated by CubeMX in stm32f0xx_hal_msp.c:/** * Initializes the Global MSP. */void HAL_MspInit(void){ /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_SYSCFG_CLK_ENABLE(); __HAL_RCC_PWR_CLK_ENABLE(); /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */} So implementing a HAL_MspInit() in a User file - as the comment in stm32f0xx_hal.c suggests - will cause a “multiple definition” Linker error!
Hi all,I'm working on the STM32H747I-DISCO (CM7 core, bare-metal LwIP without RTOS, polling mode via MX_LWIP_Process()). Goal is simply to get the board to respond to ping from my PC over Ethernet.Hardware done:Solder bridge rework completed per UM2411 Table 5: SB8 closed / SB21 open (PC1 → ETH_MDC instead of mic DOUT), R87 open / SB17 closed (PE2 → ETH_nINT instead of mic CLK)Software config:ETH set to RMII mode in CubeMX, all 9 RMII pins showing green in Pinout view (PA1, PA2, PA7, PC1, PC4, PC5, PG11, PG12, PG13) LWIP middleware enabled, static IP configured (matching my PC's subnet), no DHCP USART3 used for debug output via Putty Everything runs on CM7 only; CM4 isn't touching ETH/LWIPSymptom:The code intermittently jumps into HardFault_Handler(void) — not on every run, which points to a timing/cache-related issue rather than a hard config error. When it doesn't crash, ping still doesn't get a reply./* Private user code ---------------------------------------------------------*//*
I am using the STM32H7B3I-EVAL board. According to the user manual, both the ST-LINK Virtual COM Port and the RS-232 connector (CN9) use USART1 on PB14/PB15 in the default configuration.I have configured USART1 in asynchronous mode with:TX: PB14 RX: PB15 Baud rate: 115200 Hardware flow control: NoneThe ST-LINK VCP works correctly, and I can see the transmitted data on the PC. However, the RS-232 port on CN9 does not work.I am using a DTECH USB-to-RS232 cable connected to CN9.My questions are:Is any jumper or solder bridge configuration required to enable the RS-232 port, even when using PB14/PB15? Since both ST-LINK VCP and RS-232 share USART1, should the transmitted data appear on both interfaces simultaneously? Does CN9 require a straight-through RS-232 cable or a null-modem cable? Has anyone successfully used the RS-232 port on STM32H7B3I-EVAL with a USB-to-RS232 adapter?Any suggestions on what else I should check would be appreciated.
I created an external flash STLDR file for my board, with STM32H750VB chip and W25Q64 QSPI FLASH. After copying the STLDR file to the cubeprographer directory, it can perform normal external flash read/write and sector erase functions. However, when selecting full chip erase, the cubeprographer prompts me "please select external loader before performing external full chip erase". But I am sure that my code contains the correct int MassErase (void) function, and I used the readelf command in Ubuntu environment to read the STLDR file I created, which also includes the MassErase function. But it seems that this function cannot be correctly detected by the cubeprographer. How can I locate the cause and solve this problem?Wishing you peace
Hello Sir,We are currently facing a Country of Origin (COO) issue regarding the STM32F722RET6 MCU and would appreciate your assistance in clarifying the following questions.Could you please confirm whether the Country of Origin (COO) of the STM32F722RET6 is France, as indicated on the STMicroelectronics official website? Could you please provide the manufacturing locations for the STM32F722RET6, including: Wafer Fabrication (Wafer Fab) location Assembly location Testing location Your prompt assistance would be greatly appreciated.
Hi ST Community and Support Team,I am currently working with the STM32F722RET6 microcontroller and would like to seek some clarification regarding the physical markings on the chip package.Regarding the "CHN" marking on the IC surface, I would like to confirm the following details for compliance purposes:Back-end Origin: Does "CHN" confirm the assembly and test (ATP) was done in China (e.g., ST Shenzhen)? Wafer Diffusion Origin: Where is the front-end wafer fabrication usually performed for this part? Authentication: Please help verify the following laser-etched markings: Part Number: STM32F722RET6 Country Code: CHN
I’ve set pin PD8 and PD9 for USART3 and I’ve checked the baud rate that is 115200, but usart3 does not transmit data to serial monitor yet. How can I solve the problem?
Hi everyone,I'm working on a battery-powered sensor node project based on STM32 MCU.The device needs to wake up periodically, collect sensor data, process it briefly, transmit the data, and then return to sleep mode.The expected lifetime is several years, so I am focusing on reducing the average current consumption rather than only optimizing active mode performance.Currently, I am considering several areas:1. Which STM32 low-power modes are usually the best choice for long sleep intervals? (Sleep vs Stop vs Standby)2. How much impact do you normally see from:disabling unused peripherals? reducing clock frequency? SRAM retention configuration? wake-up time optimization?3. For sensor applications that wake up every few seconds or minutes, is it generally better to:run the MCU at higher frequency for a shorter time and sleep longer? or keep a lower frequency continuously?4. When measuring low current consumption, do you usually measure only the MCU current, or the whole system including
Hello,I've got a problem with displaying an image classification AI on my board. So far I've been following this tutorial:https://wiki.st.com/stm32mcu/wiki/AI:How_to_use_Teachable_Machine_to_create_an_image_classification_application_on_STM32starting from step 3, as I already have a trained AI model as .tflite file.The execution with the .yaml file is working fine, it's flashing but the display is only showing artifacts.Hardware details:STM32H747I-DISCO: MB1248-H747I-D03- LCD Daughterboard: MB1166-A09- Panel Controller: NT35510B-CAMS-OMV:Camera module adapter board: MB1683-CAMS-A02- Camera module: MB1379-2V8-A05- Image sensor: OV5640The display was a newer version so I changed the defines inapplication_code/image_classification/STM32H7/Application/STM32H747I-DISCO/Inc/CM7/stm32h747i_discovery_conf.hto this:#define USE_LCD_CTRL_OTM8009A 0U#define USE_LCD_CTRL_NT35510 1U#define USE_LCD_CTRL_ADV7533 0UThe nt35510.c and .h files already existed in
I’m working on a new project based on the STM32H5E4, and hit a weird problem, that smells like a CubeMX bug, with PLL3 init.Seems CubeMX is putting out incorrect values for the VCI Range (PLL3RGE bits in the init structure), relative to the comments in the H5 HAL RCCEX header.I’ve got a 12MHz HSE, divided by 3 [PLL3M] for 4MHz, then multiplied by 48 [PLL3N] in the PLL for 192MHz, then divided by 4 [PLL3Q] for 48MHz for the USB 48MHz clock.Here’s it’s generated code:PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_OTGFS;PeriphClkInitStruct.PLL3.PLL3Source = RCC_PLL3_SOURCE_HSE;PeriphClkInitStruct.PLL3.PLL3M = 3;PeriphClkInitStruct.PLL3.PLL3N = 48;PeriphClkInitStruct.PLL3.PLL3P = 2;PeriphClkInitStruct.PLL3.PLL3Q = 4;PeriphClkInitStruct.PLL3.PLL3R = 2;PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3_VCIRANGE_0;PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3_VCORANGE_MEDIUM;PeriphClkInitStruct.PLL3.PLL3FRACN = 0;PeriphClkInitStruct.PLL3.PLL3ClockOut = RCC_PLL3_DIVQ;PeriphClkInitStruct.Ot
OverviewThe LSM6DSV80X represents a breakthrough in wearable technology. Its ability to measure both high- and low-acceleration ranges, combined with high energy efficiency and advanced processing capabilities, makes it an ideal choice for users who need detailed data analysis and improved performance tracking in high-impact sports and activities such as volleyball, football, tennis, boxing, and explosive jumping.This IMU provides a comprehensive solution for wearable devices, high-impact detection, and activity tracking, delivering an excellent combination of accuracy, integration, and efficiency.The LSM6DSV80X is the world’s first IMU to combine high-g acceleration measurement of up to 80 g and low-g sensing capabilities in a single package. It integrates advanced features, including edge processing and sensor fusion, to provide consistent performance and valuable data for sports-wearable tracking and high-impact detection. The device supports edge AI capabilities, using a finite st
I am planning to use STM32H563VIT6TR in my design and all the peripherals (I2C devices, temp sensors, other ASICs) are at 1.8V. Can I use this MCU at 1.8V. Can I connect VDD, VDDA, VREF+, VBAT at 1.8V. I understand VDDUSB is USB and needs to be connected to 3.3V. Could you please confirm if it will work at +1.8V across -40C to +85C temperature.
Hi, Can anyone share the below Thermal details of STM6824SWY6F part?1. Junction temperature2. Junction-to-ambient Thermal resistance3. Junction-to-case Thermal resistance4. Max power dissipationThanks Deva
Hi I’m trying to explore what I can do with 12 good bits.I’m experimenting an output noise ,even in this simplified condition where the converted ADC value is directly sent to DACAnalog and digital ground are separated and return current paths in PCB should be goodADC is driven by op amp output + 20 ohmADC is triggered by a timer ,oversample 4 times ,the ADC values with Vin=½ VDDA varies between 2044 and 2046 chacking samples for ten seconds,saving max and min values) ,ADC sample and hold=24,5 clock cyclesDAC is used with no SampleHold,and with Buffer : DAC1->MCR=0;DAC is triggered by the same timer interrupt related to ADC,only when ADC end of conversion flag is 1(once in 4).The output value is obtained with DAC1->DHR12R1=global_adc_val;Notice that in case DAC1->DHR12R1=2048; there is no noise.Noise lowers if MCR->MODE1=0x2 instead of 0;Why only 2 fluctuating bits on 4096 bits can cause an huge audible noise?And why excluding buffer makes it better?Thanks
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.