Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
HiI have seen mention of STM32Cube_FW_N6_V1.3.0 being released soon, and including important fixes to demos. Is there an expected released date?
The STM32H743XGH6 is specified to have 1 MB of Flash memory.However, it seems that the following 2 MB address ranges are writable:BANK1: 0x08000000 to 0x080FFFFFBANK2: 0x08100000 to 0x081FFFFFIf the device really has only 1 MB of Flash, I would expect the usable ranges to be:BANK1: 0x08000000 to 0x0807FFFFBANK2: 0x08100000 to 0x0817FFFFAlso, when I executed an erase operation on BANK2, it started erasing from address 0x08100000.My question is:Are the following areas valid and safe to use?BANK1: 0x08080000 to 0x080FFFFFBANK2: 0x08180000 to 0x081FFFFFAny clarification about the actual usable Flash memory area would be appreciated.
I have strange DMA problem with a F303 application, in particular a STM32F303K8 (a STM32F303x6/8 variant).The concept is relatively straightforward.A configured ADC sequence is triggered by timer, the ADC in turn triggers DMA transfers of the conversion results, and the DMA raises the TC interrupt when the specified number of transfers is reached.The problem is, the ADC almost immediately raises the OVR flag (overflow), and the DMA is disabled (CCR.EN is reset).I can't see the reason why.Detailed description of used peripherals / resources : - ADC1_IN1, ADC1_IN2 & ADC1_IN4, 19.5 cycles, with ADC.CCR CKMODE=3 (synchronous, HCLK/4) - TIM3 TRGO as ADC trigger (ADC1.CFGR EXTSEL=4, EXTEN = 1), at about 11kHz - assigned DMA is DMA1 Channel 1 (see RM0316 Rev 10, table 77 at page 268)DMA is configured in circular mode, peripheral-to-memory transfer, memory increment, and half-word transfers.At the moment I try only one sequence (3 samples, i.e. half-words), instead of a l
Hi, For STM32F446RET6, I want to use the DAC function of it. But I have some question. 1. If I don't use the output buffer, what is the output range? From the datasheet I think it should be 0.5mV to 3.3V±1LSB?2. If I use the output buffer, what is the output range? From the datasheet I think it should be 0.2V to 3.1V?(My VDDA=VREF is 3.3V) 3. For this 12-bit DAC, its minimum output cannot be 0V (regardless of whether a buffer is used). So how should I adjust its output? When calculating the formula X/4095 (where X is my setting), if I set X to 1 and do not use an output buffer, should its output be 0.5mV + (1/4095) * 3.3V? When calculating the formula X/4095 (where X is my setting), if I set X to 1 and use an output buffer, should its output be 0.2V + (1/4095) * 3.3V?Thanks a lot for your help. Best,Junzhe
Hello, I did a custom design based on EVLSPIN32G4-ACT, schematic is basically the same apart from board shape and connectors.The hardware is working in general, I successfully got my BLDC motor without an attached load spinning using sensor less speed feedback.The application is the drive unit for an radial fan. After attaching the fan impeller to the motor shaft the before working setup would not spin up anymore.I got speed feedback failures, then I raised the start up current until I got over current events. All not working. The motor also features integrated hall sensors, so I decided to switch to those. The mechanical speed returns sane values inside motor pilot software, so I assume them working. Using the hall sensor, the motor is trying to spin up in the wrong direction finally failing with an speed feedback error.How ever, if I give the motor a push in the correct direction, it will spin up and then be driven to the max. application speed. At this point new
Hi ST community,I wanted to develop BLE application using the nucleo stm32wb55rg and the zephyr project v4.3.0. what i did is take a nucleo stm32wb55rg board first i upgraded the FUS from the STM32Cube/Repository/STM32Cube_FW_WB_V1.23.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_1_2_0.binthen after this i updated the wireless stack firmware with this one STM32Cube/Repository/STM32Cube_FW_WB_V1.23.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_extended_fw.bin.after this i power cycle the board, which is required for the wireless stack to load.after that i build a sample from the zephyr v4.3.0 buluetooth samples "Peripheral_dis sample"i build it for the nucleo_wb55rg board and flash it, the flash logs can be seen below.after this i connected a serial terminal to view the logs and the logs can be seen below. the zephyr is unable to communicate with the wireless stack with error timeout.i have tested this setup with multiple wireless st
I have a custom board with a STM32H735 and I have several issues with it building with clang and TouchGFX 4.26 for vscode. It works fine with 4.25 and GCC. I'm putting this migration on hold for now as many of these tools are still experimental.What I now want is to first get a demo project working on the STM32H735G-DK board in vscode with cmake and clang.I tried it this way:in TouchGFX Designer 4.26 I select my board and select Dynamic Graph example. This builds and runs in Designer. I open the IOC file in STM32CubeMX V6.15.0 and change toolchain to CMake+ClangI build in VScode using STM32Cube plugin (pre-release)I get build errors [main] Building folder: C:/TouchGFXProjects/MyApplication_24/build/Debug [build] Starting build[driver] NOTE: You are building with preset Debug, but there are some overrides being applied from your VS Code settings.[proc] Executing command: chcp[proc] Executing command: cube-cmake --build C:/TouchGFXProjects/MyApplication_24/build/Debug
Hi,I want to use the Trace Interface on the STS32PING4, but I can't seem to find the correct Pins for it. I have found a general Overview of where the Pins would be located in the STM32G431 here (PE2-PE6):https://www.st.com/content/ccc/resource/training/technical/product_training/group0/c9/b9/a2/df/3e/80/45/59/STM32G4-System-Debug_DBG/files/STM32G4-System-Debug_DBG.pdf/_jcr_content/translations/en.STM32G4-System-Debug_DBG.pdfBut since the STM32G431 is integrated in the STSPING4, I don't know the mapping. Also in the Datasheet in the STSPING4, I can't find the Pin names TRACECK and TRACED0-TRACED3.Greetingsdmuth
I am getting the same problem with my nucleowb05kz board
Hi, I've been trying to get a ground-up bare metal implementation of SPI working on one of the STM32 boards I own, but I can't seem to make progress on any of them. I lack an ST Link for the 405, so I can't step through my program and see how the registers are configured sadly, so I figured I'd ask here to see if anyone has experience doing something similar. I've attached the relevant GPIO and SPI c code to this post, as well as the main function for my project. Any help would be much appreciated, thanks.
Hello, using STMCubeProgramme, STLINK-V3MINIE does not recognize an STM32G031F8P6, while an ST32MF411CEU6 is recognized. The voltage is read on both boards: 3.28V. What can I do to get the STM32G031F8P6 to be recognized ?
Hello,I’m new to ST boards and currently working with an STM32WB09.My goal is to make the board recognized as a BLE HID Gamepad, including an analog joystick.To get started, I used the HID Mouse example from the library.I managed to modify the HID report to match a gamepad descriptor, but I still can’t get my joystick inputs to be detected.Does anyone have any suggestions, examples, or checks I should perform regarding:reading the joystick (ADC),integrating the axes into the HID report,or the BLE configuration on the STM32WB09?Thank you in advance for your help.
Hi All, I have a question regarding the validity of my implementation of ADC + DMA on the STM32H753ZI. I had quite a lot of trouble getting the HAL_ADC_ConvCpltCallback configured as void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { counter ++; BSP_LED_Toggle(LED_RED); } to trigger, as all other guides did not work until I found this guide: https://www.youtube.com/watch?v=_K3GvQkyarg Where at around 27 minutes there is shown how how to enable the MPU and then how to configure DMA around it. For me the DMA callback did not trigger at all until I : - Disabled Speculation default mode and enabled CPU ICache and DCache - Enabled MPU region 0, setting the base address to 0x38000000 using RAM_D3, all access permitted and disabling MPU Instruction Access, Sharebility permission, Cacheable Permission and Bufferable Permission. - Added a RAM modification in STM32H7XX_FLASH.id as /* RAM MODIFICATION */ .nocache(NOLOAD) : { . = ALIGN(32); * (.nocache) } > RAM_D3 and the
MCSDK Version: 6.4.1 Build: 250722.224358 uint16_t R3_2_SetADCSampPointSectX_OVM(PWMC_Handle_t *pHdl) Line 1246. Should there be Tcase2? Tcase3 here is wrong, Tcase2 with no caller.
Hello everyone, I am using the NUCLEO H753ZI microcontroller it has ST Link V3 can i debug this board with the ST Link can you tell me what version of ST do i need to get to debug my board and also can you provied me the document for debugging with ST link. Thank you
I’m working on an STM32WLE5 device and I’m facing a reproducible issue when enabling Read-Out Protection level 1 (RDP = 1). When RDP = 0, everything works as expected: i can write/read RTC Backup registers, my initialization sequence behaves correctly.However, as soon as I set RDP = 1, the firmware can no longer access the backup domain: Any attempt to write Backup registers fails, even with SWD completely disconnected The strange part: If I disconnect VBAT (short it to GND to fully drop the backup supply), everything works again — even with RDP = 1.After removing VBAT and letting the backup domain fully reset, my firmware can again access backup registers normally.This strongly suggests that the Backup Domain remains in a “protected” or “locked” state after enabling RDP, and can only be reset by removing VBAT.My problem is that we have a supercap soldered on the vbat pin, and we cannot shortcircuit it during production. Any help? Thank you
I have a strange problem with the ADC/TIM interrupts for a simple FOC motor application on STM32G431 on the B-B431B-ESC eval board. The build uses FreeRTOS.There appears to be some strange behavior with R3_2_TIMx_UP_IRQHandler() and ADC1_2_IRQHandler() at startup under some conditions. An apparently benign code change (code that is not actually executed) causes a lockup in R3_2_TIMx_UP_IRQHandler() due to an aparent timing issue.while (0x0u != pHandle->pParams_str->ADCDataReg1[pHandle->_Super.Sector]->JSQR) { /* Nothing to do */ } What appears to happen in the lockup case isR3_2_TIMx_UP_IRQHandler() called for the 1st time and triggers an ADC JSQR conversion (T1).R3_2_TIMx_UP_IRQHandler() called for the second time and triggers an ADC JSQR conversion (T2).ADC1_2_IRQHandler() is called for the first time for T1, but we now loose T2R3_2_TIMx_UP_IRQHandler() called for the third time and hangs because JSQR is not zero because the T2trigger was lost.What should have happe
Hi everyone, I’m facing an issue with power consumption on my custom PCB that uses the Wio-E5-LE module. According to the datasheet, the module should consume around 2.1 µA in sleep mode, but my board is drawing around 88 µA instead. I’ve double-checked everything and can’t find any other source of leakage.What i have already checked,Disabled all unused peripheralsConfigured all GPIOs properlyVerified there are no shorts or solder bridges on the PCBMeasured current draw of other components — none show any noticeable leakage
Hello,We have an issue with the B-WL5M-SUBG1 evaluation board: The idle current consumption is higher than expected: 89 uA (vs. expected: 1-2 uA) after joining (OTAA) successfully.Board: B-WL5M-SUBG1Firmware: STM32CubeWL/Projects/B-WL5M-SUBG1/Applications/LoRaWAN/LoRaWAN_AT_Slave and STM32CubeWL/Projects/B-WL5M-SUBG1/Applications/LoRaWAN/LoRaWAN_End_NodeFirmware version: STM32CubeWL V1.3.0 (latest from https://github.com/STMicroelectronics/STM32CubeWL)Power supply: 5 V via USB-C adapter boardCurrent measurement: STM32WL5MOC, not including sensors, measured at IDD jumper (JP2) using JoulescopeDo you have an idea what could be the issue?Thanks!
I have been developing code between TouchGFX 4.25.0 Designer and STM32Cube IDE 1.12.1, with the STM32H750DB-DK development kit.I initially generated the code firstly using TouchGFX, created from the Blank UI using the STM32H750B-DK board setup. I have been successfully been able to create an interface with TouchGFX and then develop the functions within STM32Cube IDE. I have been debugging successfully within the STM32Cube IDE and have created a nice GUI so far. However, using the generated IOC, that was created using TouchGFX. If I generate the code from the IOC, with minimal changes such as adding TIMER7, it causes the LCD to go to a white screen. After I generate the code from the IOC, I regenerate the code on the TouchGFX.I require to edit the IOC as I need to add a Timer to control the backlight brightness, but I can't seem to get that far due to generating the IOC causing the white LCD screen problem. I have had to revert my code back at every attempt, to prevent the pro
Hi,I am working on some screen transitions. I need to make my "page" transitions move and fade in/out together in the process.Below are the issues I found=========================For screen tranisition=========================I can start the screen fade animation on its own.But if I start the screen transition together, this fade animation is not working for some reason.==========================For container mix-in animation==========================I can start both fade/move animation together with the container.But this way all my "pages" would need to be inside a "custom container" and I will only have 1 "screen"All my hw key event will be jammed inside my MainScreenView, and introduce a mess in code structure. Both of the methods require me to start fade animation MANUALLY for each object in the "page" which is very inconvenient.But I can't find a way to do it with a for loop using the forEachChild() function.Since the function gets a "Drawable" object, instead of "
Hello dear ST forum.I need again you precious help.I am working on a data acquisition device, and need to get 14bit data from a parallel ADC connected on DCMI pins,at 48MHz, and move it to a 32MB SDRAM (W9825G6KH-6I) till almost full. The MCU is STM32H743IIT6.After reading, and reading, I did understand that the only available way, is to use MDMA linked list. Create 255 nodes and transfer the 16 bit data to the SDRAM. Can someone point me the right direction?
Hey all,I'm trying to get embedded Lua (https://eluaproject.net/) running on an STM32C0 MCU. The implementation has a Write Once Filesystem that uses flash and can be appended to but not modified.The issue is that the WOFS relies on being able to write bits in flash as 0xFF or 1s with the expectation that it will be able to write over them later to set them to 0s (obviously not vice versa) For instance an 8 byte (smallest size supported by this flash?) write to address A with data FF FF FF FF 01 23 45 67, then later another write to address A with data AA FF FF FF 01 23 45 67. I think this is used to set flags on old files, like "deleted", and also to deal with the fact that the FS is designed around 4 byte, not 8 byte alignment.This seems like it would be possible from a hardware perspective but HAL_FLASH_Program errors when I try it, is this something that is possible? Thank you!
Hello ST Community,I’m currently working with the STM32H750B-DK development board and I’m facing an issue with UART communication through external pins.My goal is to communicate between the STM32H750B-DK and another external controller using UART (not via the Virtual COM Port over USB).Here’s what I have done so far:I have configured USART3 (TX = PB10, RX = PB11) in STM32CubeMX for asynchronous communication.I also tried USART2 (TX = PD5, RX = PD6), which are available on the STMod+ connector.The code builds and runs successfully.I can transmit data successfully via VCP (USB) and see it on the PC serial monitor.However, when I connect a TTL-to-USB converter or logic analyzer to PB10/PB11 or PD5/PD6, I do not see any UART activity.I have verified the pin configuration in CubeMX and ensured no alternate functions are conflicting.It seems like the USART2/USART3 pins might not be physically routed to the external connectors on the STM32H750B-DK board, or they may be multiplexed with other
Hello I am working on Customized board developed using STM32H755ZIT6 microcontroller. I have initialized UART first and it was working fine. Than In the same project I initialized SPI and tested back the UART and now uart is not working I used different pin configuration and Different DMA setting for both but still same problem is there UART is not working. But this code works fine on the NUCLEO H755ZIT6 board
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.