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 configure STM32 Nucleo-64 G070RB Board as Modbus RTU Master to send commands to a slave and receive response. I have connected MAX485 - TTL to RS485 board. Powered with 5V, DE and RE connected to USART1 DE Pin. Board's A and B are connected to slave (VFD) at a distance of less than 2 meters.I am able to send commands and slave works fine. The response from salve received is not echo of the command as expected. UART reports Parity error and Noise error :1h and 2h => 3h.When the slave was connected to PC and same commands were sent using QModBus, slave works the same way (as expected) and response received is correct (echo of the command).UART1 configuration: huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_9B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_EVEN; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVER
Hi,using TouchGFX, I get the following error when I run the code.How can I fix this?Thanks***************************************************************Compiling simulator/main.cppCompiling touchgfx/framework/source/platform/driver/touch/SDL2TouchController.cppLinking build/bin/simulator.exem.AllocationBase 0x0, m.BaseAddress 0x60EA0000, m.RegionSize 0x370000, m.State 0x10000C:\Programmi2\TouchGFX\4.26.0\env\MinGW\msys\1.0\bin\rm.exe: *** Couldn't reserve space for cygwin's heap (0x60EA0000 <0x1A90000>) in child, Win32 error 0generated/simulator/gcc/Makefile:160: recipe for target 'build/bin/simulator.exe' failedmake[2]: *** [build/bin/simulator.exe] Error 1generated/simulator/gcc/Makefile:155: recipe for target 'generate_assets' failedmake[1]: *** [generate_assets] Error 2simulator/gcc/Makefile:32: recipe for target 'all' failedmake: *** [all] Error 2Failed
Hi everyone, I have an display driving issue causing some unwanted artifacts. Some context information about my platform. I'm running an STM32H7B0. My binary is stored on an external octospi (quad mode) memory (not just the resources of TouchGFX). My frame buffer is entirely in internal RAM. I have configured the LTDC to drive a 480x800 display at 16bpp. I have also enabled DMA2D with a M2M configuration. Finally, my system is running FreeRTOS as an OS. This all is set up with the CubeMX generator. The issue I am facing is that some image elements on my display seem to sometime flicker when invalidated. These elements will have some black lines through them. See attached image for the black lines though the round image objects on my display. Some points I have looked at so far: I am invalidating my cache after the generated hal performs the flushFrameBuffer. I have my MPU setup to avoid speculative accesses on my OSPI memory range. Any sugges
Hi STM Community Team,Good day! We are working on a project called DFMEA Analysis for flight products so, we kindly request the provision of the functional safety Document (Pin FMEA). Given the time-sensitive nature of the current project, we would greatly appreciate it if you could expedite the sharing these documents for the below listed item at your earliest convenienceS.NODesignatorPart NumberManufacturerData SheetFIT Rate DocumentRemarks1U16STM32WL5MOCH6STRSTMicroelectronicsYesYes
Hello!I am facing a problem when trying to connect to a remote server using NetXDuo and MQTT. We have a cloud service with which we want to establish a connection so we can send some data. I am basing my project on the example from the STMH573 MQTT Client. The exact problem I am facing is that when trying to establish the connection using the username and password, and the certificates an error occurs, when trying to secure connect. I get these two TSL alerts - alert level is 0x2 and alert value 0x28 (secure connection failed to be established). Using TLSv1.2.What I did:Converting CA certificate to the header file format openssl x509 -in ca.crt -outform DER -out ca.der # Then convert into the header file format using xxd.exe xxd.exe -i ca.der > ca.cert.hConverting client certificate to the header file format openssl x509 -in client.crt -outform DER -out client.der # Then converting it into the header file format xxd.exe -i client.der > client.cert.hConverting client k
Hi, I’m Lalin Prasad. I’m currently learning bare-metal programming using he STM32L433 MCU (STM32L433RCT6PU).While working with I²C communication, I interfaced a sensor successfully, but I’m not getting the correct output values.This is the UART terminal output — the proximity (PROX) value is always 0:UART OKI2C OK390CONF1 writtenCONF2 writtenVCNL ReadyPROX = 0PROX = 0PROX = 0Please help me understand why the proximity reading is always 0./*The below mentioned code is main.c*/ #include "timer.h" #include "i2c.h" #include "uart.h" uint16_t value = 0; int main(void) { set_clock(); uart_init(); uart_write("UART OK\r\n"); i2c_init(); uart_write("I2C OK\r\n"); uint16_t id=i2c_read(0x0C); uart_write_int(id); uart_write("\r\n"); // Bit 0 = 1 → PS enable i2c_write(0x03, 0x0001); uart_write("CONF1 written\r\n"); // 2) PS_CONF2 (0x04) — LED current = 10 mA i2c_write(0x04, 0x0008); uart_write("CONF2 written\r\n"); // delay for sensor startup for(volatile int d=0; d<2000
Hardware: STEVAL-STWINKT1B and NUCLEO-N657X0-QThe STEVAL supports Nano Edge Studio and stdatalog-pysdk , but this will not work when communicating P2P to a Nucleo. Are there example codes for the STEVAL where it communicates eg. via UART to other boards? The only resource I could find is fp-sns-datalog2/Projects/STM32L4R9ZI-STWIN/Applications/DATALOG2 at main · STMicroelectronics/fp-sns-datalog2 , is it difficult to implement a communication protocol using that? There were multiple example codes for the NUCLEO, so no problem there. I already have implemented UART IT buffer on Nucleo (struggled getting UART DMA to work), so it would be easiest if something similar could be implemented on STEVAL.
Hi all i have been working with LTDC module inside stm32 MCUs to drive an external parallel 24 bit RGB display , i integrated an LVGL UI inside this project but my output is kinda look like this i dont know what is causing it , . display is running at 11 mhz.i am using nucleo H7A3ZI-q dev board with cortex M7i asked in lvgl no response from them :sad_but_relieved_face: any help here i also tried to fill iw with two colors 50-by 50 theni got this so i think that problem is not with LVGL . <<<<<<<<<<<<update>>>>>>>>>>>>>>>>>>>i was able to get this output bu changing the startaddress from if i put 0x24000000 i get the misaligned one . but now the issue is if i integrate LVGL now while the startaddress is (uint32_t)framebuffer , i get nothing in display , if i chnage that to 0x24000000 i get the misaligned output of LVGL  
On an existing, working project developed with stm32cubeide 1.19.0 and the stm32h743zit developed with azrtosh7 3.3.0 that uses usbhs as the host for msc and midi devices, I need to add usbfs channel management to connect hid and midi, but I'm having significant problems configuring the system with stm32cubemx. I haven't found any examples online that support both USB channels. Has anyone tried using both USB channels and can give me some advice? During testing, I found that creating code from stm32cubemx 6.15.0 with both USB channels has many problems. I had to make some manual changes to the code created because it starts running, but only partially works.
Hi,I need some solution. Issue is stm32G0b1re nucleo board is detecting as Jlink device in device manager. But I want this to detect as STM stlink device. I have uninstall driver then it is decting as USB port. Even I have tried to install stsw-link009 driver. But somehow it is not installing driver. As I can't that in control manager. let me know what to be done to update driver so that I could see it as STM stlink device. Thank You
I am curious what dictates the operating conditions of the STEVAL-ESC002V1 to a 2-6S battery and 20A current capability? I would like to use this chipset and operate from an 8S battery. The specs state that the MCU is capable of operating up to 45V and a fully charged 8S battery would only be 33.6V. Therefore I would assume the MCU can operate at the voltages I need and what would need to change on the EVAL board to test at the increased voltages?
您好,请教一下,st-link v2连接电脑USB线束接错会不会损毁st-link? Translation: "Hello, I have a question. Will connecting the ST-Link v2 to the computer with the USB cable incorrectly damage the ST-Link?" In next time please use English language.
Hello,I have not found the maximum TRACECLK frequency of the STM32H725 in the documentation. It looks like it is generated by PLL1 with flexible division ratios and thus can attain values that are not realistic for I/Os (100 to 220 MHz for Speed 11 and 2.7 V ≤ VDD ≤ 3.6 V as per p.165 of DS13311).Is the maximum TRACECLK set by the maximum I/O output frequency or is it restricted to another value? Regards,Bernd
I am having a custom board having STM32N657I0H3Q interfaced with quad flash MX25R6435FM2IL0. I am unable to access (both read and write) to the flash MX25R6435FM2IL0. I have attached Saleae capture (configured the flash in single mode only for Saleae capture). Also, debug log of EMM running in FSBL. The eval board (DK board) is having MX66UW1G45G doing good. The logs looks like EMM could not access the SFDP structure.
Hello Everybody,Here are the software and boards in this case:1. MC workbench 6.3.22. STEVAL-IHM039V1/STEVAL-CTM009V1I have an I-PMSM motor, and I use the board (STEVAL-IHM039V1/STEVAL-CTM009V1) to run the ST Motor Pilot for spinning the motor. However, when I try to use the senseless mode, it always reports an error "Start up failure". Should I make some other configuration in ST Motor Pilot? Thanks!
Hello, I am reading 6.3.30 LCD-TFT controller (LTDC) section to interface with DS90C385A (LCD) or ADV7125 (VGA) Assume that LCD Clock (pixel clock) polarity is set to high. Ideally, we can expect rising edge of clock aligned to the middle of the data. But I can see there is a more time for setup and less time for hold. Refer the figure 46 of datasheet. Note: I am going configure pixel clock low for DS90C385A (LCD) and high for ADV7125 (VGA). Also, I need to ensure HW work till 150MHz clock.
Hi,I am using STM32H56x with OEMiROT_Boot example project, and I use MCUBOOT_SWAP_USING_SCRATCH to install application images, is there an API like boot_set_confirmed( ) can used by secure applicaiton code, or a confirmation flag in SRAM like STM32H7?Thank you,Snaku
Hi everyone, I’m debugging an SMBus issue between an STM32H7, an LTC4100 Smart Charger, and an RRC2054 Smart Battery. I’m trying to write to the ChargingVoltage() register (command 0x15), but the SMBus frames captured on the logic analyzer appear corrupted and often contain NACKs or unexpected STOP/START conditions. My write function is: static HAL_StatusTypeDef SMBUS_WriteWord(PSMBUSDESC pSMBUSDesc, uint8_t addr, uint8_t cmd, uint16_t value) { HAL_StatusTypeDef status; uint8_t buf[3]; buf[0] = cmd; buf[1] = value & 0xFF; // LSB buf[2] = (value >> & 0xFF; // MSB status = HAL_SMBUS_Master_Transmit_IT( pSMBUSDesc->SMBUSinst, addr << 1, buf, sizeof(buf), SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC ); while (HAL_SMBUS_GetState(pSMBUSDesc->SMBUSinst) != HAL_SMBUS_STATE_READY); return status; } The function returns HAL_OK, so the STM32 believes the transfer is successful.However, the logic analyzer shows clearly invalid SMBus traffic. These are examples
Hello, How to perform dual-core communication on STM32H747?
Hi,Using Designer 4.25, I copied a font to ./assets/fonts folder but it is not in the list"Solido Compressed W00 Bold.ttf"Name displayed by OS is "Solido Compressed W00 Bold" when open in FontForge Any idea how to make the Designer to recognise the font ? Thanks
Hey ST Team and Community Members,I am currently working with the STEVAL-ESC002V1 evaluation board, and i have downloaded the available documentation, including the schematic PDF, BOM, and Gerber files (.ART, .GTD, .DRL ).However, I could not find the original PCB design source files. It would be extremely helpful for understanding the layout, making modifications, or creating and derivative design.My question:Is it possible to get access to the PCB layout source files for the STEVAL-ESC002V1?If they are not publicly released,is there any alternative way to obtain them?Any guidance from ST engineers or community members would be greatly appreciated.Thank you.
Hello, I’m working with an STM32H723 MCU and have a question about Flash behavior when caches are enabled.Both D-Cache and I-Cache are enabled, and I’m not using any additional MPU configuration. I'm using D-Cache invalidate after a Flash erase operation.Do I also need to invalidate the D-Cache after a Flash write? Below is my current code. The D-Cache invalidate is commented out.everything works fine, but I want to prevent any potential issues in the future. static int32_t flash_write_words(uint32_t addr, uint32_t *data) { volatile uint32_t *flash = (uint32_t *)addr; const uint32_t num_words = FLASH_NB_32BITWORD_IN_FLASHWORD; // check erased for (uint32_t i = 0; i < num_words; i++) { if (flash[i] != 0xFFFFFFFFU) { return -1; } } // write words if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, addr, (uint32_t)data) != HAL_OK) { return -1; } // SCB_InvalidateDCache_by_Addr((uint32_t *)addr, 32U); return 0; }
I am encountering a build failure in the I2C_OneBoard_Communication_PollingAndIT_Init project after integrating the X-CUBE-MEMS1 software expansion pack. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma.c:185:10: fatal error: stm32wbaxx_hal.h: No such file or directory 185 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma_ex.c:478:10: fatal error: stm32wbaxx_hal.h: No such file or directory 478 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:46: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:48: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma_ex.o] Error 1 D:/STM32Cube/I2C_OneBoard_Communication_Polli
Hi all,I am trying to understand the relationship between CCRDY and CHSELR. Unfortunately, there is a bit of bad grammar in the Reference Manual on this subject, which is not helping...The manual seems to say (and some examples support this) the sequence is -ADC1->ISR |= ADC_ISR_CCRDY ADC1->CHSELR = adc_channel; while((ADC1->ISR & ADC_ISR_CCRDY) != ADC_ISR_CCRDY) {}; ADC1->CR |= ADC_CR_ADSTART; // Start the converstionThis sequence doesn't make sense. What would happen if there was an interrupt between clearing the CCRDY and writing the CHSELR?Can anyone explain the internal workings of the ADC on this topic?Kind regardsPedro
Hello!I try to use dual bank option on the stm32l476 (256kB) for implementing a custom bootloader. I want just read new program (bin) by custom protocol and write it to another bank. After that I want to switch the banks, reset mcu and start the new program (from another bank). Sounds easy!My actions:I built the program for bank1, load it to the address 0x08000000.Then I loaded the same program to the bank 2 by address 0x08020000. (either with the st-link utility or just by writing to the flash directly from my program, tried both of variants).After that I set option byte bfb2 from 0 to 1 (also either with st-link or just from program). But my mcu does not work at all.I`ve compared the program in both banks and original .bin file with the help of the st-link utility and found that there is no difference between it (no corruption during program).I`ve even tried to build program for bank 2 (with offset), but it also did not help.I`ve noted that when I change the bfb2 bit, the value in th
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.