Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello everybody I'm building the device with power delivery sink function. I need the 21V (PPS). I done the configuration with STM32CubeMX and wrote some code in STM32CubeIDE. Unfortunately, after about 14 s of estabilishing connection, the source send hardware reset. What is the problem? In the attached file is the trase from STM32CubeMonitor-UCPD. I use STM32CubeIDE v. 2.1.1 and STM32CubeMX v. 6.17.0. void USBPD_DPM_SNK_EvaluateCapabilities(uint8_t PortNum, uint32_t *PtrRequestData, USBPD_CORE_PDO_Type_TypeDef *PtrPowerObjectType) { /* USER CODE BEGIN USBPD_DPM_SNK_EvaluateCapabilities */ //DPM_USER_DEBUG_TRACE(PortNum, "ADVICE: update USBPD_DPM_SNK_EvaluateCapabilities"); USBPD_SNKRDO_TypeDef rdo; rdo.d32=0U; rdo.ProgRDO.ObjectPosition=6U; rdo.ProgRDO.OutputVoltageIn20mV=1050U; //21V rdo.ProgRDO.OperatingCurrentIn50mAunits=60U; //3A rdo.ProgRDO.NoUSBSuspend=USBPD_ENABLE; rdo.ProgRDO.USBCommunicationsCapable=USBPD_ENABLE; *PtrPowerObjectType=USBPD_CORE_PDO_TYPE_APDO; *Ptr
hello, where can i download win11 STM virtual com port? i install both VCP_V1.5.0_Setup_w7_x64_64bits and W8_x86_32bit all not working ! i din seeSTM Virtual Com port at device manager! only STM STLink visual com port appear ...
Hi, I’m using a NUCLEO-144 (STM32H563ZIT6) development board with only the board USB STLINK-V3EC port connected. TRACE and DEBUG are enabled with Serial Wire in the configuration file, and printf is routed through ITM: int _write(int file, char *ptr, int len) { for (int i = 0; i < len; i++) { ITM_SendChar((*ptr++)); } return len; } SWV is enabled in the debug configuration, the core clock is 250 MHz, and the SWV window (port 0) shows output correctly in STM32CubeIDE. When I switch to an external ST-LINK/V2 and connect NRST#15 / SWDIO#7 / SWCLK#9 / GND#20 / TARGET VCC#1 / VDD3.3 V#19, programming and debugging work, but the SWV window shows nothing in the STM32CubeIDE. The reason for using ST-LINK/V2 for SWV debugging is that on our product’s onboard MCU, only VDD, NRST, SWDIO, SWCLK, and GND are exposed. Could anyone explain why SWV output does not appear with ST-LINK/V2? Thanks.
Hi everyone,I’m currently working on a project using an STM32 Nucleo L476RG and a Velleman VMA302 Bluetooth module (HC-05 type), and I’m trying to send data over Bluetooth to my Mac.I configured USART1 at 9600 baud in STM32CubeIDE, and my code is continuously sending a simple message like "Hello". The module is powered and appears to be working (LED is blinking, pairing works with my Mac).On macOS, I can see the Bluetooth device and pair with it successfully. I also see the serial port (e.g. /dev/tty.HC-05-xxxx), but when I try to read data using the terminal command:screen /dev/tty.HC-05-xxxx 9600I don’t receive anything.I’ve already checked:TX/RX connections (crossed correctly)Baud rate (9600 on both sides) Bluetooth pairing (successful)What I’m trying to achieve:Send data from the STM32 to my Mac via Bluetooth and read it as a serial stream.My questions:Is there something specific to configure on macOS for Bluetooth serial communication?Could the issue come from the STM32 confi
I have a STM32WB55 board where I have two I2C connections:1. LSM6DSO IMU2. TCA9548A with downstream I2C to hall sensors The TCA9548A I2C multiplexer does not ACK when addressed. The firmware scans 0x70 (this should be correct already)–0x77 and gets no ACK. The LSM6DSO IMU on the same MCU works, so the MCU is fine; only the TCA9548A path fails. the A0, A1, A2 are all grounded, RESET pin is pulled up to VCC with the appropriate resistor, VCC and GND are wired correctly as well (~3.3V). TCA on PB8 (SCL) and PB9 (SDA) pins of the STM32WB55, each with 4.7k pull-up resistors to VCC. I even changed the PB8 PB9 pins to software I2C and back to hardwawre I2C, but no luck; I did even deeper diagnosis, and it is just that TCA9548A never ACKs at any address 0x70–0x77. The data is collected via BLE, the exact steps since I obtained the PCB are as follows:1. Upgraded firmware on:> FUS: stm32cubewb-v1-24-0\\\\STM32Cube_FW_WB_V1.24.0\\\\Projects\\\\STM32WB_Copro_Wireless_B
Hi I would like to check if it is necessary to call MX_RNG_Init() after the MCU exits STOP MODE to reconfigure the RNG? BR Gilberto
Hey all, I've used this tutorial: https://youtu.be/suMytEyQTP4?si=jLtyF5uH1Qd6zpYvto run TouchGFX on several different MCUs/boards such as the black pill or NUCLEO-F446RE. However, I simply cannot get anything to display when I setup TouchGFX on my NUCLEO-WL55JC2. I'm unsure if there is something I'm missing that makes it unfeasible or much more difficult to get it running on the board, but I'm at my wit's end after debugging for hours and finding no issue. The code compiles and programs to the board fine, and I've verified all connections as well as parameters, and I am at a loss as to what to do. If anyone could help I would greatly appreciate it. (Note: I've tried in single core setup to get it to work as well and that did not seem to solve the issue.)
I downloaded the STM32C5 software package from st.com, but I am unable to use IAR. How can I import the CMake project?
Hello,in our design with STM32H753ZIT6 I've adjusted the C0G load capacitors on the LSE 32.768 kHz crystal so that the real-time clock is now very accurate (less than 1 second error in 24 hours). I've always performed the calibration in VBAT mode at a voltage between 2.3 and 3.2 V.However, now I've noticed that in normal VDD mode with active controller, the real-time clock is running significantly too slow, with an error of 90 seconds in 24 hours. I've ruled out the VBAT supply voltage as the cause. Any ideas what could be causing this large error in normal VDD mode?Thank you!
Hi ,Recently I got a NUCLEO-C051C8 board and tried to connect it to windows and program it using STm32CubeIDE but it does not show that st-link is connected , ST-link on board blinks RED continuously. Cant install it ( installation goes through , but cant see it in device manager ) using stsw-link009( https://www.st.com/en/development-tools/stsw-link009.html?dl=redirect ) Cant connect using STM32CubeProgrammer. Tried 2 USb cables , various ports of pc but in vain. Can someone please help ?
Hi For some of my project, I need to measure the power consumption of the STM32N6570-DK while running a model on the CPU only versus an NPU + CPU accelerated workload. I am following the guide 1. How to measure power on the STM32N6 - STMicroelectronics Community 2. STMicroelectronics/x-cube-n6-ai-power-measurement: An AI software application package implementing low-power optimizations and enabling power measurement on STM32N6 DK board. Based on these documents, I plan to measure the current via CN2 pins 3 and 4 while powering the board through CN6 (USB-C). My Question:Does measuring current at this point (CN2 pins 3 & 4) isolate the consumption of the NPU and CPU (VDDCore)? Specifically, I want to know if this measurement will include the power draw from the camera module and LCD display if they are active in the same project. Any guidance on isolating th
Hello all,I've been using this U5 chip for a couple of years but I am just now trying to update all of the packages to start working on the project again. I have the U5 firmware at 1.8.0, AZRTOS-H7 at 3.5.0 (I'll explain why I mention that), FileX is 6.4.0 and the CubeIDE is 2.0.0.When I started this project, I was using an H7 chip and that is where the Azure implementation started. Now things seem integrated and those choices in the software packs selection in CubeMX don't seem to matter...I assume. The H7 package is the one still loaded to my hard drive. I've tried creating a new project and setting everything up again but nothing has changed from my original project. I tried to apply some U5 patch with version 2.2.0 or something like that. MX took it and made it disappear into the void. Again, maybe I don't need to care about manual package setup anymore.ThreadOS works great and everything has been working great for me. I added USBX, F
Hello i use STM32G070CBT6 with PD0 and others pins.PD0 as input pin with no internal pull-up/down with extrenal 10k pullup gives only 0.7V, when i set the pin to output and set state to high there is 3.3V.Where is the problem?
Dear ST Community,I am currently migrating my Firmware from STM32H723VG to STM32H563VI. I have problem with Internal Temp Sensor. Based on Reference Manual on both MCU reading temperature is the same, but it doesn't work as it should.When on STM32H7 I got about 750 (24 degree Celsius) on reading ADC from TEMP Sens, on STM32H5 I have around 100.I tried both with and without cache (ICache and DCache), with Bare Metal and Zephyr RTOS code. In every configuration it is not working. I tried also on different MCUs, so it shouldn't be part itself.It worked with Nucleo H563ZI, but doesn't with H563VI.What else can I do?
According to Page 1354 of rm0394, setting LDMA_TX bit must occur only when SPE=0.However, from my reading of the function HAL_SPI_Transmit_DMA, this bit may be set or cleared when the DataSize <= 8bit and MemDataAlignment == HALFWORD, even if SPE=1.This looks like a bug.Am I correct?STM32Cube MCU Package for STM32F4 STM32L4, version 1.28.3
Hi I have a USB-C Connector that will be used for Power Delivery Sink for charging and USB Full Speed Mode(12Mbps) for communicating with onboard STM32F767ZIT6. But only one thing will happen at a time. As seen in the attached schematics, I have used STUSB4500 as PD Sink controller. I will communicate with it via I2C using STM32. I understand that this STUSB4500 will negotiate 20V(60W which i want for charging) with the source(which in this case is AC-DC Wall adapter) in Power Delivery Mode. But my question is during USB Full Speed Mode Communication with STM32, when that USB-C Receptable is connected to a PC instead of Wall Adapter. As during charging mode, USB_VBus is 20V and in Full Speed mode, it is 5V and my STM32 is Self-Powered and VBus sensing is mandatory. But due to USB VBus varying between 5V and 20V, I cant connect it to for example PA9 VBus sensing pin of STM32 using a voltage divider. So, i was thinking maybe there is another option to sense
Hello,I want to change for boot to use XSPI1 interface, but I am not sure about OTP bits, there in description some bits is not very clear, what OTP bits to set to switch if it's possible ?Additionally if I will use SD card for boot I can set OTP11 value to 0x00000020 (bit5 = 1 = sdcard), write FW to sd and use sd for boot source ?Thanks.
Hello, I tried to program a MSD on an STM32C071. My computer "sees" the USB device but didn't recognized it as a storage device. I use the NUCLEO-C071 and have setup the following: RCC:High Speed Clock(HSE): Crystal/Ceramic Resonator Clock Configuration:Input frequency: 8HCLK: 48ToUSB(Mhz) HSIUSB48: 48 CubeMX USB:Mode: Device_Only,USB interrupt enabled CubeMX USBX:UXDevice memory pool size: 1024*5USBX Device Generate Core Init code: yesUSBX Device System Stack Size: 1024*5 In CubeIDE:main.c: /* USER CODE BEGIN 2 */ MX_USB_PCD_Init(); // Line 94 /* USER CODE END 2 */ /* USER CODE BEGIN USB_Init 2 */ HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x00 , PCD_SNG_BUF, 0x20); // Line 180 HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x80 , PCD_SNG_BUF, 0x60); HAL_PCDEx_PMAConfig(&hpcd_USB_DRD_FS, 0x81 , PCD_SNG_BUF, 0xA0); ux_dcd_stm32_initialize((ULONG)NULL, (ULONG)&hpcd_USB_DRD_FS); HAL_PCD_Start(&hpcd_USB_DRD_FS); /* USER CODE END USB_Init 2 */ In ux_device_msc.c /* USER CODE BEGIN P
Say I am operating as master with CPOL=1. Because the NSS pin seems to lag the enable bit (SPE) slightly, my logic analyzer always barfs on the first SPI packet because the clock is in the wrong state.So, I set the GPIO to have a pullup on the clock in CubeMX and the problem goes away - as soon as the init functions run, the clock goes high and stays that way until the first SPI transmit. Also, the clock stays high after the end of the transfer if the SPI is disabled in the callback function.My only concern is for power consumption: It is obvious that the pullup gets applied when the SPI is disabled but I don't know is if the pullup applied all the time even when the alternate mode of the GPIO is set, i.e. is the pullup still applied at the pin when the SPI is enabled? Do clock pulses during an SPI transaction work against the pullup?
I'm working on a design with an STM32L072CZT6TR, where I want to calibrate my main timebase. That main timebase is TIM6, which counts 16,000. The HSE is 16MHz, so there's an interrupt evey 1ms. Calibration is done by counting the number of HSE cycles between two consecutive PPS pulses from a GPS receiver. The PPS triggers an EXTI interrupt, which starts TIM21 and TIM22 at 0 on the first pulse, and reads the timer values on the second.TIM21 is set to count 16,000 pulses and TIM22 is slaved to TIM21. This way, I can conveniently determine whether the HSE is slow (TIM22 == 999) or fast (TIM22 == 1000), and calculate a correction based on TIM21.This logic is copied straight from an older design with an STM8, where it works like a charm. However, the cascading does not work. No matter what, TIM22 is always 0 on the second PPS. I have used CubeMX to set the timers up, and, going over the code with the reference manual as my guide, I can see no errors. Being a hardware engineer
Hello,I’ve recently started using ST products and the IDE with CubeMX, which is why I’m asking for your help. I’ve just begun developing a communication system using a Nucleo H743ZI2; my goal is to set up a UART and a CAN bus.The UART is done; I used DMA access to optimize it. However, when I try to enable the CAN bus in Cube MX, I run into a problem with the clock configuration related to the bus.When I use the “Resolve Clock Issues” function, I get the error: “Cannot find a solution for some constraints.” Does anyone have any ideas to help me solve this problem? Thank you in advance, and have a great day,
Hi,I have a question about choosing some fairly basic security settings for an STM32H5.We are developing a system that uses both G4 and H5 micros. We have developed a largely common bootloader that receives a signed encrypted application over variously USB, UART, or CAN, and flashes it to internal memory. This is working on the G4 and H5.For the G4, we understand that if we select "Level 1" read protection, the bootloader will still be able to erase and re-flash a new application but a user will not be able to gain access to the code (bootloader, application, or data in CC RAM). Further, the G4 can be reverted to Level 0 if required, but this will erase the proprietary code.Ideally, we would like the same security behaviour on the H5. I have been reading about the bewildering selection of security settings with privileged and secure settings for individual peripherals but I feel this is more complicated than we require. Our bootloader already prevents someone installing malicious code
I am trying to run a ADC+DMA program inside application based program. (generated FSBL+Application project)While debugging the application project, it automatically jumps to somewhere else as shown in screenshot and is unable to debug the application one.The prgram is stucking at for loop which is not inside application code.
Typical bootloaders (including some of ST's built-in bootloaders for other processors) typically allow a code image to be loaded into the processor via some kind of serial link (UART, SPI, CAN, etc), without needing an ST-Link or other debug hardware. These make bootloaders ideal for in-field upgrades of products.OEMiROT/OEMuROT has some features of a bootloader, in that a new image can be placed in a special area of flash and (if it passes all the various checks) then be executed.However, there is no way of actually putting that image in flash without an ST-Link or similar, since this is needed to unlock the chip via the DA process. So if you want to do an in-field upgrade of your product's firmware without any debug hardware, OEMiROT in its current form isn't the solution.Our approach is for our application to download the image into a reserved area of RAM and then switch to the bootloader, where our adapted version of OEMiROT copies this image from RAM to the special area of flash.
Hello All,I have the NUCLEO-C562RE board and I wanted to get started with it. But I am lost and not able to find any documentation related to architecture manual or user manual. I am new to ST boards, previously I used Aurix TC375. Has someone here in the community used this board or similar one and know how to work around it? It would be really helpful.Thanks
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.