Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi!In AN5289, on page 37, the sequence for writing to Flash memory is described, taking into account potential CPU2 access (semaphores Sem2, Sem6, and Sem7). What does the diagram for writing/reading option bytes look like? Is it the same?
I was examining the .ioc file from TouchGFX project and found out that LTDC_G0 is on PF5. However in the schematic provided for STM32N6570-DK (MB1939) LTDC_G0 is on PG12. I suspect the provided schematic is the correct one, and an error in the .ioc was never spotted as it is the LSB, but can somebody confirm this is the case?
How to develop STM32C091 series, use stlink V2 or stlink V3?
I am using the stm32wb55rev6 for my ble project.I created a new project based on the custom template provided by the ST. I am not able to print the messages on the terminal using the APP_DEBUG function.I am not able to send the data from the app to the stm only notify and enable and disable characterstics are working.Is there any specific reasons for not working.should i need to add any extra functions.Thanks.
Hi! We are developing a sensitive device using the STM32WB55, using in the M0+ the concurrent Thread+Ble binary (we use the concurrent because we'll need both Ble and Thread in the near future, althought the most important role is the Thread communication, and is the only one we are using right now). Thread works fine, but after some hours on the field (not in lab), the M0+ gets stuck in some state where it no longer ack the commands from our app in M4. Reseting the whole device makes it functional again, but it is not an opcion in the field. We need a way of reseting the M0+ without touching the M4, in order to make it function again. The state in which the M0 wont respond is simply it wont ack any command anymore after a while. It is not consistent, it could happen after 4h or after 12h. It is not reproductible in the lab, it only happens on the field. So we need to implement a recovery for when it happens. Please any hint is welcome.
Hi! I'm confused about the wiring for some of the pins on the STM32H7S3I8T6: Does the full-speed USB connection require an external high speed oscillator?There's a GPIO that senses VBUS from USB called "OTG_FS_VBUS." Currently, we have it pulled up to VBUS so that it will read high when USB is connected. However when USB isn't connected, it is left floating. Would that be ok? Thank you so much for the help!
Hi,I want my slave device to be able to sniff packets destined for other slaves on the same bus. At the moment, communication management is based on HAL with interrupts, and I can see when the master sends requests to me because I enter the address match interrupt. I would like to take a step back and see where a wrong address is discarded, before answering with a NACK.I want my slave to be able to understand when the packets are intended for another slave with a specific address and from there monitor the communication to sniff the information.Is that possible?I can't find where an address that doesn't match mine is discarded. Thank you
Hi, there is this example for using the DAC with DMA for the NUCLEO-U575ZI:https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/NUCLEO-U575ZI-Q/Examples/DAC/DAC_SignalsGeneration_DMAIn the current V1.2.0 of file https://github.com/STMicroelectronics/STM32CubeU5/blob/main/Projects/NUCLEO-U575ZI-Q/Examples/DAC/DAC_SignalsGeneration_DMA/Src/linked_list.cin line 61 it says pNodeConfig.Init.Direction = DMA_PERIPH_TO_MEMORY;Shouldn't it be DMA_MEMORY_TO_PERIPH instead?Best wishes,Sebastian
I'm currently trying to configure a project based on an STM32U375CGUxQ, but I can only "choose" the LDO, even though the package clearly shows the SMPS pins:I'm using the STM32U3 package version 1.2.0, STM32CubeIDE 1.19.0, build 25607_20250703_0907. Are there any prerequisites to being able to use the SMPS, and if so, what are they? NB: There doesn't seem to be a "Power saving mode" under the PWR category:
Hi fellas,(I am using a Riverdi touchscreen-> i have a dual core stm32) (i am working on the GUI part with TouchGFX Designer)Basically I am wondering if there is a way to execute a function in ScreenView.cpp, perhaps call a function in the presenter to interact with a peripheral, and force manually a refresh of the screen.I tried using presenter->foo() expecting TouchGFX to be a good boy and do a detour by the refreshing part before actually going in the function of the presenter, but it is apparently not. Ngl i haven't tried calling a function in the Model as i expect the same result.My question is therefore: Am i forced to make my application dual-core with one core handling the refreshing of the GUI and the other handling interactions with the peripheral?If not, what other ways are there? I tried manually calling TouchGFX::tick though i am convined it is not a good idea as ScreenView is already in the thread fathered by TouchGFX::tick, and if that's the solution i don't know w
I want to use Ethernet for STM32H573I-DK controller in RMII mode but it seems like H5 series doesn't have LWIP as middleware in STM32 IDE so I want to know which transceiver is this controller compatible with. Can i get a clarification on this?
Use example code BLE_Audio_HAP_Central to audio function. The Central may start the stream fail, though the BLE connect and GAP link returns are OK. and Once the stream start failed, the stream cannot be start forever, with the result "CAP Unicast Start Procedure is Complete with status 0x91". Compared with the normal process the GAP link lack of CAP event 0x06, 0x12. I have to use aci_gap_clear_security_db() then I can connect and start the stream successfully. And what's more, use aci_gap_remove_bonded_device() to remove the certain device and repairing cannot start the stream. It seems that there's some memory issues. log for stream start failed[10:10:48.442]·¢¡ú¡ó{A\0v³\0ÿÿ}¡õ [10:10:48.445]ÊÕ¡û¡ôaci_gap_terminate_gap_proc() returns status 0x00 HAPAPP_StopScanning() returns status 0x00 Selected device 0 aci_gap_create_connection() returns status 0x00 {A\0w³\0V˜}P_PROC_COMPLETE_VSEVT_CODE >>== ACI_GAP_PROC_COMPLETE_VSEVT_CO
Hi all,I managed to move my fonts to external serial flash.Now I want TouchGFX 4.25 to retrieve and use them but it doesn't seem to work.My question is this. Is it possible to do so, and if yes, is there some kind of appnote on this?Thanks
Hello,I'm working with a custom board that uses an external 12V supply for the VCC pin (gate driver supply) of STSPIN32g4. The VCC supply is interrupted by external circuitry whenever a fault is detected.The problem I'm encoutering is that when the 12V is removed the firmware gets stuck by continuously calling the interupt "TIMx_BRK_M1_IRQHandler" in the file "stm32g4xx_mc_it.c" and no other code gets executed.I tried to stop the timer calling this interrupt but without success. The goal is to remove torque to the motor by hardware as if being connected to an enable/disable input. Thank you in advance.
Current Sensing的这两个参数应该怎么填,该如何计算得到,或者有官方文档介绍吗?How should these two parameters for Current Sensing be filled in? How should they be calculated? Or is there any official documentation available?
HiWe are using STM32U073CC MCU in a project. Our development tools are:STM32CubeIDEVersion: 2.0.0Build: 26820_20251114_1348 (UTC) STM32CubeMXVersion 6.16.0 WE are using the HAL_RTCEx_SetWakeUpTimer_IT to wake up the mcu from stop mode. The code code works fine, bur some the RTC INT does not fire. Is there any official sample code for this application? Ou maybe some sort of bug with the new IDE? I also have noticed that HAL_RTCEx_SetWakeUpTimer_IT has a aditional parameter compared with am older ide. Coud you provide me some extre information on the correct usage of the WakeUpAutoClr parameter? BRGilberto
Hello,I have custom PCB based on STM32H563ZIT6 with external memory MX25L51245G(W25N01xx in schem.) and Riverdi display. I use ExternalLoader from https://github.com/cturvey/stm32extldr/tree/4dcb141b9cf6da2ee3fddf154d073bb6218a52e5/h5_mx25l51245g. Problem is that I cannot connect to the memory in CubeProgrammer. My aim is to completely program all code, images, texts and everything from TouchGFXDesigner I plan to use for pretty complex GUI so ex. mem. is necessary for me. I have attached my code and schematics to pcb. Things that seem to be right and working:- OCTOSPI1 configuration in CubeMX ( same as mentioned ex. loader need it )one HW problem is that CS pin is attached to PA15 pin which is not intented for OCTOSPI1 settings, so I put wire around 8cm from PA15(reset state) to PG6(same pin as display uses for CS, is it ok? display is disconnected at the moment) through 2k2 pull up resistor. Also tried to increase clock prescaler to 4-8 to stabilize connection. May thi
Posted on May 23, 2018 at 16:45Hello, I am trying x-nucleo-plc01a1. but there are two jumpers (J5 and J11) on the board. I can't find any document to describe how to use them. Anybody can help?thank you.
Hi,I have couple of questions regarding the LORA Tx numbers specified in the ds for the stm32wle5.we are using VDD=3.3V , 22 dBm , ~928 Mhz LORA. 32 Mhz TCXOwe are NOT using the SMPS . table 29 in the ds mentions that typical current for the stm32 device in Tx High power mode should be 120 mA.I want to know what should be the total current for all chip supplies . I have couple of questions:1. If I understand correctly - this table assumes all chip interfaces are disabled. if I have UART enabled and a few other io's toggling - How much current should I add to the 120 mA number ? (roughly) 2. since we are NOT using SMPS mode . How much current should I add to the 120 mA number ? (roughly) 3. General question - should I see different subghz current consumption when transmitting LORA vs when transmitting CW ? 4. Is there a more accurate way to estimate what should be the total chip current in LORA RX M
Hi, I'm using a custom board based on STM32U5G9J-DK1.I am using DSI Video mode with double buffering, but i had some issues in the DSI video mode.I am using CO5300 driver-based 466 X 466 Display which supports DSI video modeI successfully got a display displaying the actual GUI but it is slightly shifted from the left and from upper and bottom side as well I am attaching images here; the first image is the simulator, and the second is the actual display.Simulator Image:Actual Hardware:My configuration for clocks are as given belowMy MX_DSIHOST_DSI_Init() function looks like belowstatic void MX_DSIHOST_DSI_Init(void) { /* USER CODE BEGIN DSIHOST_Init 0 */ // Power up sequence HAL_GPIO_WritePin(PWR_EN_GPIO_Port, PWR_EN_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(BACKLIGHT_EN_GPIO_Port, BACKLIGHT_EN_Pin, GPIO_PIN_RESET); HAL_Delay(10); HAL_GPIO_WritePin(PANEL_RESET_GPIO_Port, PANEL_RESET_Pin, GPIO_PIN_RESET); HAL_Delay(10); HAL_GPIO_WritePin(VCI_EN_GPIO_Port, VCI_EN_Pin,
Hi,Is the I2C connector CN2 a standard pinout like PMOD, and if not are there any cables to convert it to PMOD, STEMMA or QWIC?Glenn
HiI am using STM32L562 and sampled and flashed the Zephyr OS example for TrustMode. I could not revert back the TrustZone therefore followed the information from the link https://community.st.com/t5/stm32-mcus-security/reverting-option-byte-configuration-after-tf-m-testing-in/m-p/584225/highlight/true#M5879However, after executing the first two commands the board doesn't respond to the command. Even with the hotplug mode, I can't set RDP level back to 0 STM32_Programmer_CLI -c port=SWD mode=hotplug reset=SWrst -ob RDP=0xAA UNLOCK_1A=1 UNLOCK_1B=1 UNLOCK_2A=1 UNLOCK_2B=1 ------------------------------------------------------------------- STM32CubeProgrammer v2.20.0 ------------------------------------------------------------------- ST-LINK SN : 0046003F3137510C33333639 ST-LINK FW : V3J16M8 Board : STM32L562E-DK Voltage : 3.27V SWD freq : 8000 KHz Connect mode: Hot Plug Reset mode : Software reset Device ID : 0x472 Revision ID : Rev Z Device name : STM32L5xx Fl
Hello,from recently I have a problem using STM32F407VGT6, moreover, I am unable to get consecutive conversions in the DMA buffer. For example I want to use Dual Regular Simultaneous ADC mode to obtain results from 4 channels (2 in ADC1 and 2 in ADC2). However, when I start my application only the first iteration is obtained, second part of the buffer is never filled(i.e. CHN3 and CHN4 are never read if CHN1 and CHN2 are rank 0 in ADC1 and ADC2).Setup:main(void)#include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN PTD */ /* USER CODE END PTD */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ /*
Hi.,Could anybody point me to a working example of a working basic IEEE 802.15.4 communication example, NOT Bluetooth, pure radio frequency in 2.4Ghz.I spent about 2 months trying to figure this out for my WB55 series without success and can't waste more time now.There are supposedly tons of examples on the internet, but all are Bluetooth, which I don't want. None for 2.4ghz RF.The https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Connectivity:Introduction_to_802_15_4 page is of now use as there is not example code. Thanks for any help or guidance.Steve
stm32-hotspot BOOTLOADER_USB_MSC_STM32G0 can be used as a good starting point for a USB MSC bootloader. The provided examples work, but if the application size increases, the bootloader will be erased, finally causing a hard fault.It took a me while to find the reason: After loading the application the bootloader erases the unused flash memory. Due to an error in line 145 of main.c the wrong number of flash pages to erase is calculated:flashErase.NbPages = flashErase.Page - 24flashErase.Page is the first page to erase. For small application sizes the number of pages to be deleted will be small enough to not exceed the bank size and everything seems to be fine. But if the application size exceeds about 104K, the number of pages to be erased will get large enough to wrap around and also erase the boot loader. To calculate the correct number of unused pages, flashErase.Page should have been subtracted from the total number of pages.I didn't test what happens if the app
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.