Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello,when my rtc time goes to 23:59:59 to 00:00:00 then my program while loop is slow ex. some led toggle with 500ms toggle time is incress X2 so what is issue?
Split from STM32WB55 - Achieve lowest possible power mode.I am also not able to achieve Shutdown mode in Nucleo-WL55JC1.Instead, I tried with STOP2 mode https://github.com/STMicroelectronics/STM32CubeWL/tree/main/Projects/NUCLEO-WL55JC/Examples/PWR/PWR_STOP2_RTC , but it also gives 2mA. Kindly let me know, How can achieve STOP2/Shutdown mode ?. Thanks in advance!
Hello,We are using a custom board based on EVSPIN32G4 with HSO that has 2 extra ADC channels.When I try to register them with RCM the entire motor either shuts down or unable to start correctly.It appears like it interferes with the existing ADC channel operation.I tried registering it before interrupts are enabled, and after interrupts are enabled. It's all the same.Here is the code:static RegConv_t MotorSensorConv = { .regADC = ADC2, .channel = TEMP_ADC_CHANNEL_NUM, .samplingTime = LL_ADC_SAMPLINGTIME_2CYCLES_5, }; In the init function:RCM_RegisterRegConv(&MotorSensorConv);In the polling function:uint16_t value = RCM_GetRegularConv(&MotorSensorConv);LOG_DBG("Motor sensor adc val: %d", value);Does anyone know what could be wrong?Another question, I noticed that callback hooks from mc_app_hooks.c are not called from anywhere?Anybody knows why?As another riskier approach I was considering to modify the default ADC configuration to add extra injected channels, but I am afrai
Title edited for clarity.I am trying to debug an application that is intended to run out of PSRAM on the STM32H7S78-DK. I have created a simple FSBL which initializes the PSRAM and puts it into Memory Mapped mode and then executes a software BKPT to halt the CPU. I then load an application image using the debugger (JLink) into PSRAM and start it. The application appears to run fine but I cannot get any interrupts to fire. The application running out of PSRAM establishes a new vector table in RAM and updates the VTOR register. I have tried both SysTick and an interval timer (TIM6) to generate interrupts but no success. Looking at the peripheral and NVIC registers everything appears to be correct.This is the MPU configuration for the PSRAM region: MPU_InitStruct.Number = MPU_REGION_NUMBER1; MPU_InitStruct.BaseAddress = 0x90000000; MPU_InitStruct.Size = MPU_REGION_SIZE_32MB; MPU_InitStruct.SubRegionDisable = 0x0; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1; MPU_InitStruct.AccessPerm
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code and a linker script content. Please read this post: How to insert source code. Hello Community, I am working on STM32F746G-Discovery and trying to send ADC sensor data to a cloud server using Ethernet.Cloud API details: URL: https://iot.hummingbirdtek.com/api/dataMethod: POSTContent-Type: application/json What I Have Done: Enabled Ethernet (RMII) in CubeMX Enabled LwIP, set static IP Enabled ADC1, UART6 for debug Generated code (AC6/GCC) Added code to format JSON and send to cloud using http_post Issues I am facing: 1) HardFault occurs after LwIP initialization The crash happens during: MX_LWIP_Init(); netif_set_up(); 2) DMA Descriptor Memory Configuration Errors Compiler shows errors like: DMARxDscrTab memory out of rangeoraggregate value used where integer expectedI suspect incorrect MPU/Alignment/Section placement for: ETH_DMAD
I’m currently working on an STM32 project with Ethernet connectivity and LwIP. I want to know the IP address of the STM32 while configuring the network settings in CubeIDE. Here’s my setup: STM32 is connected to a router via an Ethernet cable and my laptop is also connected to same router via wifi. LwIP is being used as the TCP/IP stack. In LwIP settings, there is an option to choose DHCP or Static IP. My questions are: If I enable DHCP, how can I find out the dynamically assigned IP of the STM32? If I use a Static IP, what are the correct parameters to set (IP, Subnet Mask, Gateway) to ensure the STM32 is reachable from my PC? Are there any tips or methods to quickly verify the STM32’s IP on the network, such as through serial print, ping, or a network scanner?
Hi, I am using STM32G474RE. I try to read out LTC2440 with the SPI interface. I have configured the LTC2440 as SPI master (In its datasheet the mode of operation is specified as Internal SCK, 2-Wire I/O, Continuous Conversion). The LTC2440 provides a BUSY signal which indicates the state of the conversion. LTC2440 does output 4 bytes of data on its own (Burst approx. 880 times / second).I have configured the SPI interface of my STM32G4 as Half-Duplex slave to read these bursts.static void MX_SPI3_Init(void) { hspi3.Instance = SPI3; hspi3.Init.Mode = SPI_MODE_SLAVE; hspi3.Init.Direction = SPI_DIRECTION_1LINE; hspi3.Init.DataSize = SPI_DATASIZE_8BIT; hspi3.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi3.Init.CLKPhase = SPI_PHASE_1EDGE; hspi3.Init.NSS = SPI_NSS_SOFT; hspi3.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi3.Init.TIMode = SPI_TIMODE_DISABLE; hspi3.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi3.Init.CRCPolynomial = 7; hspi3.Init.CRCLength = SPI_CRC_LENGT
Hello ST Community,I'm encountering a persistent issue with the Secure Boot and Secure Firmware Update (SBSFU) implementation on the STM32WB55VGQ6. I am using a setup largely based on the official SBSFU examples, but modified for my specific application.The core problem is that the first successful firmware update via YModem works perfectly (signature verification and decryption pass), but all subsequent updates fail authentication, even with the same, correctly signed and encrypted .sfb file.Target and Configuration DetailsTarget MCU: STM32WB55VGQ6Bootloader: SBSFU (Close to standard example, running on Cortex-M4 only).Update Method: YModem over UART @ 115200 baud.Firmware Image: Custom .sfb file, encrypted and signed using the standard provided tools (prepareimage, etc.) with self-generated keys.Initial Programming:UserKey (for AES_CBC) pushed via CubeProgrammer.SECoreBin + SBSFU loaded at 0x08000000.CM0+ Core: Not used at all (disabled for historical reasons, as wireless connectivit
hi, I'm using stm32h745 dual core MCU, in this i want to know about the caches.these I cache and D cache are default enable are it will enable from IOC configuration of M7 core.if not enabled from IOC still these caches will work automatically?due to these caches, I can't be able to run the spi with DMA mode, this cache made the dma to halt in dma handler itself.so, my question is how to work with these with or without enabled cache. I tried of changing the dma buffer to a non-cacheable memory, but I couldn't I don't know why, the location change is also not happening correctly.can someone help to solve this how to work with caches with DMA enabled, is there any video or source available for caches. regards,Srinath
Issue Description:I am unable to ping my STM32F2 board from another computer on the same network. The Ethernet link shows as UP and the MAC/IP addresses appear correctly, but ping requests timeout. I have been debugging this for a week without success.What I’m trying to achieve:Set up basic Ethernet communication using LwIP on STM32F2, assign a static IP (174.16.10.101), and make the board respond to ping.Clock Configuration:HSE: 25 MHzPLLM: 25, PLLN: 200, PLLP: 2 → SYSCLK: 100 MHzAHB: 100 MHzAPB1: 25 MHzAPB2: 50 MHzETH Clock Source: HSE (25 MHz) → RMII Ref Clock: 50 MHzPHY: LAN8742A, Address: 0x01What I’ve already tried (without success):Hardware & Cabling: Verified RMII pin connections, tried multiple cables/switches.Network Config: Static IP set correctly, firewall disabled, host PC on same subnet.Software: No compilation errors, added etharp_gratuitous(), MAC set to&nbs
Hi,I want to save the data in microSD memory card(for e.g. 4GB) as a file using STM32H573 discovery kit. And gone through with internet search and got some information. But unable to get the exact idea to how to start with or done it. Found one connector CN5 on the board for SD card. In order to get the above said what are the prerequisties need to be done and what need to be selected in IOC file . Can anyone tell a step wise procedure for this or give an example code would be a great help. Thanks in advance.
Hello, in the datasheet for the STM32WLE5xx, specifically Table 28, there are power consumption statistics for the sub-GHz radio. In the table, there is a category for mode. I was wondering whether this category is referring to the mode of the chip or just the mode of the sub-GHz radio module. If it is referring to the mode of the chip, then is the full power consumption of the chip the sum of the power consumption of the sub-GHz radio and the power consumption of the core module?
Hello community,I am new to stm32, and I need to read the temperature from the internal sensor of a stm32g4vet6.I am at the point where I have read many things and have discovered that not all stm32's internal temperature sensors must be used the same way.Currently I have asked to connect vref and temperature sensor to ADC5, asked for calibration of ADC5, and configured high values for the sampling time, and I can read adc-measured values for vref and temperature.I can compute a temperature withtemperature = (130 - 30) * (Adc.Raw[0] * 33 / 30 - *TEMPSENSOR_CAL1_ADDR) / (*TEMPSENSOR_CAL2_ADDR - *TEMPSENSOR_CAL1_ADDR) + 30;and I get plausible but unstable values. (the nominal value of my Vref is 3.3 V)However I wonder if I should use the value of Vref measured by the ADC, and *VREFINT_CAL_ADDR, to get more stable values, and how ?
Hello, I am looking for guidance regarding the STM32H533 MCU, specifically in the area of secure and non-secure memory management.Could you please let me know if there is a dedicated application note that explains how to store and manage encrypted keys on the STM32H533?Additionally, is there an application note or reference that provides a step-by-step example demonstrating the use of secure flash, secure memory, or secure storage on this MCU? Thank you for your support.Best regards,Aymen
Hello,The integration of the MOC version of the WL series feels a little... incomplete in CubeMX. I was trying to get some basic LoRa com working and in the configuration it was telling me that I need to enable TCXO in RCC. I go to RCC and I can't do that because the MOC version of this part has that built in. Of course I could generate the code as-is, and then go into the generated files and change them so it says I do have TCXO enabled. The big downside to that would be is would lose those edits if i modify mt ioc file and regenerate. One possibility I thought of (question in the title) would be to just tell CubeMX that I'm using the STM32WL55JC. As long as I set up the clocks correctly to match the hardware, I don't think there would be any issue with that. My understanding is that under the hood they are the same part, but the MOC adds some of the rf circuitry and crystals.Also, since the MOC is really just a 55JC, the memory would be identical, and I don't think I would
I am running into some issues standing up a basic non-volatile storage access with zephyr on the STM32F413ZH board. I am trying to provision for 128 bytes at sector 0x08C0000 but for soem reason the offset keeps jumping to the end of the Flash memory flash_stm32: Read range invalid. Offset: 1572864, len: 8Has anyone run into this or something similar? thanks!
Hi there!Im currently learning STM32 MCUs using Nucleo-F446REI wrote two 'Blinky' firmwares:*One using HAL and CubeMX (.ioc file)*A second one using just HAL (NO CubeMX)What does the FW does?: It just uses the user button on the nucleo, reads the state and "mirrors" that state on the user LED on the nucleoIn the project using CubeMX the firmware works in debug mode and in run mode (directly running on the board)But in the project that doesnt use CubeMX the firmware works fine in debug mode but it doesnt in run modeBoth projects compile with 0 errors and 0 warnings for both, debug and releaseI have read the RM and the HAL documentation but i dont have a clue where is the problemI tried all the solutions from chatGPT and still it doesnt workCan you help me please?What am i doing wrong?I let you the link to my projects if you need to check something Maybe the STM32CubeF4 version? (weird because both projects use the same version)Thanks in advance!Projects link: https://dri
HelloI'm trying to make an application with BLE using this video tutorial https://www.youtube.com/watch?v=CKYWy7LKL68&ab_channel=STMicroelectronics. I also found an example of entering standby mode using RTC wake-up (PWR_STANDBY_RTC in the example projects). I rewrote the program so that wake-up works on alarm. The program seems to work fine, but only if I enter standby mode before BLE initialization in CPU2 using MX_APPE_Init();.As far as I understand, I have to turn off BLE and de-initialize RF the stack? How do I stop the second core from running?I found this function in my BLE code: Adv_Cancel(); but it doesn't help.Here is the main part of my code:int main(void) { HAL_Init(); MX_APPE_Config(); SystemClock_Config(); PeriphCommonClock_Config(); MX_IPCC_Init(); MX_RF_Init();//sets alarm for 5 sec MX_GPIO_Init(); MX_SPI1_Init(); MX_ADC1_Init(); MX_I2C3_Init(); MX_TIM17_Init(); MX_TIM16_Init(); MX_RTC_Init(); if( (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RE
Hi,I'm currently developing firmware with an event-based architecture. My colleague and I thought about using the standard library, but this approach is risky because the standard library requires a lot of heap memory.My question is: when is it possible or recommended to use standard library functions such as std::vector, std::map, and std::queue? And when is it mandatory to avoid using them?What advice would you give me for implementing a good event-driven architecture?
I am using COMP2 and COMP6 to compare external voltages to internal DAC values. I need to calibrate the internal DAC values by taking ADC measurements from the input pins. Can the ADC measurements be taken with the COMPx peripheral active? If so, how would I set up the IOC file and init code?
Hello everyone, I am using an internal RTC on STM32L431. After running for 23:59:59 seconds, the time changes to 24:00:00 instead of 00:00:00, and the week day has not been incremented. Why is this?
Hi Support team, I am working on STM32H563 Nucleo project and trying to integrate internal temperature sensor. I enabled internal temperature sensor channel available at ADC1, but getting crash while executing below conversion code: TS_CAL1 = *TS_CAL1_ADDR; PFA project for reference. Please help in resolving the issue. Thanks.
Hi,I'm using OCTOSPI in Mode Quad SPI on a STM32H563ZIT6. I'm having issues when reading Serial Flash data with a 1-1-4 (6Bh) read, 1-1-4 (32h) write is working fine. Also 1-1-1 read and 1-1-2 read also work fine. The serial flash is IS25LP032D. I have verified QE=1 and DummyCycles = 8 before issuing the read command. The 1-1-4 read has more problems if data is FF FF FF versus 01 02 03. 1-1-1 and 1-1-2 reads have no problem. Here is the config (Cube MX) and 1-1-4 read function. I have the SPI bus running at 1MHz hospi1.Instance = OCTOSPI1; hospi1.Init.FifoThresholdByte = 1; hospi1.Init.MemoryMode = HAL_XSPI_SINGLE_MEM; hospi1.Init.MemoryType = HAL_XSPI_MEMTYPE_MICRON; hospi1.Init.MemorySize = HAL_XSPI_SIZE_64MB; hospi1.Init.ChipSelectHighTimeCycle = 1; hospi1.Init.FreeRunningClock = HAL_XSPI_FREERUNCLK_DISABLE; hospi1.Init.ClockMode = HAL_XSPI_CLOCK_MODE_0; hospi1.Init.WrapSize = HAL_XSPI_WRAP_NOT_SUPPORTED; hospi1.Init.ClockPrescaler = 249; hospi
Hello All, I am using touchgfx for one of my application using on STM32757I-Eval kit.I am facing issue with running the application after successfully flashing the application, first time if I load from STM cube programmer, I can see the Program is running on display, but as I remove the Power from usb stlink and reconnect it back the Application is not loading and running.Could you please help me to understand why it happens and how can I rerun the application so that I don't have to program it again and again.Please let me know how to resolve it ? Regards,Shiv
Hi, I'm trying to do an external loader according ST's MOOC and this forum https://community.st.com/t5/stm32-mcus-products/stm32h5-external-loader/td-p/601134.My code pass on all ST's tests of memory, but when I generate a stldr it does not read on cubeprog.I attached my project and log of cubeprog.I already do the same with a G474 without problems. BR
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.