Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi,I'm currently using STM32CubeMX V6.12.0 to initialise the peripherals on an STM32H753 processor, and I had a couple of questions:1. How do I enable & then configure the CAN Transciever Delay Compensation within CubeMX?2. Is there a mechanism for limiting the number of auto-retransmissions in the event of a CAN Error? I currently have that option unchecked but when doing bench-top testing it's clogging up the processor and causing it to run slowly. Many Thanks, Crispin
Hello,I am using STM32G0B1cbt6. And I am using native bootloader to update firmware. But in some boards not able to update firmware, it is giving below error:And when we replaced the MCU then bootloader started working normally. The failure percentage is like out of 100, in 5 to 10 MCUs we are facing problem. What could be the reason? And how it can be resolved?
hello, can anybody tell me as we know bg431besc1 is 48 pin MSU so if i want to customize a board of 64 based on bg431besc1 how we can select edit and all things can be done with stm32cubeMX cuz we know board selection is pre fix in workbench as well as in motor prophiler bg431besc1 (inverter board) ur help will save my time .
I'm transmitting a custom packet by the NUCLEO-WL33CC2 and I'm receiving the pachet by a different harware that use the SI4460 tranceiver from Silabs. In the receiver board I receive the pachet, but the byte are completely differents than the byte I sent. Look like as the STM32WL33 have applied a coding, but I do non have applied any coding on the transmetter.This my init code on the trasmetter:static void MX_MRSUBG_Init(void) { /* USER CODE BEGIN MRSUBG_Init 0 */ /* USER CODE END MRSUBG_Init 0 */ /* USER CODE BEGIN MRSUBG_Init 1 */ /* USER CODE END MRSUBG_Init 1 */ /** Configures the radio parameters */ MRSUBG_RadioInitStruct.lFrequencyBase = 433920000; MRSUBG_RadioInitStruct.xModulationSelect = MOD_2GFSK1; MRSUBG_RadioInitStruct.lDatarate = 40000; MRSUBG_RadioInitStruct.lFreqDev = 25000; MRSUBG_RadioInitStruct.lBandwidth = 100000; MRSUBG_RadioInitStruct.dsssExp = 0; MRSUBG_RadioInitStruct.outputPower = 14; MRSUBG_RadioInitStruct.PADrvMode = PA_DRV_TX_HP; HAL_MRSub
Hi All,1. [Part Number] STM32WL33CC12. [Environment] Windows OS, STM32CubeIDE version 1.17.0, Firmware package STM32Cube FW_WL3 V1.0.03. [Schematics] STM32 Nucleo-64 development board4. [Details] See below.5. [Expected behavior] Data sent at 115200 from a remote terminal should be received by the STM32WL33 using the same baudrate6. [How to reproduce] Build the LPUART_TwoBoards_ComIT example by ST and connect terminal program and set baudrate to 115200. 7. [Occurrence] Consistent8. [Sanity checks] What are the checks that you have already performed (example: Have you reviewed the existing examples - GitHub, Cube...).DetailsI imported an old UART driver from a previous project that I had successfully used for many years on STM32 microcontrollers. However, I noticed it wasn’t functioning as expected on the STM32WL33. Specifically, when I sent a command from Tera-Term, the received data on the ST
Hi! I have problem with setting option bytes from program. Setting OBs from Cube Programmer working good. MCU im using is STM32G0B1. I found and implement this function: HAL_StatusTypeDef optionByteSetBootFromPin(void) { FLASH_OBProgramInitTypeDef OB; HAL_FLASHEx_OBGetConfig(&OB); /* OB.USERConfig returns the FLASH_OPTR register */ // Use it to check if OB programming is necessary if (OB.USERConfig & FLASH_OPTR_nBOOT_SEL) { HAL_StatusTypeDef status; OB.OptionType = OPTIONBYTE_USER; OB.USERType = OB_USER_nBOOT_SEL; OB.USERConfig = OB_BOOT0_FROM_PIN; status = HAL_FLASH_Unlock(); status = HAL_FLASH_OB_Unlock(); while (__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET); status = HAL_FLASHEx_OBProgram(&OB); if ( status != HAL_OK ) { status = HAL_FLASH_OB_Lock(); status = HAL_FLASH_Lock(); return HAL_ERROR; } HAL_FLASH_OB_Launch(); /* We should not make it past the Laun
I have spent several weeks trying to add an external loader for a TouchGFX application that is starting to get quite large (>2MB). I have a custom board with STM32H7A3 and am using OCTOSPI interface (in quad mode) to a W25Q128. I found a custom loader project Here that I've slightly modified to work with the MCU. The resulting .stldr loader file works with STM32CubeProgrammer to read write and mass/sector erase the external memory at 0x90000000. Flashing the test project doesn't seem to work (based on UART debug output)A simple demo project in CubeIDE branches to MemManage_Handler fault immediately when trying to memcmp() or memcpy() from 0x90000000 after calling HAL_OSPI_MemoryMapped().Breakpoint in STM32CubeIDE shows that after the HAL_OSPI_MemoryMapped function is called, the data in external flash can be viewed in the Memory Monitor tab. Everything looks good.It seems that the loader is good and the MemoryMapped function is working, so I'm not quite sure what to do at
I am using the LPUART in a very high speed mode, almost the max at 5Mb/s. I set the clock source to the LPUART to HSE/3, or 16MHz, and specified 5000000 in the Baud Rate field of the initialization. HAL_UART_INIT returns with no error (HAL_OK), but successive attempts to receive data end up in framing errors, indicative of a baud rate mismatch. To test it I lowered the baud rate to 115200, and tried that with the same result. Table 92 on page 713 lists the BRR value for this to be 0x8AE3, however, setting a breakpoint at line 3236 of stm32wl3x_hal_uart.c, where the BRR is initialized with the calculated value, it was a far lower value, hence the noted behaviour.The problem is in the value returned by HAL_RCCEx_GetPeriphClkFreq, which returns 24MHz (HSE/2) instead of the correct value of 16MHz. The problem appears to be in the switch statement between lines 260 and 275 of stm32wl3x_hal_rcc_ex.c. It returns the proper LSE value if properly configured, but always HSE/2 otherwise. It
Hi ,when the SUBGHZ block is in TX mode. if , for example , the COAX cable connected to the board SMA connector is suddenly disconnected during RF TX transmission .what is the maximum allowed input power on the RFO_HP pin when operating in TX mode ? (due to Reflected RF power occurring from the suddenly disconnected cable) thank youviola
I'm doing a project with a SD card, but I have not been able to make it work.I'm using an STM32F401RCT6 and a Micro SD Card Adapter (HW-125), I want to connect them via SPI. I've followed several tutorials online, but I haven't been able to get it to work.Do you know any tutorial or resource that could help me?
What's up with the recommended 2MHz ? Im looking at F4 & F7 series...So 2MHz are recommended for VCOin (reference manual e.g 0410, RCC_PLLCFGR -> PLLM), but every Cube Example seems to be giving 1MHz to the VCOin.Even in datasheet (DS11532 Rev 8, Table 47. Main PLL characteristics ) typical value for f pll_in is 1.How this recommendation should be treated? Is it some kind of bad joke? Or some copy-paste error?Wouldn't be the first time reference manual is incorrect> just check apb1 & apb2 max frequency values(rm0410)What are the advantages / use cases / benefits when using 1MHz instead of 2?
I am trying put a ScrollWheelWithStyle inside a ScrollContainer.Currently I can't find a method to pass down dragEvents from the Container to the Wheel.I tried disabling the scrolling for the Container.This cause the areas to initiate the draggable to be within the Wheel but the event is still handled by the Container.I also tried to change the code found in "...\touchgfx\framework\include\touchgfx\containers\ScrollableContainer.hpp", that cause the application to crash in both Simulators.Does anyone have recommendation on how to have nested Scrollables?
Hi all After connecting to my STM32WBA i get the following program trace:>>== HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE - Connection handle: 0x0001- Connection established with @:5c:c7:a3:61:de:70- Connection Interval: 30.00 ms- Connection latency: 0- Supervision Timeout: 720 msMTU exchanged size = 251>>== ACI_HAL_FW_ERROR_VSEVT_CODEFW Error Type = 0x02 After that my phone stays connected to STM. Sometimes it discovers some services and sometimes it doesnt.Any suggestion how to proceed with debugging?
Hi again, (posting twice today)I am looking at the performance of my STM32H747 system to better understand it. I didn't think there were any problems because I am not visually seeing any artifacts, but I always like to check. As it turns out, my system's rendering times are abysmal.I have many different screens in my application, and for this test the system cycles from one to another every 3 seconds. I used the Performance Measurement pins to measure VSYNC_FREQ, RENDER_TIME, FRAME_RATE, and MCU_ACTIVE. VSYNC looks healthy, measured at 62,352HZ (set to ~62,4Hz).The MCU appears to be barely active - there are 10ns or less blips occurring frequently.Frame rate is a consistent 3 seconds (I don't know if that's normal).But the rendering time is abysmal! The screens are 480x320 and some take hundreds of milliseconds to render when switching screens.This is the system as it's switching screens:This is system when there are no updates to render:The simplest screen takes 25ms to render an
Hi all,I have a screen with an RGB interface (Focus LCD E35KA-FW1000-N) that's being driven by an STM32H747 with the framebuffer in external RAM (over FMC). I'm presently using a double framebuffer strategy, but this same behaviour occurs when I used single.After flashing new FW, the screen flickers quite badly, and then over a few minutes it settles down and I have a beautiful screen with immediate transitions and no flickering. While it's flickering, you'll see the previous image it was displaying in the background. I'm not too worried about this, it disappears once the flicker is gone.What could be causing this? I can't share the project (under NDA), but I'll gladly answer any relevant questions that can help someone help me solve this. Thanks in advance,Julia
Hello All,I am using touchGFX v4.22.1, is it possible to exclude languages when generating a build?I have 6-7 different languages but i am close to my flash limit when building in STM32CubeIDE.I'd like to create multiple builds with different languages by excluding certain languages in touchGFX.The only way i can see to do this currently is to remove the language entirely which would mean losing the translations.I would like to just not include the language but retain the translations if possible.
I want to configure IDMA in the sdmmc interface of H750, but I can't find a sample, is there a tutorial?i use stm32cubemx as the toolchain
Hello,Why am I getting a Memory Management fault when enabling the MPU for ADC1, even though the MPU region is configured correctly?Could it be due to alignment issues or internal access within the HAL code (e.g., ADC12_Common)?Any guidance would be appreciated!Thanks in advance. MPU Configuration /* Update MPU settings for newly activating Zone */ void osZoneSetup_Callback (uint32_t zone) { ARM_MPU_Disable(); ARM_MPU_Load(mpu_table[zone], MPU_REGIONS); ARM_MPU_Enable(MPU_CTRL_PRIVDEFENA_Msk); }MPU Region for ADC// ADC1, ADC12_Common (0x40022000..0x400227FF) { .RBAR = ARM_MPU_RBAR(3U, 0x40022000), .RASR = ARM_MPU_RASR_EX(1U, ARM_MPU_AP_FULL, ARM_MPU_ACCESS_DEVICE(0U), 0x00U, ARM_MPU_REGION_SIZE_16KB) }, // VREFBUF (0x58003C00..0x58003FFF) { .RBAR = ARM_MPU_RBAR(4U, 0x58003C00), .RASR = ARM_MPU_RASR_EX(1U, ARM_MPU_AP_FULL, ARM_MPU_ACCESS_DEVICE(0U), 0x00U, ARM_MPU_REGION_SIZE_1KB) }, ADC1 Initializationstatic void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init 0 */ /
This question has already been asked and answered for other STM32 MCU series, but unfortunately, it didn't work for me.So, I got a brand-new STM32 Nucleo-H503RB development board to get to know it better before the project based on this MCU starts. And I want to preserve the original firmware on it for further experiments.What I know these days all the software for a particular MCU is packed into the STM32CubeXX series, which includes demo software, but I can't find it in the STM32CubeH5 pack. For example, we have the demonstration for the STM32F0308-Discovery board: STM32CubeF0/Projects/STM32F0308-Discovery/Demonstrations. It does the same thing: when you press the user button, the LED starts to blink faster and faster, and then goes back to the original frequency.So my question is: where can I find the same thing for the STM32 Nucleo-H503RB board?
Dear Sir,We are currently developing a custom RF project using the STM32H747XIH6 microcontroller. In our design, we have successfully tested the Cortex-M7 core by executing various test programs, including LED blinking and ADC integration. However, we are facing a critical issue with the Cortex-M4 core.When attempting to load a simple LED blinking program onto the M4 core, the debugger enters an unknown state, and the code does not execute. We have verified the hardware and power supply rails, and the M7 core continues to function correctly under the same setup.We would like to understand if this issue could be related to hardware initialization, boot configuration, or if there are specific prerequisites for the M4 core to operate independently. Your guidance or any recommended debug procedures would be highly appreciated Best regards,Samudralankaiah.
Hi,I am using a Stepper motor and the motor driver IC used is STSPIN220. I have to measure the torque of the motor to find when it has reached maximum load. What is the best way to do it?
I'm using TouchGFX with an STM32H7, which provides RGB and MIPI-DSI interfaces but no native LVDS output.Riverdi offers LVDS displays and even dev boards using STM32H7—how is the LVDS interface achieved in such cases?
can i get the firmaware for st-nucleo-lora-gw-at-fw-v2.1.7-asia923-925-TTN.bin
Installed STM32Cubde IDE on my machine and selected my board.I was expecting some of the pins/peripherals are set by default but as shown in the screenshot they are not.How to fix this issue please?
Hello.I developed a Screen with touchgfx with a ModalWindow with button and BoxWithBorder I add interaction on this button that calls virtual function. When I press the button the processor goes to HardFault. Can some one help me ?
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.