Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello ST Expert ,I'm using the NUCLEO-WL55JC1 for my project as Gateway and End-device.I have one Gateway and 4 end device ( based on the same baord ) , i don't made any hardware change , and I'm using the SW delivered by STMicroelectronics.I have an issue for the distance range between the Gateway and the End device.I'm using the same configuration in all boards ( gateway and end-devices )- SF = 11 ; Freq = 125Khz- 22dbi=> The maximum range is 100 metres So ,I changed the Antenna I had 300 meters..but it is not enough for my projects.At least i want 1000 metres to connect all End device. Any Suggestion please I'm very blocked Best Regards
Hello,I have STM32H747I board. using Ethernet, I have connect MQTT on 1883 port successfully. Now I want to connect 8883 port but after configuration, this kind of error occurs also I have included path for the same. can you please check and give me step to resolve this.Thank you.include patherror
Hi,I’m designing a PCB with the STM32WLE5CCU6. I don’t plan to use the integrated RF (LoRa) section, but the MCU choice is fixed.I couldn’t find clear guidance in the datasheet on how to power the device when the RF block is unused. I’d like to optimize the board and avoid populating connections/components that won’t be used.QuestionsCan the RF section be left unpowered entirely, or do certain rails still need to be supplied?Do any RF-related pins need specific pull-ups/pull-downs, or can they be left floating?Which RF-path components can be omitted without impacting MCU operation?Are there any recommended pin straps or layout considerations for this use case?Thank you!Product page: https://www.st.com/en/microcontrollers-microprocessors/stm32wle5cc.html
I am implementing a system with two STM32H753 microcontrollers. MCU1 reads ADC data and sends it over UART to MCU2 using UART DMA on ADC conversion. MCU2 reads data from UART via DMA and is supposed to do some filtering (among other things) to the received data. Earlier, all of the tasks were done by a single MCU (hence it was simpler, as we had access to the ADC data buffer already). The issue I am facing is that the UART Receive DMA is never triggering the HAL_UART_RxCpltCallback() callback no matter what I do. I have tried the same with UART_Receive_IT() with no results either. To help me ensure that it is not a configuration issue, I configured the same UART in a separate project (which is more of a simpler example of what I am trying to do) and verified my configuration to be working (posted about it earlier).
Hello, I am developing a bootloader which communicates with an external flash memory (AT45DB041E) in order to check if a file is written inside the flash. This file that my bootloader is searching for is written from another program which is on the eclipse and uses mbed for LittleFileSystem functions and the BlockDevice. When this program finishes its work my bootloader starts and fails to mount the flash memory and every time I am getting this error message:Corrupted dir pair at {0x0, 0x1}However, I have checked my functions in littlefs that I use for reading and writing data to a specific file with a dummy code which was making the below steps:1) Mounting the flash (Success) 2) Opening a file for reading writing (Success) 3) Writing 160KB of data (as the file size that mbed uses) (Success) 4) Closing the file (Success) 5) Opening the file again only with reading (Success) 6) Start reading the data from the file (Success) 7) Close the file (Success) 8) Unmount the file system (Su
Hello, We're working on a custom board for the STM32H750IBX. Our boards arrived. The first time, the chip was installed poorly and shorted out. We assembled a new board at the SMT factory with the new chip, but we still can't connect to the chip to program it.We checked the voltage and the connection as best we could. We couldn't check the chip itself because it's a BGA package. However, we did an X-ray, and everything looks fine.We tried connecting with STMCUBE IDE and ST_LINK Utility, but they still can't recognize the target.We've exhausted all possible solutions and are asking the community for help. Schematics:STM32H750IB SCHEMATICS Layout:RED ARE SWD LINES
Hi, This might seem like a dumb comment, but I am reading UM1884, Description of STM32L4/L4+ HAL and low-layer drivers, and I find numerous references to "hal_ppp" or "HAL_PPP" such as the file name "stm32l4xx_hal_ppp.c" (Table 2, page 8) or "HAL_PPP_STATE_RESET" (P2566).When grepping the generated file structure, I also find a few references to "HAL_PPP" or "hal_ppp" peppered around a few header and c source comments but no actual functional code.So, I think, perhaps, that "HAL_PPP" is a placeholder for peripheral modules such as "HAL_RTC..." or "HAL_PWR..." peripheral names.My bone to pick is this: that "hal_ppp" or "HAL_PPP" are placeholders is NOT stated anywhere in the documentation. You have to assume that is the case. Sorry, but I am a literal thinker and the lack of an explanation about the meaning of "ppp" or "PPP" is a cause of concern, distraction, annoyance and doubt, so much so that I was compelled to write this.Please, to the doc
Hello,I have purchased EVSPIN32F0602S1 motor control board for controlling my motor. I have tried too many configurations to control the motor but I have failed. My motor specs are 325VDC, 8A BLDC motor. For the tests, I have applied 60VDC voltage to board. In open loop and speed sensing config is Observer+PLL, I have managed to turn the motor for a while, after that it returned me FOC Duration error. Then I selected speed sensing config as HAL Sensor, but no matter which configuration I tried, it didn't work. Here is the figures about my configuration. Please guide.
Hello,in Application Note AN6228 it is stated, that it is possible to perform write-operations on the external flash while running code in memory-mapped mode (Execute-In-Place XIP) on the same external flash memory (on a different bank).See:https://www.st.com/resource/en/application_note/an6228-how-to-implement-xspi-readwhilewrite-feature-on-stm32-mcus-stmicroelectronics.pdfWe wanted to use this feature to implement OTA-Updates by executing the application in the external flash and writing the new firmware to the same external flash in a different bank.The only thing is that is unclear to us is, if and why both XSPI1 and XPSI2 interfaces are needed to perform Read-while-write (RWW) operations?As stated in AN6228:To maintain the XIP + RWW feature, the following routine must be used:1. Configure XSPI2 in memory mapped mode, which allows the MCUs to execute the code directly from theexternal flash memory.2. Configure XSPI1 in indirect write mode.3. Configure XSPIM in multiplexed mode, the
Hi,I need to design a headset with HRTF-type binaura rendering. I'm at the very beginning of my research, and perhaps someone has already completed this type of project.Based on my research, I'll need multiple audio tracks to simulate my environment. Each audio track will be adjusted based on the coordinates and movement from sensors (accelerometer, gyro, compass).There will be a lot of math involved to adjust the audio from the different sources.I was wondering if an STM32H7 (M7 + M4) MCU would be sufficient, or is it imperative to look at something with more resources, like the STM32N6. Would an STM32F4 be sufficient? Power consumption is a crucial issue (battery operation).I've already looked at very specialized chips like the Qualcomm S5, but in terms of volume, we're not their target market.Does anyone have any suggestions? An STM32-compatible library? Any advice, etc.Thank you for your help.
Hi, allI'm developing a BLE device using the STM32WB05 that supports I2C and BLE connections.I successfully established an I2C connection using I2C_SCL(PB6) and I2C_SDA(PB7).However, PB7 is used for RADIO_RF_ACTIVITY on BLE, causing a conflict between BLE and I2C.Therefore, I tried changing to I2C_SCL(PA0) and I2C_SDA(PB14) to connect to the I2C master, but the connection failed.I'm wondering if the I2C pins on the STM32WB0 are limited to only PB6 and PB7.thanks.
Hello friends, I need to connect thirdparty accelerometer SENSOR to STM32F4 series MCU via SPI. The Sensor Data sheet says:1) Designed to support any MCU that used software implemented SPI. It is not designed to support any particular hardware implemented SPI.2) MISO: data bits are shifted out on falling edge of SCK3) MOSI: each bit is sampled on the rising edge of SCK. 4) Sensor supports full duplex communication___________________________________________________________________Please suggest how to implement. Can I use SPI peripheral of MCU? If yes, I am not sure about what should be CPHA for CPOL = 0. I need full duplex communication.
Hi!I'm getting 2 round displays up and running using tGFX on an STM32F767 (custom board, external SDRAM and QSPI)I think almost everything is running but I have some weird artifacts. the clearest I can show is the color wheel test.While the image is 24-bit and the display is 18-bit I wonder why I see the clear lines across the display (Please disregard the red stripe horisontally - that's a smudge on the protective film)To me it would seem like something like a rounding of the color information but that would make much more sense if I was coming from less than 18-bit.Anyone who can offer some insights here or point me in a direction? I tried with a real image and certain colors just get REALLY wonky..
Hi, I'm working with an STM32WB55cgu6. I'm having trouble with power consumption in sleep mode, which is around 100μA or more. I replaced the chip and it dropped to 35-50μA, but on newer boards it's around 30μA. I'd like to know if there's any configuration I can do to reduce this consumption as much as possible.Thank you.
Hello :) I am developing an application using a pair of NUCLEO-WL33CC1. I am testing the LPAWUR, using the LPAWUR_WakeupRadio_Rx and MRSUBG_WakeupRadio_Tx examples as a starting point. The examples work fine, but the range is very short, only about 0.3 m. How can I increase my range? I am able to achieve 50m+ when sending my normal radio telemetry, just the LPAWUR range is very short. This makes me believe the antenna and hardware TX path is fine, and it is a configuration issue with LPAWUR. Can anyone reccomend some changes to the following code? I tried enabling the AGC which had no positive effect. Here is my init function for LPAWUR:static void MX_LPAWUR_Init(void) { /* USER CODE BEGIN LPAWUR_Init 0 */ /* USER CODE END LPAWUR_Init 0 */ /* USER CODE BEGIN LPAWUR_Init 1 */ /* USER CODE END LPAWUR_Init 1 */ /** Initializes the RF Config */ LPAWUR_RadioInitStruct.EnergyDetectorIcal = ED_ICAL_VBAT_3_25_TO_3_50; LPAWUR_RadioInitStruct.ClockDivider = 7; LPAWUR_RadioIni
Post edited by ST moderator to be inline with the community rules especially with the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code. Hi all, I am working with STM32H723VGT6, using ETH and SPI4. I have configured Ethernet following this ST Community guide:https://community.st.com/t5/stm32-mcus/how-to-create-a-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308 When I follow the instructions exactly, I noticed that memp_memory_RX_POOL_base is located at 0x24000000. Current problem When running my program, the crash occurs at: struct pbuf *q; q = pbuf_alloc(PBUF_TRANSPORT, length, PBUF_RAM); Inside pbuf_alloc, in the case PBUF_RAM: p = (struct pbuf *)mem_malloc(alloc_len); In mem_malloc, the program fails at: /* Scan through the heap searching for a free block that is big enough */ for (ptr = mem_to_ptr(lfree); ptr < MEM_SIZE_ALIGNED - size; ptr = ptr_to_mem(ptr)->next) { mem = ptr_to_mem(pt
I always observe a spike when i start to run the motor which leads to audible noise or jerk when i went through the code to modify i have observed the variable hAux little confusing request to please confirm if it is intended __weak void *HALL_TIMx_CC_IRQHandler(void *pHandleVoid) { if (pHandle->OVFCounter != 0U) { /* Adjust the capture using prescaler */ uint16_t hAux; hAux = hPrscBuf + 1U; wCaptBuf *= hAux; again declared if (pHandle->RatioDec) /* and don't decrease it again */ { /* Adjust the capture using prescaler */ uint16_t hAux; hAux = hPrscBuf + 2U; wCaptBuf *= hAux; again declared else /* If prescaler was not modified on previous capture */ { /* Adjust the capture using prescaler */ uint16_t hAux = hPrscBuf + 1U; wCaptBuf *= hAux;
Hi,I am currently facing an issue where TrustZone cannot be disabled on the STM32U545 device with custom hardware.1. [Part Number] STM32U545VET6 on custom hardware2. [Environment] STM32CubeProgrammer 2.20.0 with ST-LINK V2; custom Zephyr application and custom TFM platform3. [Schematics] PH3 (BOOT0) is connected to 3.3V when changing the RDP from Level 0 (AA) to Level 1 (DC)4. [Details]I flashed a custom secure application with TFM onto the device, but it was not working. I wanted to disable TrustZone and return the chip to a “normal” state. Following AN5347 (Section 9.1.2) and an ST Community post, I attempted to perform a regression.Everything worked until I set the RDP to Level 1. However, after power-cycling the target, I could no longer connect to the device. Regardless of how I reset the target or change the ST-LINK connection mode (Hotplug, Under Reset, etc.), I only receive errors such as the following:BOOT0 to VDD:BOOT0 to the ground:5. [Expected
Hello STMicroelectronics engineers and fellow users,I recently purchased the STM32F746G-CU4 board and have been working on a project with it.The STM32F746 is an excellent processor, and I was particularly interested in its ability to control a touch screen, which is why I bought this board. Yesterday, I finally managed to install the TouchGFX software and set up my development environment.My plan today was to start by uploading a simple image to the display and then gradually research and practice the required features before integrating them into my equipment. TouchGFX has provided a very intuitive interface, and fortunately, I was able to upload an image to the board with just a few clicks. It is a very convenient environment for me.However, I’ve encountered some problems.When I downloaded the simplest images to the board (for example, just a plain white screen or a solid color), the screen displayed the color correctly. But when I uploaded the photo I wanted, the entire screen becam
HIAt what temperature the TS_CAL2 value for the STM32G431 is detected?In the datasheet it is reported 130 degrees while in the library "stm32g4xx_ll_adc.h" TEMPSENSOR_CAL2_TEMP is 110 degrees Thanks
Hello Guys,I tried defining STIROT_ILOADER_DEBUG in the main.h of the iLoader and then i built it and uploaded the Code via script after getting loaded only STiROT Application Logs are are printing but STiROT_iLoader logs are not printing, how can i resolve this issue?
Dear ST Forum members,I am developing the Prototype with STM32WL microcontroller to which I provide a schematic snippet below:+ SWD 1x5 goldpin connector:If the image quality doesn't let you inspect the nets, I will provide a better image later.The 3V3 voltage is stable, SMPS delivers beautiful 1,55V and I was able to connect to the uC and program it with ST-Link V2.Here's my problem: when I tried to program my Prototype with Nucleo's ST-Link (N-ST-Link) I was unable to connect to device. N-ST-Link has SW version of V2J46M32 and I use STM32CubeProgrammer Version 2.20.0 I connected VDD, GND, SWCLK, SWDIO and NRST signals between boards, clicked "Connect" and received following message:During debugging I checked the voltage of NRST pin. When N-ST-Link's NRST pin is disconnected the Prototype's NRST voltage is equal to 3.3V. When I connect both NRSTs signals, the voltage drops to 1,55V. When Prototype's NRST pin voltage drops for the first time the uC is still running (debugging diode is
I am using the NUCLEO-L433RC-P with the blue top switch (pin PC13) configured as a wake pin.When the switch is pressed, the MCU should wake, then turn the LED on, then shutdown.But for some reason the MCU wakes twice as observed by the following behaviour: Switch pressedMCU wakes (LED turns on)MCU shuts down (LED turns off)MCU wakes again (LED turns on)LED finally shuts down (LED turns off)This happens even though the switch is only pressed once. The switch has RC filters so its not a debounce issue, especially as it happens even if the switch is held down. My function Enable_PC13_Wakeup() clears flags etc before shutdown, so I don't understand why the MCU is waking twice. Source code is below.../* USER CODE BEGIN Header */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER COD
I have set PA3 pin as input with pull up mode. But testing this pin by multimeter I get high impendance state (0.5V) on it. Must be 3.3V (logical 1). I use stm32F417ZGT6.
Issue 1:file: hall_speed_pos_fdbk_sixstep.cfunction: HALL_TIMx_CC_IRQHandler()line: 393The prescaler is affected when UEV is generated by the function SixStep_StepCommutation().This function is called immediately after the prescaler is set,so the prescaler value is applied in the current loop, not in the next loop.Therefore, the prescaler does not need to be incremented by +2;incrementing by +1 is enough.Issue 2:file: stm32g0xx_mc_it.cfunction: TIM2_IRQHandler()line: 148When the prescaler is changed, it is affected by the update event, which is generated in software during commutation.If a phase shift is set, the update event is generated with a delay.As a result, the counter may run with two different prescaler values.
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.