Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello everyone,I’m working on a custom board based on the STM32L4R9 with a 2.1" round 480×480 display from Newhaven, which uses the ST7701S controller. My goal is to get it running with MIPI DSI / LTDC and TouchGFX.So far, I’ve managed to display a solid color by manually filling a framebuffer. However, once I integrated TouchGFX and started rendering shapes, the lines appeared shifted. This makes me think the issue is related to timing parameters (HSYNC, VSYNC, VBP, VFP, HBP, HFP).The problem is that the display datasheet doesn’t provide typical timing values. I contacted Newhaven’s support, and they shared example code for the same panel but using the SSD1963 controller. Unfortunately, using those values didn’t work. Looking deeper into their example, I noticed that the comments mention one set of values, but the actual register settings differ. When I reached out again, they simply said the comments might be wrong, but the code should work. Not very helpful.Here is the example that
When I attempt to create a new project with TouchGFX Designer 4.18.0 using the STM32F469I Discovery as a board setup, the Create button gets to 88% and then consistently fails with the message "Error: Cannot create a file when that file already exists."The message seems completely misleading though. It also asks me to look at the TouchGFXDesigner.log for additional info. That log tells a completely different story. Roughtly halfway through the logfile, I find:2021-10-27 14:57:50,354 [10] INFO Utils.WebHandling.WebHandler: Downloading washer_demo_image_02.png2021-10-27 14:57:50,526 [10] INFO Utils.WebHandling.WebHandler: Downloading washer_demo_image_03.png2021-10-27 14:57:50,713 [10] INFO Utils.WebHandling.WebHandler: Downloading STM32F746G-DISCO_washerdemo.png2021-10-27 14:57:50,869 [10] INFO Utils.WebHandling.WebHandler: Downloading washer_demo_image_02.png2021-10-27 14:57:51,041 [10] INFO Utils.WebHandling.WebHandler: Downloading washer_demo_image_03.png2021
We have been playing with the NUCLEO-C071RB for a few weeks, waiting for our first revision of a board using the STM32C071KBT to be fabricated and assembled. We got most things going without issue, including USB CDC + HID. Power up of the custom board went smoothly in that there was no smoke, however getting basic things going has been a struggle. Initial notes:1. The MCU is connected to a DFP of a Microchip HUB (USB5744).2. One of the goals was to ensure the HUB could startup / enumerate even when the MCU was blank, and hopefully end up in DFU mode, for initial programming (just enumerated under the HUB vs direct connect to HOST). As such, we did our best to ensure pins were connected such that they do not trigger one of the other boot loops (and for example, get stuck in UART, etc.), or cause odd behavior with the HUB especially. We reviewed AN2606 about a million times. Issues and observations:1. We can't seem to get the MCU USB to enumerate (at all). D
Hi there! Apologies if this is not the right place to be asking this question, but I'm deep in the weeds writing my own motor controller from scratch, and have a question about timing:My setup uses the STSpin233 with three-shunt low-side current sensing, and an stm32f4 microcontroller. I am using freeRTOS, and have a single task dedicated to motor control. (I have no other tasks yet, but intend to have some other tasks for UI management and audio processing later).At the moment, the way I've structured things is:I have a timer that triggers simultaneous ADC reads of my three shunt resistors at the center of my center-aligned PWM waveformI have an ISR that fires when the ADC conversion is complete. Within this ISR, I release a semaphore. This is the only work done in the ISR.in my main while() loop, I pause to check for this semaphore. When it's released, I run my actual control loop (read from an angle sensor via SPI, FOC/SVM stuff, update PWM duties).I am running my PWM at 20kHz (so,
This previous thread refershttps://community.st.com/t5/stm32-mcus-products/stm32f4xx-does-going-up-a-package-pin-count-impact-pin-af/td-p/862282The 437 is curiously a very close superset of the 417. Apart from the extra 64k RAM, the only difference is which ADC channel is used to read Vbat. And of course the device ID is changed. This makes the 437 a very easy and useful upgrade from the 407/417.My Q is whether AF mapping is really identical, so that a 417 project can access the additional 437 peripherals (e.g. SPI4,5,6) by going to a larger pin count package.Comparing the data sheets, it does not appear that the 437 gives you any new peripheral access without going to a larger package i.e. it does not offer any new AF flexibility. For example you cannot access SPI4-6 on the QFP100.I am using the 437 for the extra 64k RAM. I check the device ID. This is 0x413 or 0x419 for the 417 or 437. If I detect the 437 I move the general stack 64k higher and fix up the Vbat measurement.
Split from Why there is no NUCLEO-WBA52CG projects in STM32CubeWBA?This is a new topic, by a new author.Dear @STTwo-32 I am struggling with STM32WBA52KG chipset, can you please give me some pointers?Everything is starting with our hardware team select STM32WBA52KG MCU because of the size and power consumption from documentations, and I am tasked with create a version of ble + standby power profile.I am using Nucleo-STM32WBA52CG, cubeMX6.9.0, cubeIDE1.12.0.When I tried the example HeartRate with sequencer setting CFG_LPM_STDBY_SUPPORTED (1)/****************************************************************************** * Low Power * * When CFG_FULL_LOW_POWER is set to 1, the system is configured in full * low power mode. It means that all what can have an impact on the consumptions * are powered down.(For instance LED, Access to Debugger, Etc.) * * When CFG_FULL_LOW_POWER is set to 0, the low power mode is not activated * *************************************
Hello STM32 Community,I am a newbie and facing an issue with my NUCLEO-STM32H755ZI board.I am unable to connect to the STM32H755 target using STM32CubeProgrammer, even though the ST-LINK appears to be working correctly,HardwareBoard: NUCLEO-STM32H755ZIDebugger: On-board ST-LINKUSB connection: CN1 (USB-A to Micro-B).SoftwareSTM32CubeProgrammer: v2.21.0OS: WindowsConnection mode: ST-LINK / SWDObserved BehaviorST-LINK is detected correctly by WindowsST-LINK Virtual COM Port is visible in Device ManagerTarget voltage ~3.27 V is shown in Cube programmer. Green power LED (LD3) is Red ST-LINK LED is blinkingError: No STM32 target found!Unable to get core IDIf your product embeds Debug Authentication,please perform a discovery using Debug Authentication
Title edited to clarify that STM32H7 Nucleo-144 boards is the subject.Table 5 on Page 20 of UM2407 contains erroneous info on the STDC14 connector. I am very sure that the descriptions for STDC14 pins 8 and 12 are wrong, maybe others aswell.
Hi,I've implemented a USBX Audio device correctly using ThreadX and the USBX Middleware on an STM32U5 (working as a speaker).I would like now, to implement a microphone using the same USBX Middleware. For that, I would like to figure out if there are some sort of examples where the microphone is implemented (including device descriptors).I'm seeing this old conversation https://community.st.com/t5/stm32-mcus-products/usbx-mic-streaming-on-wba65/m-p/851912#M288041, but no follow-up has been provided.I don't mind an example of any other microcontroller, but I would really love to see it implemented with USBX MiddlewareThanks
MCU: STM32F767ZI-NUCLEOSTM32CubeIDE Version 1.19.0Hello Everyone!We are trying to make the MCU enter DFU mode through firmware (without connecting BOOT0 and VDD). DFU mode works well, but we do not know how to determine USBD_DFU_APP_DEFAULT_ADD and USBD_DFU_APP_MASK (0x2FFE0000) in order to exit DFU mode in the following code(Line 37 in the code always fails.).typedef void (*pFunction)(void); pFunction JumpToApplication; uint32_t JumpAddress; 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 */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USB_DEVICE_Init(); /* USER CODE BEGIN 2 */ if(HAL_GPIO_Read
Originally a comment on the How to obtain and use the STM32 96-bit UID Knowledge Base article;Moved for better discussionHello,@MCU Support TD Can I query the following please (correct me if i'm wrong): "If you are not using HAL, then the CMSIS device header provides a definition for the address of the UID. Even without HAL, you have a uniform way to obtain the UID."uint32_t uid[3]; uid[0] = *(uint32_t *)UID_BASE; uid[1] = *(uint32_t *)(UID_BASE + 4); uid[2] = *(uint32_t *)(UID_BASE + 8); I believe this references the 0x04 and 0x08 offset from a reference manual, however this is an offset in bytes, and uid in this example is a 32bit variable.In this example are you not then offsetting by 4 times as much each time and actually missing most of the unique ID? I believe the actual code should offset by 1 32 bit object, i.e:uint32_t uid[3]; uid[0] = *(uint32_t *)UID_BASE; uid[1] = *(uint32_t *)(UID_BASE + 1); uid[2] = *(uint32_t *)(UID_BASE + 2);
Hello,We need to add WiFi connectivity to an STM32N6570-DK board and run Zephyr on it.Is that possible? Can you propose a solution? We have seen X-NUCLEO-67W61M1 expansion board that can work with STM32N6. But can that board be connected with the DK board? Thank you very much for any suggestion.Regards.
I’m trying to build a UAC2.0 (USB Audio Class 2.0) device on STM32H7, supporting: High-Speed USB 24-bit audio Playback + Recording Full-duplex, stable, low-latency operation After reviewing many threads here, I still haven’t found a complete or working reference. Previous Threads Don’t Answer the Core Question Here are some related ST Community posts with no clear resolution: Using STM32H7 SAI Slave Mode for USB Audio (UAC2.0) with DSD Format - no reply Getting TinyUSB UAC2.0 Multi-Channel Audio Working on STM32H7S78-DK High-Speed Port - TinyUSB marked as unsupported, redirected to X-CUBE-AUDIO X-CUBE-AUDIO: USB audio high speed not work with iOS - still unresolved. USB Audio Device/Host Class 2.0 Middleware support? - response was to use X-CUBE-AUDIO or USBX Across all of these, the same question remains unanswered: Is there a working UAC2.0 reference for STM32H7? What I Have Tried (and Why I’m Stuck) 1. X-CUBE-AUDIO-KIT Not to be confused with X-CUBE-AU
Hello,I am working with two X-NUCLEO-PLM01A1 PLC expansion boards, each connected to a different STM32 MCU board.Hardware setup:Transmitter MCU: STM32C092CBT6Receiver MCU: STM32G070CBT6PLC modem: ST7580 on both X-NUCLEO-PLM01A1 boardsBoth boards are connected over the same power lineProblem description:I am trying both DL mode and physical data transmission.Data transmission is not continuous.The receiver board does not receive correct data (data is corrupted or not received).The TX_ON and RX_ON LEDs on both X-NUCLEO-PLM01A1 boards remain LOW and do not blink during transmission or reception.The ST7580 IC replies on SPI/UART, but no proper PLC data transfer occurs.Additional observation:I also tried using the ST-provided API / middleware available on the ST website, but the transmission gets stuck with a transmission error and does not complete successfully.Observations:SPI/UART communication between MCU and ST7580 is working.T_REQ behavior has been checked.Despite transmission attempt
Hello Everyone, Since the STM32CubeMX .ioc file does not exist for the DAC_GenerateWaveform_TriggerHW example code (as usual), does anyone have suggestions/recommendations on the best way to recreate it? Seems like I need to make iterative guesses in STM32CubeMX and then see if the numbers start matching up in the original DAC_GenerateWaveform_TriggerHW example code? Thanks! C:\ST\STM32Cube_FW_H7_V1.12.1\Projects\NUCLEO-H7A3ZI-Q\Examples_LL\DAC\DAC_GenerateWaveform_TriggerHW\Src\main.c
Hi, I am using the ICM20948 IMU sensor, and currently, I am extracting data from the 3-axis accelerometer and 3-axis gyroscope. Now I want to get data from the DMP feature of the sensor to simplify my firmware. I am using STM32F103c8t6 to read data from a sensor with the help of the I2C communication protocol.Please help me out with how I can configure it and what is needed for it.
Can STM32L051 set LSE be LPUART clock source to wake up the MCU? If yes, how to configure.
Team, I have designed Custom Board with STM32F303Rb device and Having USB FS Communication and PWM Compare Output. I m Using The 8Mhz SMD Crystal (YXC make) : https://www.hxcyic.com/upload/202311/27/202311272250036173.pdf Datasheet States CL = 20 pF , Cs = 3 pF and ESR = 80 ohm. From this post : https://community.st.com/t5/stm32-mcus/how-to-select-a-compatible-crystal-and-load-capacitors-for-stm32/ta-p/780236 Deriving Excel Calculation , CL1=CL2 terms out 33pF. Which I populated On Board. Issue : Sometimes , I am getting Pulse missing Issue during the Run time...Not sure why I just want to Verify the CL Value I am using is Corect or Not ? Previously , I was Using Through hole part HC-49S Crystal with CL1=CL2=20pF. @mƎALLEm
I followed and reproduced the video https://youtu.be/NFljjd_vQGA.I reproduced it using an STM32F429I-DISC1 module, and it works.In Windows Explorer, among the files created by the TouchGFX generator, you can see the file tree of a CubeIDE project: /core, /drivers, /middleware, etc.However, the IOC file does not have the same name as the project.When you double-click on the .project file (as shown in the video, in the STM32CubeIDE folder),inside the CubeIDE environment you see a different file tree compared to Windows Explorer:The project name has become: STM32F429I_DISCO_REV_D01No /core/src and /core/inc foldersmain.c is located in /application/userNo main.hNo link to open TouchGFX Designeretc.What should be done to get back to a “standard” CubeIDE project?
I'm having the same issue on my NUCLEO-WBA65RI project. This problem specifically occurs when I try to use both X-CUBE-FREERTOS and STM32_WPAN. The project cleanly builds just fine if I only use one or the other, but as soon as I try to include both in a project I receive this "fatal error: crc_ctrl.h: No such file or directory" error. I am currently using X-CUBE-FREERTOS version 1.3.1 with CMSIS RTOS2 version 10.6.2. I can see in the BLE_HeartRateFreeRTOS project that there is a CRC_Ctrl folder generated under "Application/User/System/Config" that is not being generated under "System/Config" on my system, in addition to crc_ctrl.c/h not being generated under "Projects/Common/WPAN/Modules" on my system. Moved from this thread.
Hi all,I've created a new default project for the STM32N6 Discovery Kit, and set up a simple blinking application using the BSP LED functions. /* USER CODE BEGIN 2 */ BSP_LED_Init(LED_GREEN); while(1) { HAL_Delay(1000); BSP_LED_Toggle(LED_GREEN); } /* USER CODE END 2 */I've noticed that in the Application, HAL_Delay() runs roughly 2× too fast. For example, HAL_Delay(1000) only delays for ~500 ms. I can see this because the LED is blinking too quickly.In this Application, TIM2 is used as the timebase source (I presume because of ThreadX using SysTick).I looked at the TIM2 setup in HAL_InitTick() (inside stm32n6xx_hal_timebase_tim.c). The relevant snippet is: /* Compute TIM2 clock */ uwTimclock = HAL_RCC_GetPCLK1Freq(); /* Compute the prescaler value to have TIM2 counter clock equal to 1MHz */ uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U); /* Initialize TIM2 */ htim2.Instance = TIM2; /* Initialize TIMx peripheral as follow: * Period = [(TIM2CLK/1000) - 1
Hi,I am trying to configure the internal cooperators in the STM32F051 micro-controller, but in the .ioc file I am able to configure only one Comparator. I require three comparators for my application. Is it possible to configure multiple comparators on the STM32F051 development board? If so, could someone please explain how to configure multiple comparators in the STM32F051 micro-controller?
Hello!I have an MQTT project using NetX Duo, which publishes MQTT messages to a remote server. But, before it can do that, a secure connection must be established using TLS v1.2, which takes about 18-20 seconds (checked while debugging and stepping through the connect function). So, I wanted to find a way to make that process faster.I found this post on the forums, here (porting Mbed TLS to the STM32H5 platform with hardware crypto acceleration). But this raised some questions for me. Firstly, how to exactly implement this in the NetX Duo's TLS setup (if even possible)? And secondly, I am missing the AES option in the CubeMX settings - is that correct or I am missing something? I only have PKA, HASH, RNG and GTZC options.I checked the included files in the above linked post on how to port the mbedTLS, but was a bit overwhelmed as how would one implement it into the NetX Duo's TLS connection setup. I am using an RSA key(s) for the secure connection. I was hoping that someone might
Hi,I need help with latest X-NUCLEO-BNRG2A1 board firmware/software. The schematic available on ST website looks old as it shows R700 but it is unavailable on my board. On my board R117 has a zero ohm resistance connected. The D1 on the board does not turn On after Power ON.I have purchased NUCLEO-STM32F411RE and X-NUCLEO-BNRG2A1 boards.The STM32F411 with updated firmware is unable to talk to the BlueNRG2 board.The D1 on BlueNRG2 board remains OFF. The J10 pins remains shorted. I have tried shorting the J15 pins as well as swapping the J14 connections from pins 2-3 to pins 1-2.I do have ST-Link V2 debugger with me.Please help me download the firmware for ST website for the board containing IC: 8976C-BNRGM2SP so that I can use the BLE in different modes. My sample test code executing on sTM32F411 which fails with message hci_reset : FAILED (66)Please also suggest when and how to use stsw-bnrgui-v471, stsw-bluenrg1-dk, etc. and any other tool.Thanks and regards,Rajeev
Hello there,as wolfssl_connect is not getting out any ClientHello, I was wondering if it is due to the change of the memory?I am using an example as starting point. Unfortunately it is coming only with the fsbl.ld, so I made changes, so it access the main RAM:/* ****************************************************************************** ** ** @file : STM32N6XX_AXISRAM2_fsbl.ld ** ** @author : GPM Application Team ** ** @brief : Linker script for STM32N6XX Device from STM32N6 series ** 2048 KBytes RAM ** ** Set heap size, stack size and stack location according ** to application requirements. ** ** Set memory bank area and size if external memory is used ** ** Target : STMicroelectronics STM32 ** ** Distribution: The file is distributed as is, without any warranty ** of any kind. ** ****************************************************************************** ** @attention ** ** Copyright (c) 2024 STMicroelectronics. ** All rights reserved. ** ** This software is licensed under term
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.