Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi, I made a custom board and made a design in touchgfx. But my screen keeps being black.I want to confirm something because I think I made a mistake in my design. I selected the following display:MDT0130CIS-MULTI:https://www.farnell.com/datasheets/4321575.pdf?_gl=1*vshmrc*_gcl_aw*R0NMLjE3NzUxMjEwOTIuRUFJYUlRb2JDaE1JM1BxQnEtbk9rd01WdHprR0FCMXQ5Z2k1RUFRWUFTQUJFZ0xmZVBEX0J3RQ..*_gcl_au*MTM4MTIxMjM2Mi4xNzc2NDEzMzk5 Now in the datasheet from the ST7789V driver which is on board of the MDT0130CIS-MULTI display it says the following.Can I conclude from this that I cant drive this display with LTDC and Touch GFX?Kind regards, WilliamP.S.I included my .ioc file and main.c file if that could help.
Dear Team, We are planning to design a custom board based on STM32H745IIT6.We would like to request whether STMicroelectronics can provide any official reference design (schematic, PCB files, or recommended evaluation board) specifically for STM32H745IIT6. If there is no dedicated reference design for this exact part, please let us know: Which existing STM32H745/H747 Discovery or Evaluation board can be safely used as the hardware reference for STM32H745IIT6 Any recommended documents or design guidelines to follow for production hardware Kindly share the relevant links or document references. Thank you for your support. Regards,Sathiya
I would like to use some of your standard serial page eeprom'shttps://www.st.com/en/memories/standard-serial-page-eeprom.html The problem is that i don't understand how to use your memory loader with these chipshttps://github.com/STMicroelectronics/stm32-mw-extmem-ldr/tree/main The problem is that this library expects the chips to have 4 byte address and just doesn't work with 3 address chips. If you go through and just change all the call's to 3 byte address in the library i can make a STLDR file to talk to the chip. Just trying to see if there's a better way. You have this custom memory section that would help i just don't know how to use it? So i'm hoping for some help there.https://github.com/STMicroelectronics/stm32-mw-extmem-mgr/tree/main/custom
Hello everyone,I am currently trying to create a CMake based C-project for the ST Evaluation board STM32H757I-EVAL, that allows me to render a UI on the MIPI DSI connected display, that comes with it.Due to other work related requirements, I don't want to use TouchGFX, but will later try to add the LVGL framework to create our UI.However, at time of writing I have been unable to configure my project in such a way, that I can manually fill a Framebuffer and have that have any effect on the display. I have created a github repo with a "minimal" example of the configuration efforts so far.A "short" overview:I tried to create said CMake project through the STM32CubeMX code generator, and after a lot of trial, error and misunderstanding what is and isn't generated, I added the ST libraries for the external SDRAM "IS42S32800J" as well as the display driver IC "OTM8009A" and tried to configure the clocks and configurations of the following components:GPIO of the attached display pinsFMC to en
Hello,there are different statements on the minimum operating voltage for LoRa operation.STM32WL5-PWR paper says 1.95V,STM32WLE5 ref manual says 1.8V (section 5.3.3 Transmitter).What's correct?
Hello everyone, I have a NUCLEO-H755ZIQ board and I am trying to use the HRTIM to output a 50Hz pwm signal. I hook the output to an oscilloscope and I see that the pulse has a period of 19.2ms instead of 20ms, meaning that while I have configured the clock for the HRTIM to run at 2MHz (meaning that it needs 40000 ticks to complete a period) it runs at 2.6MHz. Can anyone help me understand what am I doing wrong? I have attached the .ioc file. Thanks in advance!
Hi, I’m working on a custom board based on STM32H757BITx using an external NOR flash Micron MT25TL01GBBB8ESF-0AAT TR (Dual bank with Quad Lines)Current usageAt the moment, the external flash is mainly used to store UI assets (images/fonts/etc.) for a display. I’m not using the full flash capacity, so I’d like to use an unused region to store a small persistent structure (configuration/status/log header).To keep things organized, I created a partitioning scheme using the linker file, reserving separate address ranges:UI assets region (read-only at runtime)User structure region (needs occasional write/erase/program)How it’s configured right nowSince up to now I only needed runtime reads, the flash is configured in Memory-Mapped Mode (DTR, QPI). I enable it with:MT25TL01G_EnableMemoryMappedModeDTR(&hqspi, MT25TL01G_QPI_MODE);This works great for reading UI assets through the mapped address space. ProblemI now need to write into the user structure region, but I unde
Dear STM32 MC Support Team, I recently purchased the B-L475E-IOT01A IoT development board for my project. I am currently trying to interface it with a BME668 environmental sensor and an AS7265x Spectral Triad sensor. However, I am facing an issue while attempting to view the output through a serial monitor. Despite trying multiple serial monitoring tools, both online and offline, I am unable to receive any data output from the board. I would greatly appreciate your guidance in resolving this issue. Any support regarding configuration, setup, or troubleshooting steps would be very helpful for my project. Thank you for your time and assistance.
I'm trying to compile a basic blinky application for the N6 and failing. I open the latest CubeIDE, import the GPIO_Toggle project (or any other one for that matter) and try to build. I get an error about no rule to make target. Please provide guidance on how to build the basic examples 13:47:52 **** Build of configuration Debug for project GPIO_InfiniteLedToggling_Init_FSBL **** make -j11 all make: *** No rule to make target '/Users/workspace/STM32CubeN6-git/Drivers/STM32N6xx_HAL_Driver/Src/stm32n6xx_ll_exti.c', needed by 'Drivers/STM32N6xx_HAL_Driver/stm32n6xx_ll_exti.o'. Stop. "make -j11 all" terminated with exit code 2. Build might be incomplete. 13:47:52 Build Failed. 1 errors, 0 warnings. (took 83ms)
HelloCurrently I am working with NUCLEO-N657X0-Q by using STM32CubeIDE_2.1.1 STM32Cube_FW_N6_V1.3.0MxCube v6.17.0Trying to investigate and migrate CDC ACM feature in to the my own project. As basis I am using Ux_Device_CDC_ACM Example provided by ST as reference.It was discovered that Ux_Device_CDC_ACM example would not work properly after MxCube project regeneration -- it goes to the HardFault_Handler() at some point (not defined currently at which point)The investigation showed that the issue is connected with the Optimization level (MxCube updated STM32CubeIDE project files) just only for the one single source file: "stm32n6xx_hal_rcc_ex.c". If optimization level is set to "-O0" for the mentioned file -- HardFault_Handler() is observed. By changing it to the "-O3" -- the application works successfully.Could you please explain this "hidden" dependency, and what is the reason of this?
Hi all,I designed a custom STM32 board that powers up, but the firmware starts only after I manually press the reset button. Once reset is pressed, everything works normally. The clock source is an external crystal, and BOOT pins are configured with resistors. Questions: Should I suspect reset timing, clock startup, or BOOT pin state first? Would increasing reset delay with an RC network help? On the PCB, how close should crystal traces and load capacitors be placed to the MCU pins?
Hi,we are using the internal SMPS for core voltage generation.VDD, VBAT and VDD18AON are on 1.8V. My question is if I can also power up the other 1.8V lines (VDDSMPS, VDDA18USB, VDDA18CSI, VDDCSI,VDDA18ADC and VREF+) simulteanously with VDD, VBAT and VDD18AON or does this harm the device?So I would like to power up the 1.8V lines all together to get rid of an additional load switch on the PCB (for delaying the "late" 1.8V lines) due to space constraints. Is it possible? Thanks a lot!
During the initialization of STM32 UHS-I, it has an IO output of 3.3V. After initialization, it outputs at 1.8V. However, I noticed that the external voltage switch transceiver is powered at 1.8V on the host side. I'm afraid it might burn out the external voltage switch transceiver. Before initializing the SD card, can the SDMMC internally switch to a 1.8V control signal and directly input it to the external voltage switch transceiver? I noticed that the voltage switch transceiver A side recommended in <RM0433> is also powered at a fixed 1.8V. Is there another way to use the SDMMC
Hello ST Community,I’m working with the STM32 Nucleo-N657 board and need a way to execute my application after flashing to external memory without manually toggling the BOOT1 jumper on the board.What I’m Doing Now:BOOT1 jumper is set to HIGH for development (DEV boot mode)I have a simple LED blink application built with GPIO configured in the FSBL context The code runs as expected in DEV mode (debug mode of STM32CubeIDE)I then flashed the signed binary in external memory using STM32CubeProgrammer and External Memory loader for Nucleo-N6 board at address 0x70000000. Then, I switched BOOT-1 jumper to LOW and reset the board. The code runs as expected from external memory.Problem:I have N6 board connected to a remote PC and won’t always have physical access to toggle the BOOT1 jumper and press reset.I would like to know:Is there a programmatic or configuration-based way to run the program automatically after flashing, without needing to change the BOOT1 jumper man
Hello,I am using a STM32WL55 UFQFPN48 in an application. I am only using the high power output (up to +22 dBm) and only plan on transmitting with this device.I want to transmit in the 420-440 MHz range, but there does not seem to be any load-pull analysis data from within AN5457 which would give output impedance at this frequency. I can only find data for higher bands. Is this data found somewhere else? I would like to use it for simulation and calculation.Best
Hi,We were attempting to control a high-voltage BLDC motor using the EVSPIN32G06Q2S1 evaluation board. While following the Getting Started procedure described in UM3394, the board got damaged during the power-up stage.Below are the steps we followed and the observations we made.Steps performedGenerated firmware using Motor Control Workbench.Flashed the firmware to the evaluation kit using the Nucleo board’s ST-Link.The digital section was powered using the 3.3 V supply from the ST-Link.Power-up observationsWhen only AC power was applied, the power stage turned ON, but the logic section was not powered.When VDD was supplied via ST-Link (3.3 V) and AC power was applied, the board was damaged:The 5 A fuse (F1) blew.The 0 Ω resistor (R29) burned.VDD and GND are now shorted.QuestionsCould someone clarify the correct power-up sequence for this board when using ST-Link for programming?What is the purpose of R29 shorting the logic ground and power ground ReferencesUser Manual: UM3394Eval
Dear, @halfhalf Post Edited by ST moderator to apply source code formatting and translate from Chinese to English to comply with the community rule:Best regards,Gyessine------------------------------------------------------------------------------------------------------------The STM32G474R datasheet does not mention the BOOT1 pin.If the BOOT0 pin of STM32G474R is set to high, where does the program start?If the BOOT0 pin is set to high and the BOOT1 pin is set to high, the program starts from SRAM. Is the program size limited by the size of SRAM? If a bootloader program and a main program are written, with the bootloader starting at address 0x20000000 and the main program starting at address 0x08000000, can this solve the issue of jumping from SRAM at 0x20000000 to flash memory at 0x08000000, so that the main program size is only limited by the size of flash memory?----------------------------------------------------------------------------------------------------------
Hello.I'm trying to work with the B-G431B-ESC1 board.I've assembled a prototype consisting of the specified board, a T-Motor MN3510-13 KV700 motor, a 13*4.4L propeller, and a 4S battery. I'm using MC SDK v6.4.1.At first glance, everything seems to be working fine. The motor starts with the specified propeller and runs fine up to about 7500 RPM.Then problems begin as the RPM increases. Depending on the battery's discharge level, i.e., the bus voltage, at certain RPMs the program seems to lose control of the motor. The motor revs up, and RPM, current, and power fluctuate. I understand that at such RPMs and under such a load, the modulation index is high and approaches 100%. I'm essentially starting to hit the limit. But this response doesn't satisfy me. Previously, I tested this motor with the same propeller and battery using the STEVAL-ESC001V1 board. I approached the same limit, but there were no oscillations. The motor simply stopped accelerating when it reached a certain RPM. For exa
I'm faced with connecting a (piano) keyboard to an MCU using a number of columns and a number of rows.The principle is shown in the attached photo. I've read approaches where the coulmns are pulled to low while the rows are inputs that are sensed.Am I right that with the given arrangement it would be appropriate to set the columns to "HIGH" and sense the rows whether they are "HIGH"? Excuses, forgot to say which MCU: it's an STM32F103C8T6 here.The diodes are common practice to avoid so called "ghost hits" when multiple contacts are actuated.
Hi, I am looking for a microcontroller in the STM32F103 series or a similar Cortex-M3 series for my satellite research. I need a specific type (full part number would be best) that has been used on a satellite that has already flown in space. Thank you.
Good day,I want to measure the VBAT voltage of a STM32WL31 using its ADC. I setup the ADC channel as follows using the ST HAL driver:ADC_ChannelConfTypeDef ConfigChannel = {0}; ConfigChannel.Channel = ADC_CHANNEL_VBAT; ConfigChannel.Rank = ADC_RANK_1; ConfigChannel.VoltRange = ADC_VIN_RANGE_3V6; ConfigChannel.CalibrationPoint.Number = ADC_CALIB_POINT_1; ConfigChannel.CalibrationPoint.Gain = LL_ADC_GET_CALIB_GAIN_FOR_VINMX_3V6(); ConfigChannel.CalibrationPoint.Offset = LL_ADC_GET_CALIB_OFFSET_FOR_VINMX_3V6(); if (HAL_ADC_ConfigChannel(&hadc1, &ConfigChannel) != HAL_OK) { Error_Handler(); }I seem to be getting correct ADC measurements (actual=3.0V, adc_measured_&_converted=3.15V), but the detail seems to be sparsely documented in the device datasheet and manual, so I just want to check a few things: Q1: I am not sure how the calibration point number relates to the measurement - when would one use ADC_CALIB_POINT_2 etc? Q2: What is the reference voltage used by the
Hello Team,We are developing custom board using STM32N657X0H3Q MCU. I could not find information regarding GPIO status in datasheet during boot mode, sleep mode, stop mode and standby mode. It will be helpful for us if you can share information with us.Thanks
Hello everyone,I am developing a firmware for an **STM32U5** microcontroller using Azure RTOS (ThreadX / USBX). I am implementing a USB Composite Device with two classes: **CDC** (Virtual COM Port) and **MSC** (Mass Storage Class). The MSC is interfaced with an eMMC using an 8-bit bus for data communication.I am facing a persistent issue that I cannot seem to resolve: the device drops the USB connection after about 5 to 10 minutes of operation. By debugging the code, I noticed that the disconnection is triggered because the device eventually calls the HAL_PCD_DisconnectCallback() function.My main concern (and source of confusion) is that this behavior is highly OS-dependent. For instance, on my dual-boot PC, the device works flawlessly without a single disconnection on **Ubuntu 22.04**, but it consistently crashes/disconnects on **Windows**.### What I see on Windows (Event Viewer)Right before the disconnection occurs, Windows throws several SCSI timeout errors in the Event Viewer. Spec
Hello everyone, I am trying to bring up a NetX Duo TCP Server on the STM32H755ZIQ Nucleo board using Azure RTOS ThreadX + NetX Duo, but I keep running into issues during initialization and runtime. Unfortunately, I haven't been able to find any fully working examples for dual-core H7 devices using NetX Duo. Most examples online are either for single-core MCUs or for different boards. Here is what I am trying to achieve: STM32H755 Nucleo board M7 core running ThreadX + NetX Duo Basic TCP server (listening on a port, accepting connections, sending/receiving data) Using STM32CubeMX for configuration LwIP is NOT used — only NetX Duo Ethernet driver: nx_stm32_eth_driver (CubeMX generated). It seems like the current CubeMX-generated NetX Duo code for the STM32H745/H755 series might be incomplete or not fully compatible. My questions: Has anyone successfully created a NetX Duo TCP Server project on the STM32H745/H755 Nucleo boards? Is there an official working example
Hello dear community!I've migrated from F7 to H7, everything fine so far.To save CPU time I don't want to use HAL for sending two SPI bytes.My F7 transmit SPI code was very simple and perfectly working :SPI6->DR = byte_0; SPI6->DR = byte_1;But on the H7, the same code doesn't work :SPI6->TXDR = byte_0; SPI6->TXDR = byte_1;In both F7 and H7 projects, this is always working (but time-consuming) :HAL_SPI_Transmit(&hspi6, const_cast<uint8_t*>(buffer), 2, 1000);Do you know why bypassing HAL is not possible on the H7 ?Thanks!Jean
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.