Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi all, I have reached the point of desperation, and I am all out of ideas how to get my STM32U031 project working.I designed a very simple PCB which has only a few components. I have attached the KiCad files in case it is helpful. I followed guidelines for decoupling capacitors and broke out the SWDIO and SWCLK pins. The issue I have is this: I can not program/connect to the chip over SWD. When I power the PCB from 3V, the first noticeable problem is GPIO PA3 goes high. You can notice that because that pin is connected to the gate of a mosfet which is used to switch some LEDs, so when it goes high, the LEDs turn on. It is especially strange because I put an external pulldown resistor on the pin, so the fresh unprogrammed MCU is driving it high for some reason. I also connected my ST Link to the PCB, but when I try to connect with any speed or reset settings, I see this error:02:27:47 : UR connection mode is defined with the SWrst reset mode02:27:47 : ST-LINK SN : 003B00
I am using a STM32WB05KZ of a custom PDB, and I can not read a correct value of Vbattery.I have programed the ACD (+DMA) usgin CubeMX. I use DMA to read the analog inputs:ADC_Conv_Cplt = 0; HAL_ADC_Start_DMA(&hadc1, value, 3); uint32_t start = HAL_GetTick(); while(ADC_Conv_Cplt==0){ //timeout if ((HAL_GetTick() - start) > 3000){//wait 3 seconds break; } }; HAL_ADC_Stop_DMA(&hadc1);According de manual, the formula for ADC converted data after calibration is the following: Code = Integer(4096/3.6 * VIN) [clamped at 4095]. The result of conversion from Vbat is 0x271, applying the formula I get 0,549V when the Vbat is 3V.I also use 2 analog inputs in PB2 and PB5 and nome of them read correctly. In other proyects with stm32l105 and stm32wl55 the DMA works. I sure I am doing something wrong...Can anybody help me?Edited to apply proper source code formatting - please see How to insert source code for future reference.
Hi,I have made up six boards and three of them had an unusually high standby current (35mA instead of 1mA).Eventually, when the IC was removed, we found Pins 5 & 6 of the removed IC were shorted internally (0.3R)They were also shorted to pin 45 with 3.7R. The other two boards are showing similar shorts.The board worked fine with a new MCU.Does anyone know what might cause this short?TIA,Patrick.
Dear al!i need your help, i design PCB use STM32H755ZIT6, i set up mode PWR_SMPS_1V8_SUPLLY_LDO via STM32CubeMX 6.12.1. I expect core M7's clock is 400Mhz, M4's clock is 200Mhz. I measure voltage after L2 is 1.8V, at each Vcap pin is 1.0V, The MCU warmed up to about 35 degrees Celsius and chip didn't run. can you share me my mistake, this is the first time which i handle with SMPS block
I have a project that will be using the LIV4F chip. I downloaded and installed X-CUBE-GNSS1 but its description says it is for the LIV3F. Is it compatible with and will it function with the LIV4F chip? I will be using it on the STM32G474CEU6.Thanks!
Question moved from the knoowledge base article: How to use STLINK-V3 MCO output on Nucleo boards as a precise clock source for STM32 Hello, With this method, what level of accuracy (PPM) is expected ? Thank you and have a good day.
Hi Team, I am working with the STM32N6570-DK board and reviewing the available power measurement methodology. From what I understand, the current approach/documentation focuses on measuring only VDD_CORE power. My requirement is different: I want to measure the total MCU power using a JS220 Joulescope, not just the VDD_CORE domain. Specifically, I would like to understand: What is the recommended hardware measurement point on the STM32N6570-DK board to capture total MCU power? Is there a board jumper, shunt, or power rail that isolates the complete MCU supply path? If measuring only VDD_CORE is the officially supported method, what additional rails should be included to estimate total MCU power? Has ST validated any method for measuring full MCU consumption on this board, including CPU, NPU, internal memories, and essential MCU peripherals? Are there any precautions regarding ST-LINK, external memories, camera/display rails, or other board circuitry
Hi everyone, I am encountering a critical issue with the IWDG on an STM32U375 using STM32CubeMX v6.17.0 and a Segger J-Link Base. The scenario: I am testing the Watchdog behavior across Standby cycles. I have configured the Option Bytes via software to freeze the watchdog during low power modes: IWDG_SW: 1 (Software mode) IWDG_STOP_FREEZE: 0 (Counter stops in Stop mode) IWDG_STDBY_FREEZE: 0 (Counter stops in Standby mode) The Issue: When the system is in IWDG_STDBY_FREEZE mode, the following happens: The MCU wakes up from Standby correctly. I enter a test while(1) loop without refreshing the IWDG. At the exact moment the IWDG timeout should occur (10s), the MCU enters an unrecoverable state. No System Reset occurs. No HardFault_Handler is triggered. The CPU seems to be completely locked (Bus Lockup?). I tried to enable the IWDG Early Wakeup Interrupt (EWI) via NVIC, but HAL_IWDG_EarlyWakeupCallback() is never called before the crash. Contrast with RUN mode: If
I'm failing to enable that Interrupt using " LL_RTC_EnableIT_SSRU(RTC) " on STM32H33.Wakeup timer is set to interrupt every 24h (this is working).Alarm A is configured, but not enabled.Alarm B is not used.RTC is set to BCD mode only.Monitoring SSR register ( via "READ_REG(RTC->SSR)" ) I can see it's counting down from 0xFF ---> 0x00, periodically.Some Internet folks told me to enable TAMP Interrupt as well...and intercept TAMP IRQ handler instaead of RTC IRQ handler. It didn't work.Any help would be greatly appreciated.Thanks.
Hello everyone,here are my questions:1. Is there any roadmap or community effort to add NeoChrom/GPU2D support to Zephyr?2. Has anyone successfully integrated the STM32 HAL GPU2D driver alongside Zephyr?3. Would it be possible to:- Initialize GPU2D using HAL in the Zephyr application- Patch Zephyr's LVGL Kconfig to expose Nema GFX options- Use LVGL's existing lv_draw_nema_gfx_stm32_hal.c backend4. Are there any technical blockers (interrupt conflicts, clock management, memory mapping) that would prevent this hybrid approach?I'm willing to contribute if there's guidance on the proper implementation approach.Thank you for any insights.
Hello, all my tools are updated to last ones, and software packages too. I start an empty project using X Cube FreeRtos 1.5 (just a default task). Play the soft with debug, and after a few seconds, press "Suspend" button to break the running program. Then, there are a lot of calls to vPortSetupTimerInterrupt function (port.c) in the call stack. The tick is by default 1ms and cpu clock to 250Mhz. Not sure that is normal? thanks for your help Laurent
Hi,I do not plan to use USB or CSI, and the board only receives 1.8V power. So, I asked how to connect the VDD33USB pin, and I was told to just connect it to GND. However, I have two more questions.I currently have the VDDA18USB and VDDA18CSI pins connected to 1.8V. Is it okay to leave them as they are, or would it be better to connect them to GND? (have to consider leakage in the Stop mode)Also, should I connect VDDCSI to GND as well?Thanks in advance.
Hi, will ST extend I-CUBE-LRWAN support to include the new MuRata LBAA0QB1SJ-TEMP-EVK? Or offer a ST board based on LBAA0QB1SJ-295? Any suggestion on how to reconfigure the current I-CUBE-LRWAN version to work on the new EVK? We were previously using B-L072Z-LRWAN1.
Hi all, There are a few options for mp3 decoding but none seem to be for the M33 core MCUs. Source code seems to be missing too: X-CUBE-AUDIO: the precompiled binaries only seems to support M4 and M7 cores.X-CUBE-AUDIO-KIT: this does not natively have an mp3 decoder.STM32-MP3NL/DEC: this looks like a precompiled spiritmp3dec file for M7. I've spend too many hours looking into this and I'm back to where I started. It looks like the best option would be to use X-CUBE-AUDIO-KIT and add an mp3 decoder to audiochain but how? it needs to support the M33 core and ideally have the source code available. I've also read that some people here have used minimp3. I prefer an option supported by ST and I'm not sure that is the case. Comments/suggestions welcome. Thanks.
Hello @INaee.1 , I am working with the STM32H743BIT6 using the LTDC peripheral to drive an RGB display. The display I am using does not have HSYNC and VSYNC signals and operates only in DE (Data Enable) mode. I have attached the display datasheet and pin connection for reference. Based on the datasheet timing specifications, I configured the LTDC parameters accordingly. Since the display does not use HSYNC and VSYNC, I configured them as constant high signals (logic 1) and set the rest of the LTDC timing parameters as specified. However, the display is not showing any image. The backlight turns on, but the screen remains black. Below are the key points of my configuration: LTDC peripheral configured according to the display timing parameters from the datasheet HSYNC and VSYNC set to constant logic high since the panel works only in DE mode Pixel clock configured as per the display requirements Data Enable (DE) signal connected and
I'm working on a project using the STM32U385 and I'm trying to find a way to detect a specific condition and save data while the device stays in a low-power Stop mode — without waking up the CPU to do the saving.Is there any peripheral combination or hardware feature on the STM32U385 that allows:1. Detecting a condition (e.g., via Comparator, ADF, or LPTIM) while in Stop mode2. Saving/writing data to memory autonomously — still in Stop mode, without waking up the CPUIf this is not possible natively, is there a recommended approach or workaround for this use case on the STM32U3 series?Thanks in advance!
Hi Team I am trying to do UART bootloader, using cli command. The MCU used is STM32F446RET6 and dev kit used is nucleo-f446re.I am using USART1, for printf and cli command with interrupt. CLI command is used to enter system memory /bootloader but as shared above the programmer is not giving timeout error. void jump_to_bootloader(void) { void (*SysMemBootJump)(void); //system address defined volatile uint32_t addr = 0x1FFF0000; // //introduce delay before switcing to bootloader after printf. // HAL_Delay(200); //disable all interrupt request and stop SysTick __disable_irq(); // SysTick->CTRL = 0; // SysTick->VAL = 0; // // __HAL_RCC_SYSCFG_CLK_ENABLE(); // SYSCFG->MEMRMP = 0x01; //Deinit HAL and all peripheral // HAL_UART_DeInit(&huart1); //reset uart pins and gpio // __HAL_RCC_USART1_FORCE_RESET(); // __HAL_RCC_USART1_RELEASE_RESET(); // HAL_GPIO_DeInit(GPIOA,GPIO_PIN_9 | GPIO_PIN_10); HAL_RCC_DeInit(); HAL_DeInit(); // D
Hello,I am trying to use the newest cmsis dsp library (v1.15) to implement a vector matrix implementation. I am running into a "first defined here error" when trying to build with the cmsis dsp library (v1.15). I created an empty project just to try out building a project with the library included. I am running into the same issue there.I am using STM32CubeIDE version 1.13.1 and an STM32H750 with an M7.If I understand correctly, CMSIS v 1.15 does not have a "lib" folder anymore like the older versions and only the Include, PrivateInclude and Source folders must be integrated. Therefore the instructions in Configuring DSP libraries on STM32CubeIDE - STMicroelectronics Community are not helpful to me.Here you can see the folders I included. Am I missing something? How can I use the newest CMSIS library? I couldn't find any helpful documentation on the internet.Thank you,Leonard
I am implementing a secure boot process on the STM32H723. My application has three firmware components with the following memory layout:1. BOOT: Located in internal Flash.2. OS: Located in internal Flash.3. USER: Located in external SDRAM.The required boot and runtime behavior is:1. Upon power-on, the BOOT code must read and perform a full verification (e.g., checksum, hash) of the entire OS image from internal Flash.2. After verification, the BOOT jumps to the OS.3. The OS provides a runtime environment for the USER application. The OS and USER application need to interact bidirectionally (e.g., call each other's functions).Core Security Requirement:The USER application (running in SDRAM) must be prevented from reading the code of both the BOOT and the OS from internal Flash. The OS code should be executable but not readable.Question / Request for Clarification:The PCROP (Proprietary Code Read Protection) feature seems designed for "execute-only" protection. However, a conflict exists
An issue has been encountered with the STM32G474: when the blanking source is selected for the comparator module output, the events of the HRTIM Hi,The complete code files are in the attachment. As shown in the picture above, for the HRTIM module of the G474, Event 4 uses COMP1 as the input source. When the output of the comparator flips due to blanking, the outputs of TA1 or TA2 of the HRTIM event do not change due to the flip of the comparator output.Thanks.
Hello, I want to test my FOC algorithm on my hardware, so I designed my own PCB based on the evaluation board of STSPIN32G4, and create an empty project in STM32CubeIDE. I use a voltage regulator to output 12V to my PCB. And I When I was testing the internal driver of STSPIN32G4, I found a problem that whatever I do the voltage of GHS was 5.8v and the voltage of GLS is 0v. I have already tried to let PE8 high level or gnd or a PWM, but the voltage of GHS1 never change. And even I do nothing, just downlowd an empty program to STSPIN32G4, the voltage of three GHS are 5.8v. If I run the empty program, the nFAULT will be high, and if I use the combined output with timer 1 turned on, the nFAULT will be low.I think the waveform of GHS should be consistent with INH, the waveform of GLS should be consistent with INL. So the voltage of GHS and GLS won't be a fixed value. Is my idea correct? How do I know if the internal driver of STSPIN32G4 is working properly
Hello Folks, sorry, I am quite desperate. I try to get my I3C code working, but the read consistently fails and returns a buffer with just 255s and a temperature of 350 degrees centigrade. The weird thing is that the checks I put in work, so it looks like the assignment of the address worked. If I run the code without the sensor shield connected, the checks halt program execution. This is the code I put together from two I3C examples - for the H503 Nucleo, there is no example for the IKS4A1 and the code at https://wiki.st.com/stm32mcu/wiki/Getting_started_with_I3C and in the AN is incomplete:
Hello, I am encountering a specific issue with the system bootloader (I2C interface) regarding the Get CRC command. When sending the Get CRC command sequence via the system bootloader, the STM32U575 ACKs all bytes (Command, Address+XOR, Length+XOR), but the returned CRC value is consistently 0x0000 regardless of the binary file loaded in it. When running HAL_Calculate_CRC() within the user application on the same STM32U575 units, we receive valid, non-zero CRC data. I have tested and confirmed this issue across 2x STM32U575 units using both the stm32flash open source tool and manual scripting via an Aardvark I2C host. To isolate the issue, we tested the exact same scripts and stm32flash commands on STM32G0 and STM32G4 targets and they worked perfectly, returning valid non-zero CRCs when both in application and bootloader mode. Any insight into why the U5 is returning zeros while its predecessors work fine would be greatly appreciated. stm32flash output in the G0: ./stm32
Herkese merhaba, içeriğinde bulunan popüler ESP32 SOM modüllerine benzer şekilde, STM32 serisi için bir Sistem-on-Module (SOM) geliştirmeyi düşünüyorum. Toplu talepte bulunmak istedim: Sanırım bu makul/mantıklı bir proje mi, yoksa piyasa zaten doymuş durumda mı? Biz küçük bir donanım geliştirme şirketi/startup'ız. Şu anda portföyümüzde birkaç ürünümüz var ve ürün yelpazemize yeni, daha yüksek değerli ürünler seçmek istiyoruz. Bu STM32 SOM voltajını ciddi olarak değerlendiriyoruz. Aşağıdaki özelliklerinizi görüşlerinizi gerçekten çok takdir ederim:İyi tasarlanmış bir STM32 tabanlı SOM modülüne gerçek bir pazar talebi var mı?Ne gibi teknik zorluklarla karşılaşmayı beklemeliyiz?Maliyet, sertifikasyonlar, tedarik zinciri, stok yönetimi vb. genel kritik noktalar var mı?Burada benzer bir ürün yok veya güncel süren var mı? Bu süreçten edinilen dersler neler?Bu bağlantının en iyi şekilde çalışmadığı, küçük bir donanım ekibi için daha uygun alternatif ürün ömrü var mı?Tüm görüş ve önerileriniz
Hi everybody,I'm working on a STM32F446. I'm using the UART.I've a function with switch/cases which instead of a function number fill a buffer.ex :switch(function) {case 0x00 : Txbuffer[idx_trame++] = 0x00;break;case 0x01 : Txbuffer[idx_trame++] = 0x00;break;case 0x02 : Txbuffer[idx_trame++] = 0x00;break;etc...At the end of the function, I've the follwing function : HAL_UART_Transmit_DMA(...)In parallel, I'm using the timer7 (triggered every 1ms).It works well.But, yesterday, I've added some cases, and when my software run into them, I see the tim7 stops (I've put a GPIO in the interrupt and a probe on it).So, I see that before entering in the HAL_UART_Transmit_DMA function, it works and after it stops.When I take a look on tim7 registers, everything seems to be OK, except UIF that keeps at 1 (so the interrupt is never resetted).If you have some ideas, I'll be very happy.
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.