Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I am trying to setup a local MQTT over a local network with port 1883 and B-U585I-IOT02A using the Nx_MQTT_Client example project. I have followed the steps in :https://community.st.com/t5/stm32-mcus-embedded-software/how-to-connect-stm32u5-b-u585iot02a-using-mqtt-to-local-mqtt/td-p/62128However I still get error: x10005 NXD_MQTT_CONNECT_FAILUREI have tried modifying the generation of code in CubeMX to not require crypto and TLS for the example project however the compiler screamed even more at me. Anybody managed to succsesfully setup MQTT over local network?I disabled firewall on my broker and attempted the communication across other networks, still same error.in my app_nextduo.h file I have set: #define MQTT_PORT NXD_MQTT_PORT // defined as 1883 non-tls in the client .h file#define MQTT_BROKER_NAME "" /* MQTT Server */ // I put the IP here in the form "192,xxx,xxx,xxx" have also tried using construct IP(192, XXX, XXX..)#define USER_DNS_ADDRESS IP_ADDRESS(1, 1, 1, 1) /
Hallo,for security reason I have to stop HRTIM generating 3-phase signal for PMSM motor.It works as described in RM0433 (37.3.23) with DBG_HRTIM_STOP = 1: when debugger stops MCU predefined "FaultLevel" appears on outputs as expected. HRTIM goes into STOP mode. So far very good but... The problem is: "This is permanently maintained even if the MCU exits the halt mode."How can I leave FAULT state of HRTIM on leaving debugger halt without writting debugger script?
In continuation of debugging the Ethernet ping test (from this thread) @Andrew Neil @bouazizm Main issue:When debugging the project, everything works well and i am able to ping the MCUWhen flashing the project, the ping test failsHere are the details of my stm32 cube environment.Operating system: UbuntuSTM32cubeIDE version details:Firmware version : 1.17.3I have attached the project for your reference.Main configuration changes for the project for a successful ping:In the ethernet module: RX and TX descriptors addresses are 0x2007c000 and 0x2007c0a0 respectively.In LwIP , Under General Settings, DHCP is disabled and static IP(192.168.1.125) and mask(255.255.255.0) are providedIn LwIP , Under Key options, MEM_SIZE is 16000 Bytes and LWIP_RAM_HEAP_POINTER is 0x2007c140In FreeRTOS module, the default task stack size increased to 3000 words.In the linker .ld file add .lwip_sec .lwip_sec (NOLOAD) : { . = ABSOLUTE(0x2007c000); *(.RxDecripSect
Hi,I have an stm32G0B1 that i'm working on. I want to use a timer "TIMER2" but the block diagram of the board doesn't not give the AP2B2 clock bus. I know with other boards is usually mentioned. Where do I go to look for it, as I have looked and I struggle to find it.
I am developing a system composed of multiple STM32-based boards organized in alayered architecture: six slave layers each with a nucelo f439zi perform data acquisition, while one master board still f439zi, manages synchronization and orchestration thought the timer signal, PWM output of channel 1 of TIM1 at 400khz: this signal is used to trigger the ADC of different MCU to have a synchronization across all system of sampling time.The power supply is Distributed centrally by the Master Layer with a DCDC converter (or lab dc power supply) through ribbon connectors, total length of 80cm :i actually have 3 power supply over a 16 pin ribbon cable: 3.3V, 5V, 29.5V.The PWM generated by the master layer has a separate Ribbon connector 14wires : 1 wire for PWM signal, 13wires to GND, that reaches all the 6 slaves boards Nucleo are connected to the 5V rail in parallel, and after connecting each layer of the system, VCC drops around 70mV for each layer, even the lab dc supply shows alw
Hello all, I've been using my STLINK V3 successfully for around half a year until it suddenly stopped working from one day to the next. When connecting it to the PC (no target) the green light is on and the red light if flashing forever. It does not turn orange like described in the manual, neither switch to constant red, as it was before. Windows it not recognizing it as an USB device at all (the first two times it showed something like unknown device, but never again since).My setup works with another STLINK V3 so I would exclude cable, USB port issues or similar. Any idea, what the issue here is, or how to fix it?
I'm using the STM32U031C8U6 with STM32CubeIDE 1.19.0 and can't figure out how LPTIM1 works.I created a new project and enabled LPTIM1 in Device Configuration Tools (Mode: Counts internal clock events). In the NVIC Interrupt table tab, I enabled the interrupt.In Clock Configuration, I enabled LSE clock (32768 kHz) and selected it on the LTPIM1 Clock Mux.I generated the code and modified the main() function as follows:int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_LPTIM1_Init(); HAL_LPTIM_TimeOut_Start_IT(&hlptim1, 320); while (1) { HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); } }HAL_LPTIM_TimeOut_Start_IT() enables the timeout function, sets compare register CCR1 = 320 and starts the timer in continuous mode.I expected the HAL_LPTIM_CompareMatchCallback callback to be called every 10 ms (320 / 32768 kHz), waking up the micro.This callback is actually triggered every 2 seconds according the value of the ARR register (by default
Hello, I wanted to use these screen from aliexpress : It uses MIPI DSI and Touch Screen. I have no idea yet if touch pins are doubled on both sides. But I don't know how to connect these pins in the devboard which looks like that on the back ... Any suggestion how should I interpret these pinouts and how to connect on this board ? I am a bit new to this MIPI standard stuff.
HiI am in the need to have USB working on the STM32U5G9DK2 board, however I specially do not need ThreadX, so I will configuring USBX in standalone mode. And I do not need to be using UART to complement my sample code as a lot of the sample codes found on CUBEIDE do.What I am looking for is to communicate the board with a terminal on my PC using the USB port rather than the ST-LINK.So far after configuring IOC and complementing main.c with some initialization, I am able to have the PC recognize the board as a Serial Device, which is half the battle. The problem now is figuring out how to send and receive data to and from the PC (I am using a Teraterm terminal). To compliment the information I am providing here, I started by getting the sample code Ux_Device_CDC_ACM, which uses ThreadX and USBX, from which I replaced the used of the UART and instead use both Send and Received Threads to communicate with the Teraterm terminal on the PC, which works well. My issue is that the overhea
Hi I am new to this tools but basically I have tried with 3 different boards STEVAL-SPIN3204 but I am not able to connect the board or do anything useful with it. I have connected the device through USB to my computer, initially LD1 and DL1 where on. The device is recognized as mass storage and there are two files on of which is FAILED with message"The interface firmware FAILED to reset/halt the target MCU" I have used STM32CubeProgrammer to try to connect and inspect the device. I also tried upgrading the firmware. This seems to made it worse since now the DL1 led does not turn off and the device seems to not be recognized at all at in STMCube32IDE. This behavior seems consistent with 3 boards, after upgrading the DL1 led does not turn on. I am able to compile the project but not load it. My board is rev2.1 STM32CubeIDE Version: 1.19.0Build: 25607_20250703_0907 (UTC) STM32CubeProgrammer release v2.20.0
Hi, I try to create a GATT server with a NUCLEO-WB15CC.I'm a beginner with STM32WB MCUs so I followed the Getting Started Series video and particulary : "STM32WB Getting Started Series: Part 12b, Lab. Receiving data from the phone" When its came time to test the firmware my device was not detected in ST BLE ToolBox mobile AppI tried to upgrade the BLE stack Firmware with "stm32wb5x_BLE_Stack_full_fw.bin" but nothing changed. Then I tried the example Firmware BLE_p2pServer and it's work.It's seems to be a problem links to STM32WB15. Indeed in the video they used a STM32WB55 and in the comment of the video other persons has the same problem when using a STM32WB15. Does anybody had this problem and knows how to fix it?Thank you
Hi everyone,I’m trying to chain two timers on an STM32U585 so that:TIM1 generates a PWM on PA8 at 125 Hz (2 ms high / 6 ms low).TIM8 acts as a 20 µs sampler: it should reset and start counting at the falling edge of the TIM1 PWM, then fire its Update IRQ after 20 µs.So far I’ve tried: // TIM1: 125 Hz PWM at 160 MHz / APB2 htim1.Init.Prescaler = 319; // 160 MHz/320 = 500 kHz → 2 µs tick htim1.Init.Period = 3999; // 4000×2 µs = 8 ms → 125 Hz // … TIM_MasterConfigTypeDef mcfg = {0}; mcfg.MasterOutputTrigger = TIM_TRGO_OC1REF; // TRGO on CCR1-match (PWM falling edge) HAL_TIMEx_MasterConfigSynchronization(&htim1, &mcfg);// TIM8: 20 µs sampling, slave-reset on TIM1_TRGO htim8.Init.Prescaler = 159; // 160 MHz/160 = 1 MHz → 1 µs tick htim8.Init.Period = 19; // 20×1 µs = 20 µs sample interval // … TIM_SlaveConfigTypeDef scfg = {0}; scfg.SlaveMode = TIM_SLAVEMODE_RESET; scfg.InputTrigger = TIM_TS_ITR0; // ITR0 = internal TIM1_TRGO HAL_TIM_SlaveConfigSynchro(&htim8, &scfg); H
Hello when i added PWM on TIM1 channel 2 the all code stopped working i tried uploading code by stm32programmer but it doesnt help im using Stm32h503CBT6
Hello,I have got STM32U5G-DK2 and i downloaded the example repository for the same. I build the example (Ux_Device_CDC_ACM) at the original location in Repository folder by opening it in STM32CubeIDE. It builds successfully but when I copy the same example code to another folder and import it in new workspace then I am getting the following error after building the project (Ux_Device_CDC_ACM): 11:06:51 **** Incremental Build of configuration Debug for project Ux_Device_CDC_ACM ****make -j16 all make: *** No rule to make target '/Middlewares/ST/usbx/common/core/src/ux_device_stack_alternate_setting_get.c', needed by 'Middlewares/USBX/UX Device CoreStack/ux_device_stack_alternate_setting_get.o'. Stop."make -j16 all" terminated with exit code 2. Build might be incomplete. 11:06:51 Build Failed. 1 errors, 0 warnings. (took 274ms)This is happening with any project I copy from original repository to my new workspace. I copy these projects just to leave original code untouched.Kindl
Hello,I am working on the STM32H743BIT6 ethernet communication. I am using the external PHY DP83TC814RRHARQ1 for my requirement. I am configuring in CubeMX as USER_PHY under platform settings of LwIP. How can i communicate via external PHY.? Does configuring the pins for this external PHY is enough or do we need to include drivers of DP83TC814RRHARQ1 in the software. Can you help me on this how to communicate with this external PHY.
I am experiencing issues with the VBAT pin on the STM32H753ZI Nucleo board. Specifically, the VBAT pin is not responding properly. I am using a CR2032 CMOS battery for RTC backup, but it is not maintaining the date and time as expected. When the power supply is off, the RTC does not hold and run correctly, but it resumes running once the power supply is restored. battery positive connected to VBAT and negative to GND. i have removed SB52. I have attached the IOC and main file for your reference.
Hello,in all examples for the STM32H7S78-DK - including the TouchGFX applications - the frequency for the external APS256XXN-OBR-BG PSRAM is set to 200 MHz:extmem_list_config[1].PsramObject.psram_public.FreqMax = 200 * 1000000u; But in the datasheet for the APS256XXN-OBR-BG, seehttps://www.mouser.at/datasheet/2/1127/APM_PSRAM_OPI_Xccela_APS256XXN_OBRx_v1_0_PKG-1954780.pdfit says that the default maximum read and write clock is 133Mhz, see page 16 and 18:It also says:"Write latency, WLC, is default to 5 after power up. Use MR Write to set write latencies according to writelatency table. When operating frequency exceeding Fmax listed in the table will result in write data corruption." Could the be a potential bug in the memory configuration of the STM32H7S78-DK board, which could lead to RAM corruption? Thank you and best regardsrk_iot
Hi, I tried adding APPKEY on the flash to read from bootloader to find if valid application there or not. I added as below in scatter file :EXCLUDE app_key.oAPPKEY 0x08043FF8 FIXED { ; 0x08013FF0 = last 16 bytes of 64KB appapp_key.o (.app_key)} and in app_key.c, below lines are added:__attribute__((used))__attribute__((section(".app_key")))const unsigned int APPKEY = 0xFEFFFEFF;But once code is built, changes done in scatter file are disappearing and also when I check in map file, app_key is not getting allocated in specified location of flash
Hi,I am using STM32G07 for the slave side, and another MCU for the Host side.I would like to implement the device firmware upgrade of the ST MCU, and controlled by the Host MCU.There is only support for UART communication between two MCUs.ST MCU Protocol version is V3.1, and the "Get Checksum" command is only supported for V3.3For the "Read Memory" Command, I tried using baud rate =115200 & 2 stop bits to read 256 bytes, which takes ~26ms for the UART part only. if read all 128K Bytes for Flash Image integrity checking, it takes at least 13.312sI tried to damage the .bin file image e.g last 32 bytes of content, and the MCU could run the Main application (the application would output UART Log regularly).Question:Any alternative suggestions or methods could check the flash image integrity faster?STM32G07 able to upgrade the Protocol version to V3.3?
Hello, I have been trying various methods of installing the ST-Link USB drivers on my Windows 11 Laptop, with absolutely no success. Here is the output I see when I try to run the installation batch file from the stsw-link009 download:When I plug in my nucleo board, this is what I see in the device manager:When I open the properties on the ST-Link device, it (obviously) says that the drivers are not installed. Needless to say, if I try to run a program form the Cube IDE, I get a "No-ST-Link Detected" message. Also, if I open a project on the mbed IDE while the nucleo is plugged in, the board does get recognized. The board is the F091RC, although I am not sure that's relevant to my issues. The pre-loaded blinky program does work as well. I am a beginner in this space, so please let me know if I'm doing something dumb. I've read and watched a lot of things to try and figure out, and everything I've found either completely skips over any issues with this (so presumably it isn't a normal i
can anyone give the example code to read pottentiometer values using SDADC in stm32f373vct6 . i have done configurations for it but it is giving only 32768 reading even though i am varying the potentiometer.
Hello, I have a STM32U585CIUA and generate a PWM with 125Hz 2ms high and 6ms low phase on TIM1 on PA2.I would like to start another PWM with TIM2 50Khz 1us high and 19us low on the falling edge of PA2, which is then stopped after 200 cycles.In all my setting attempts, however, TIM2 starts before TIM no matter how it is configured and even if I set the HAL for TIM2 after TIM1 in the code...Can anyone help me with this?Dave static void MX_TIM1_Init(void) { /* USER CODE BEGIN TIM1_Init 0 */ /* USER CODE END TIM1_Init 0 */ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; /* USER CODE BEGIN TIM1_Init 1 */ /* USER CODE END TIM1_Init 1 */ htim1.Instance = TIM1; htim1.Init.Prescaler = 319; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 3999; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.Repetit
Hi, Is there any code for driving vd55g1 in STM32N6570-DK? It is stated in STMicroelectronics/stm32-mw-camera that vd55g1 is supported, but I have not found the demo for its use. Could you please provide the demo?
I had a look at the published SBOMs for Series like STM32U5They all include the the package name, license, sometimes a supplier.And all have a BlackDuck-Component and BlackDuck-ComponentVersion.Hower, only a few external components have a cpe or purl entrySo I am wondering if ST has published any information about how we would use these BlackDuck-Component IDs? Is any information about these public, or is it an ST internal ID or do I need any subscription with BlackDuck to make a sense of it?Have you considered assigning CPEs or PURLs for all the packages in the Stm32cube package?
Hello everyone,in my current project, I'm working with a Nucleo H743ZI2 (with an STMH743ZIT6). My goal is to read audio data from MEMS microphones using DMA and DFSDM filters. The ultimate aim is to build an 8-microphone array, but for the first step, I only want to read data from a single microphone. And this is exactly where my problem lies: currently, no data is being saved in RAM. I suspect the problem is with DMA, as I've observed the following:DFSDM:The following bits are set in the DFSDM control register: DFEN (DFSDM_FLT enabled), RCONT (continuous mode), and RDMAEN (DMA channel enabled to read data for the regular conversion).The value of the RDATAR register changes continuously => data is being read by DFSDM.In the ISR register, REOCF (end of regular conversion) is set, followed by ROVRF (regular conversion overrun) => REOCF should be cleared by DMA (it might be cleared and set again, which goes unnoticed during debugging, but i don´t think so as the DMA is not sta
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.