Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi there,i am planning to create a "smart light" (on/off) which is compatible with philips hue with a stm32wb55RG (nucleo).I have digged a bit into the numerous examples for zigbee applications and also tried some of them, basically the on/off examples with two boards. They worked and all is fine.Now i am about to gather informations what would be the best start of getting this into my Hue Bridge.Currently my Bride does not see those end devices from the example, so i can not add it there.Does anyone has some kind of Tip or Setup which you can share which is aiming to work with Hue? Thank you
Hello, I want to add a SDRAM chip to my board. Processing the images with internal RAM is insuficient. Reading the manual for FMC part I'm not sure how the bandwidth is working. If I have a chip with 8/16/32 bit, is pretty clear: one chip and that's it. But if the FMC has a bandwidth set to 16 for example and I have 2 chips with bandwidth of 8 bits, FMC can access the summed capacity of these 2 chips or it will see just capacity of 1 chip? Example: 2x 512Mbit chip with 8 bit, FMC will see just capacity of 1 chip aka 512Mbit or capacity of 2 chips aka 1024Mbit if bus width is 16 bits and the chips are connected in parallel? I was thinking if the FMC bandwidth is similar like in PC where the memory controller is using 64 bit bus width to access rhw whole 4x 16bit chips capacity. Thank you.
We just purchased one STM32U5G9J-DK1 from Digikey. We try to replace the LCD module on it with our own selected display with one MIPI lane. Thus, we are designing a interface board so that it can mate with CN2. And since we are also using a touch screen with I2C interface, we also need to connect CN4 I2C5. In this case, may I have the schematic and BOM of the main board MB1928B so that I can have all the pin definitions and connector model information? Thank you.
Hello Team,I have a new STM32F401RE board along with the ST-Link.I tried installing all the drivers required for the STM32 hardware, but the USB device itself is not getting recognised. Can you please help me resolve this issue?
Hello,I am currently working on interfacing an OV7670 camera with an STM32F429 using DCMI + DMA, and displaying the captured image on an ILI9341 LCD (SPI interface).I have successfully confirmed that the LCD itself works correctly (for example, filling the screen with a solid red color).However, no camera image is displayed, so I suspect there may be an issue with the camera operation or the DCMI configuration.I am using the following repository as a reference:https://github.com/PHANzgz/STM32-H7-camera-interface-and-displaySince this project is originally for STM32H7, I have modified the configuration as much as possible to make it suitable for STM32F429.At this point, I would like to ask whether there are any STM32F4-specific considerations, missing settings, or common pitfalls when using OV7670 with DCMI + DMA.Any advice or working references for OV7670 + STM32F429 would be greatly appreciated.Ths is my code./* USER CODE BEGIN Header */ /** ******************************************
Hi all,I used STM32H7S78-DK and everything was fine: I was able to load and flash the "HVAC Iot Demo" from TouchGFX Designer at the first time and develop my application using STM32CubeIDE.Then I bought an STM32N6570-DK and did the same procedure as before, but I was not able to flash that demo.I can successfully generate the code inside the TouchGFX Designer (version 4.26.0) but, when I push the button "Program and run target", I get this kind of error: Erasing memory corresponding to segment 0:Erasing external memory sector 0Error: failed to erase memoryError: failed to erase memoryc:/TouchGFXProjects/STM32N6570DK/IotDemo/MyApplication/gcc/include/flash_sections_int_ext.mk:18: recipe for target '_fsblflash_' failedmake[2]: *** [_fsblflash_] Error 1makefile_fsbl:45: recipe for target 'flash' failedmake[1]: *** [flash] Error 2../../gcc/Makefile:8: recipe for target 'flash' failedmake: *** [flash] Error 2FailedFailed Can anyone please help me?
Hi! I have ran into an issue with the HAL that I have yet to find a decent solution to. This issue has been discussed multiple times in different contexts on the forum, and I though I would write a post to gather some of the discussions/proposed solutionsI have labeled this post with the STM32H5 Series as that’s what I’m working on right now, but I believe this might apply to most/all of the STM32 Series.The issue relates to callbacks in the peripheral drivers of the HAL. Take for example an SPI transaction that I want to initiate on an instance, and where I want the MCU to be notified by an ISR when the transaction is completed. The callback has a type signature of void (* TxRxCpltCallback)(struct __SPI_HandleTypeDef *hspi);in the case of a registered callback or simplyvoid HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi);when the callback is overwritten from user code. In the callback I can easily identify which SPI instance triggered the interrupt and act accordingly. However, an i
Hello everyone,I'm writting today because I have some questions about the memory assignment of the flash on dual core devices such as stm32h745 mcu.I'm trying to assign a direction for the boot program, imagine 20k from "0x08000000". Afterwards I wan to assign 1.5mb for the cm7 and the rest for the cm4.As I understand, by default the flash is separated in 2 banks, first bank for the cm7 and second one for the cm4.I wanted to know if it was possible to use the first bank and half of the second for the cm7, and the rest for the cm4.If so, how I should proceed to achieve that? Because I managed to set the beginning of cm4 on another memory direction by setting the FLASH_BANK2_BASE define, but I don't feel like this is the best approach.Any ideas would be greatly appreciated.Best regards,RPC
Hello,Right now I am using 2 STM32WBA55G-DK1, one as PBP_Source and other is TMAP_Peripheral. The source consists of 2 BIS channels and in TMAP, I have included language selection option to include the subgroup or channel selection. And its working fine. But if I select Unicast option and pair with S24 mobile, only first channel or subgroup I can select, not the 2nd one. May I know whats the reason and how to overcome from this. Thank you
I created system_clock_initial function to config my board using PLL as system clock and running at 200MHz and also get APB1 timer at 100Mhz (for TIM5 delay function). See my code below. After that I create delay function from TIM5 and test with build-in LED when I upload my code to board and it begin to run, at beginning of time LED blink faster than delay time(1second) that I specify but after about 30 second LED blink properly with 1 second delay.What should I fix it?void system_clock_initial(void) { /* Turn ON HSE oscillator */ RCC->CR |= (RCC_CR_HSEON); while(!(RCC->CR & RCC_CR_HSERDY_Msk)){} /* Enable Power interface clock */ RCC->APB1ENR |= (RCC_APB1ENR_PWREN); /* Enable Backup Domain Write Protection for Access Backup RTC & SDRAM */ PWR->CR1 |= (PWR_CR1_DBP); /* Set flash period to 7 wait state */ FLASH->ACR = (FLASH_ACR_LATENCY_7WS | FLASH_ACR_PRFTEN); /* PPRE1 Divide by 4 */ RCC->CFGR = (RCC->CFGR & ~(RCC_CFGR_PPRE1_M
Hi,i have a bit of situation here.I wanted to try a zigbee example from cube mx (On/off ED).So i first flashed the FUS v2.2.0 on the device.But now it turns out that i can not flash the desired FW anymore : stm32wb5x_Zigbee_FFD_fw.bin.It only errors :(I have the feeling that this FW is not working with FUS 2.2?If so - I am right that i can not downgrade FUS anymore once it is updated? This basically would mean i wasted hundreds of EURs for those dev boards.
Hello, I'm Emily and I'm fairly new at using NUCLEO devices and ToF sensor. I would like to ask if a board NUCLEO-F401RE could only run one .bin file or could it run two .bin file? I'm currently trying out STSW-IMG035 but would like to have Gesture and Hand Posture running on one program instead of two. Also, I would also like two know if it is possible to have gesture and hand posture to run in one program as well. Any help is appreciated! Thank you! Emily
Hello ST community,I have some troubles with dummy cycles using Quad-SPI interface in DDR mode on STM32H743 and STM32F746.I am trying to read data from IS25LP080D QSPI flash with FAST READ QUAD IO DTR MODE OPERATION (0xED command). It is 1-4-4 mode.I am having trouble with number of dummy cycles. From IS25LP080D datasheet there must be 6 dummy sclk cycles between address and data. But to get 6 dummy cycles I must set cmd.DummyCycles = 3; in my program. Why there are 3 extra dummy cycles on diagram?My read function for HAL is below. In this function I set cmd.DummyCycles = 3.IS25LP_Status_t IS25LP_ReadQuadDDR(QSPI_HandleTypeDef *hqspi, uint8_t *buf, uint32_t addr, uint32_t size) { QSPI_CommandTypeDef cmd = {0}; cmd.InstructionMode = QSPI_INSTRUCTION_1_LINE; cmd.Instruction = IS25LP_FAST_READ_QUAD_IO_DDR; cmd.AddressMode = QSPI_ADDRESS_4_LINES; cmd.AddressSize = QSPI_ADDRESS_24_BITS; cmd.Address = addr; cmd.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; cmd.AlternateBytesSize =
Dear Community Members,I am trying to control / communicate-with X-NUCLEO-BNRG2A1 via NUCLEO-STM32F411RE.I am observing two issues for which I request your help:1. Code works when J15 is open (i.e., pins 1 and 2 are not shorted) on X-NUCLEO-BNRG2A1, but the EXTI interrupt on PA0 of STM32F411RE never triggers in its code. On X-NUCLEO-BNRG2A1 R70, R81, R83, R84, R86, and R87 are DNP / NC. While R76, R82, R85, R88, R116, R74, R75, R79, R80, R77, R119, R71, R117, and R73 are connected.J!0 pins 1 and 2 are shorted. J14 pins 2 and 3 are shorted.2. Using LightBlue App on mobile. Whatever changes I make to code I do not observe event value 5 on disconnect. I always observe event_pckt->evt reporting value 4. (Using printf) I observe 2 outputs with event value 4 at power on, 3 outputs with events with event value 4 at connect, and (possibly at least) 1 output with event value 4 at disconnect.In main.c: /* Initialise HCI */ extern void hci_event_cb(void *pckt); hci_init(h
Hi all, I've recently been working on a Nucleo H723ZG with a working implementation that allows for ADC reading over DMA. I've got a Timer event that triggers it at 20kHz and it was reading and processing multiple ADCs. I've shifted to using a custom developed board with a surface mounted STMH733VGT6. I've configured the ADCs and timers to what I believe is the exact same as before. I have verified that there is nothing wrong with the ADC circuitry by initially setting them up using poll for conversion, I was able to get valuable data out of the board doing this.When I went to setup the ADCs to use DMA however I started to have issues, I believe that theHAL_ADC_ConvCpltCallback isn't being called but I am not sure why, I set a break point in there which is never reached. Below I have copied in my TIM1 init function as well as my ADC1 init function in hopes that it may help someone assist me with my issue. Really appreciate you taking the time to read this and assis
Hello everyone. I was trying to implement the 6 Step PWM using STM32F411RE Nucleo board to drive a BLDC motor via 3 half bridges. Each half bridge was driven by signals from TIM1, using 3 of it's channels along with their complementary output for HIN and LIN of IR2110.TIM1_CH1 is located at PA8 for this board. This pin is shows continuity towards the 5V and U5V pins. The voltage for PA8 in reference to GND is around 2.8V. I have tried almost everything including disabling the TIM1, disable the GPIO pins, setting the PA8 as analog pin, disabling the peripheral clock, disable MCO, cleared MODER and AFR, tried NVIC_SystemReset, RCC clock reset, Timer Reset, shorted BOOT0 and VDD - power cycling the board, lastly I also pulled NRST low, did all of these separately, but still it showed a short between PA8 and 5V-U5V pins. This pin worked fine before. It was only after I accidentally set LOCK to level 2 in BDTR register of TIM1 that I saw weird behaviour from this TIM1 Channe
Hello,recently I made a board for a project and was planning to flash firmware with ST-LINK/V2. However, when I wanted to flash a test program I got a message from Console:Target no device foundError in initializing ST-LINK device.Reason: No device found on target. I checked all the connections and VDD pins with decoupling caps and looks like everything is properly connected. Yet still I don't understand what is the reason of not connecting. Schematic of the project:Physical connections:Attached as connections.jpeg I upgraded ST-LINK tool to the latest version and the MCU I am using is STM32G474CET3ST-LINK/V2 model: B202533Most of the design is just copied from the Reference design STM32G4 Series document.Any help is highly appreciated.
Hi everyone, I'm using the NUCLEO-H7S3L8 to try to comunicate with a BOS1921 device using the I3C protocol. To get practice i'm trying to read form the Register Map in 6.10 (see the datasheet). Using some example codes from this link https://www.st.com/resource/en/application_note/an5879-introduction-to-i3c-for-stm32h5-series-mcu-stmicroelectronics.pdf and this https://wiki.st.com/stm32mcu/wiki/Getting_started_with_I3C . from the example code that i made i try to give the bos1921 a adres, after that i try to read from the Register 0x02 and expect a value of 0x046A in return. but everytime it looks like it's the value from register 0x1E, that is the CHIP_ID. Even trying to read other registers i get the same result.Any idea what I'm doing wrong trying to read? Buffers i made:I3C_XferTypeDef aContextBuffers[2]; /* Buffer used for transmission */ uint8_t aTxBuffer[2]; uint8_t aRxBuffer[2]; uint8_t readAdre
Hello,I am setting up a P-NUCLEO-LRWAN3 kit and experiencing issues with serial communication to the end node.Initially, when connecting the board to Tera Term / PuTTY, I could see boot messages, but I was unable to send any commands (no echo or response when pressing Enter). I am trying to retrieve the DevEUI, AppEUI, and AppKey.After checking the user manual, I found the section stating that:USART1 (PA9/PA10) is used by defaultUSART2 (PA2/PA3) can be used optionally by configuring solder bridgesSB62 & SB63 closedSB13 & SB14 opened (to disconnect STM32 UART from ST-LINK)I reconfigured the board accordingly (opened SB13/SB14 and closed SB62/SB63).However, after this change, I no longer receive any boot messages at all on the serial terminal.Probably, there is something I am doing wrong; I need help on how to completely set up the Pnucleo Lrwan 3 kit (The end node-gateway-network server-application server)
Get early access to the next-generation STM32Cube HAL drivers for STM32U5A major update to STM32Cube HAL drivers, called HAL2, is now available for preview on GitHub. It supports the STM32U5 series. Building on over 10 years of experience, HAL2 delivers the following: More optimized drivers with a smaller footprint and improved performance Enhanced portability across STM32 devices to reduce development time A more intuitive API for easier and faster application development To support this update, examples have been revamped for better reusability and understanding, and a new online documentation portal is introduced for enhanced content and easier navigation.Try it now: Explore the preview on GitHub: STM32CubeU5-V2-Preview. Test the new features and share your feedback via GitHub Issues. Your input is essential for the final release. Join the conversation and share your thoughts in the comments.
Hi everyone, I've setup a project in TouchGFX4.18.1 and STM32H747i Disco, which consist of 4-5 screens. One screen is for motor control. In this motor control screen 3 buttons are used (low, medium, high) for changing the PWM. Simple but, the virtual function at the model (MVP) is calling the wrong Function. The funny thing is, the order that a function is placed in the .HPP yields that the function to be called in model and it's not the correct function. I've used breakpoints throughout MVP, and all was validated as making the incorrect/correct call. virtual void PWM_33(); (if PWM_33 is placed on the bottom, PWM_66 would be called for every button.) virtual void PWM_66(); (same as the above) virtual void PWM_75(); (same as the above) This is the third time I've made the to change to the buttons that only yield the same results. Otherwise, each function call reverts to the order in .HPP. This area (stepping from VIEW, Presenter to Model not possible
Hi. Unfortunately, after several days of struggling with USBX, I'm forced to ask for your help. I'm using custom boards with the STM32h503RB and STM32h563VI. I tested the old library according to forum guides – no response when connected to a PC. The closest I've gotten is following the guide for USBX C0. Windows recognizes the CDC device and assigns a COM port, but there's no response when attempting to open the port.USBX standalone,interrupt enabled, Clock 48MHz, CRS enabled, mempoll size 8*1024, stack size 6*1024https://www.youtube.com/watch?v=43gcc2dGnxQ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initi
Hello everyone,I am facing a persistent OVRCR (LD6) over-current indication on a NUCLEO-H723ZG board and would appreciate guidance.Board behaviorPowering the board via CN1 (ST-LINK USB) onlyNo external connections: no peripherals, no wires, no common ground, no shieldsPower source selector JP2 set to STLINKObservationsJP4 removed (VDD_MCU / IDD link open):LD6 (OVRCR) OFFLD5 solid greenST-LINK enumerates correctly on PCE5V ≈ 5 V3V3 ≈ 3.2–3.3 VJP4 installed:LD6 (OVRCR) turns RED immediatelyLD5 flickers faintlyUSB power switch (U2 near CN1) starts heatingBoard does not stay poweredCurrent measurement across JP4:Measured by replacing JP4 with a multimeter (DC current mode)Target domain draws ~1 AThis happens regardless of JP5 position (VB–VDD or VDD–3V3)Resistance measurements (USB unplugged):With JP4 installed:3V3 → GND ≈ 10–60 ΩIOREF / VBAT → GND similar rangeWith JP4 removed:3V3 / IOREF / VBAT → GND ≈ 150–200 ΩConclusion so farBase power system is OKOvercurrent occurs only when the VDD_
Hi, I am using the STM32H755ZIT6 dual-core microcontroller.The internal Flash memory has a sector size of 128 KB and a page size of 4 KB. In my application, I perform erase and write operations on a specific Flash sector. If a power failure occurs while the erase or write operation is in progress, I occasionally observe that: The Flash sector being accessed becomes corrupted The sector cannot be read by the application The same sector also becomes inaccessible in STM32CubeProgrammer This issue does not occur every time and seems to happen randomly during power loss. After full chip erasing it I can access the sector region. I would like to understand: The possible reason for this Flash corruption during power failure Whether this behavior is expected for STM32H7 Flash memory Recommended software or hardware methods to avoid or recover from this situation Any guidance would be appreciated. Thank you.
Hi everyone!Could someone help me to understand a problem with STM32G070.We have deployed approx. 50-60 devices with stm32g070 MCU that saves some parameters in FLASH every 24 hours. I know that according to datasheet FLASH memory endurance for this MCU is 1000 cycles. So, in theory, this MCU can work normally 2.7 years. It is also worth to mention that this period is defined for temperature range of -40 to +85°C. Recently, we had a relative cold weather with a temperature ranging from 0 to -10°C. This is far from -40°C that we see in datasheet. However, we had 5-6 devices that have corrupted parameters area (last page from 128K FLASH memory).I was able to reproduce this situation in the office. So I wanted to ask you guys if you had such a strange behavior with this MCU or another one. I need to mention also that this board is coated with special waterproof-coating.Erase and program functions looks like that:HAL_FLASH_Unlock(); uint32_t defectPages; FLASH_EraseInitTypeDef EraseInitSt
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.