Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi, I have attached a X-NUCLEO-WB05KN1 on top of a NUCLEO-H743ZI2 board and are trying to verify whether it works by flashing the peripheral_hr sample with the shield argument "x_nucleo_wb05kn1_spi". Sadly it does not work (it is stuck in bt_spi_open when trying to receive SPI header from shield) The shield is flashed such that it uses SPI instead of UART. I have done the same experiment, placing the shield on top of Nordic Semiconductors' nRF52840 MCU and here it works with the peripheral_hr sample with shield argument. I have also tried the experiment on a NUCLEO-F401RE and here it also fails. Any ideas what could be wrong?
Hi, When I run st-info --probe as a normal user, I get:$ st-info --probelibusb: warning [darwin_detach_kernel_driver] USB device capture requires either an entitlement (com.apple.vm.device-access) or root privilegeFound 0 stlink programmerOnly when I prefix with sudo do I see my ST-Link appear: $ sudo st-info --probeFound 1 stlink programmerversion: 2...Platform & Environment:Host: Apple M1 MacBook AirmacOS Version: Monterey / Ventura (tested both)ST-Link Tools: Installed via Homebrew (brew install stlink)libusb: system-provided (no special libusb-compat)I reinstalled stlink via Homebrew and tried other versions, but the problem still occurs intermittently: sometimes I can probe normally as a non-root user, and other times I need to use sudo. On top of that, PlatformIO also requires sudo to upload code. Any help would be greatly appreciated.My Question:How can I grant non-root access to ST-Link on Apple Silicon so that st-info --probe works as a normal user? Is there an offici
STM32World Rant #2 - MYSTERIOUS UNKNOWN MCUJust a short rant about the MYSTERIOUS STM32F402. This MCU does NOT exist in ST's catalog, and yet you can readily buy them in China. In this video I will go through the datasheet, find a comparable MCU which exists and compare them.#STM32 #China #MCU #STM32Worldhttps://www.youtube.com/watch?v=ILUuB6Kaz5U
Hi,I'm looking at implementing USB on my the NUCLEO-64 STM32F303RE EVAL BRD, with of course the STM32F303RE microcontroller. I'm having issues understanding what alternate function is needed for the USB-DM and DP pins. In the datasheet https://www.st.com/resource/en/datasheet/stm32f303re.pdf Table 13 shows that the USB pins are "Additional Functions" on PA11/PA12. I'm not sure what that means? Additionally I'm used to going to Table 14 the alternate function table to see what AF is needed on those 2 pins for USB. However in Table 14 the USB_DM and USB_DP are no where to be found. Your help would be appreciated. Thanks
Hello, I have the following problem - I configured TIM2 of STM32H723 in Encoder Mode following all recommendations in the Reference Manual RM0468, chapter Encoder Interface Mode, p. 1694: • CC1S= 01 (TIMx_CCMR1 register, TI1FP1 mapped on TI1)• CC2S= 01 (TIMx_CCMR2 register, TI2FP2 mapped on TI2)• CC1P and CC1NP = ‘0’ (TIMx_CCER register, TI1FP1 noninverted, TI1FP1=TI1)• CC2P and CC2NP = ‘0’ (TIMx_CCER register, TI2FP2 noninverted, TI2FP2=TI2)• SMS= 011 (TIMx_SMCR register, both inputs are active on both rising and fallingedges)• CEN= 1 (TIMx_CR1 register, Counter is enabled) I also checked these settings in the TIM2 registers in debug mode with halting the micro and they were exactly as recommended. I checked the input quadrature signals - they are there. But still the TIM2 counter value stays 0 and does not change. Any ideas what I might be missing? Thanks a lot, Radek
I am new with the STM32 MCU and this is my first projectI am using a STM32F407VGT6I started a project that read a 16bit parallel on PDx GPIO. The data is placed by an external device and a signal is set to low for 400ns. I connected that signal on PB1 and enable an interrupt on it.The code inside the interrupt:1 - set output pin PC9 to 02 - read the GPIOD (al 16 bit)3 - shift once (divide by 2)4 - output the result into the MCU DAC.5 - set output pin PC9 to 0I use PC9 on an oscilloscope to see how much each line of code is taking.And I am very surprised by how slow the code is running at.First, it take 6us for the interruption to be triggeredThen 3us to read PDx registry1us to shift 4us to output to DACI was hopping the interrupt would be much faster. At least to read the PDx registry within the 400ns. 400s is the time I have to read the GPIO. This is how long the data stay on the 16 bus.To get me going, I used 2 latching buffers 74LS374 in order to give me more time. But I
Hi,I used to run my STM32F303RE at 72Mhz clock from a 8Mhz CMOS oscillator. . Timers8/1 operated at 72Mhz as well. That worked fine. I had to change the CMOS oscillator from 8 to 24Mhz.I tried two modifications, see attachment:a) I changed PLLMul from x9 to x3 and left PREDiv. at /1.b) I changed PREDiv to /3 and left PLLMul at x9.In both cases CubeIDE clocktree was fine with the setup, 72Mhz imput clock at Timers8/1.Eventually now the input clock of the timers is low by factor 9, it is 8Mhz. What did I miss?Thank you.CheersDetlef
Hey, I just want to report an error in the Reference Manual for the STM32F411xC/E microcontroller.Reference Manual: https://www.st.com/resource/en/reference_manual/rm0383-stm32f411xce-advanced-armbased-32bit-mcus-stmicroelectronics.pdfPublished on: https://www.st.com/en/microcontrollers-microprocessors/stm32f411/documentation.htmlError Description:The error is in "Table 26. GPIO register map and reset values" on page 163. I recognized that the bit representation of the "Reset value" of the GPIOA_MODER register (the first one in Table 26) doesn't match with the value written on page 157.I think it got copied from the Chinese version of the Reference Manual and only got changed on page 157, which I think is the right reset value. (It matches with the reset value in the SVD-file.)Reset values:page 157: 0xA800 0000page 163: 0b0000 1100 0000 0000 0000 0000 0000 0000 Hopefully I'm not mistaken with this report.All the best, wolkns.
Hello, first of all I'm completely new with microcontrollers and I really don't know anything. This is my first experience trying out one. I'm a total noob.I'm using STM32F103C8T6 with STLink V2. I have 4 units of STM32 and 3 of STLink. I upgraded the firmware of all my STLinks in CubeProgrammer succesfully with no errors.I succesfully programmed a USB that simulates a keyboard that periodically sends the letter "r" to the PC. I also programmed two versions of a 16 button gamepad; one that uses polling and another that uses interrupts to detect button presses. I have the keyboard and one of the gamepad programs actually flashed into 2 of my STM32 right now. I also have a version of the 16 button gamepad in a ".bin" file that I copied with CubeProgrammer.So, everything was working properly; I flashed and tested 2 of my 4 STM32 multiple times with one STLink, as well as mass erased their memory also multiple times. But today I was rewriting the "interrupt gamepad program", and after flas
Hi all.I have this piece of code: __HAL_RCC_CORDIC_CLK_ENABLE(); CORDIC->CSR |= CORDIC_CSR_NARGS; CORDIC->CSR |= (CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECISION_1 | CORDIC_CSR_PRECISION_0); CORDIC->CSR |= CORDIC_CSR_FUNC_1; // Phase function (atan2) int32_t a = 1000; int32_t b = 1000; CORDIC->WDATA = a; CORDIC->WDATA = b; volatile double result_from_hw = (double)CORDIC->RDATA / 2147483648.0 * 180.0; volatile double result_from_sw = ((atan2((double)a, (double)b)) / M_PI) * (180.0); __NOP(); __NOP(); __NOP();The result from SW is 45 (as expected).However the result from HW is 43.2.WHY??
Software tool: IAR Workbench 9.60#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>#include <intrinsics.h>int putchar( int ch ){ while(!(USART2->ISR&0X0080)); USART2->TDR = (unsigned char)ch; return ch;} test code:printf("%d\n",ADC_array[0]);printf("%f\n",1.234567); Output on computer:62615 ----correct%f ----incorrect(should output 1.234567)
I'm working with TouchGFX, in my project I include n files that are needed for the hardware I use, a custom hardware with STM32F429II...They are variable interchange files between the TouchGFX engine and my hardware.The entire project works when it is compiled and programmed on the target, while it doesn't work when I start the simulator: gcc, during compilation, does not find the files I include.Can anyone help me resolve the problem?
Using a custom board.Used CubeMX and CubeIDE to develop the code which is attached to this post.A read of WHO_AM_I_A results with the command in rxData[0] and nothing in rxData[1].Same thing happens when reading registers.
Good day, I am wondering there is a way to access the project file for the EVALSTDRIVE101 demonstration board. I need to do a custom board based on it and only the Gerber files are available. I would appreciate any help. Thanks in advance Mostafa
Hi, I am working with STM32H757I-EVAL. The task is to record audio, store it in SD Card. Since, STM32H757I-EVAL has PDM Data format as well as DFSDM data format which would be better to interface with or is there anyother data format that can be used?
Hi,I have 2GB emmc on SDMMC1 bus.I wish to have first 1GB (0~1GB) as application code area and the rest 1GB(1GB~1GB) as FAT file system that access by user as USB MSC. Even more, the first 1GB i wish to have 2 partitions(like A-B bank) for fail safe firmware update mechanism.So is that possible to do that?if not,how to use flash on xspi1 to have fail safe firmware update? like if update fail, roll back to old firmware..
Hi,I got several FreeMarker template errors when I tried to compile the code to test out EVLSPIN32G0A1. It looks like all the files under MotorControl folder were affected by what I assume is the same error type (see attached picture).FreeMarker template error. The steps to reproduce this error are as shown below.Hardware Platform:Board: EVLSPIN32G0A1Motor: GBM2804H 100TSoftware:OS: Windows 11System Type: x64Motor Control Workbench v6.3.2STM32CubeMX v6.14.1STM32CubeIDE v1.18.1STM32Cube MCU Package v1.6.2Sequence of operation to reproduce error:I folowed the instructions in section 3.2 of UM3398 (User's manual: Getting started with EVLSPIN32G0A1)Launch the Motor Control Workbench tool.Select the target control algorithm from Field Oriented Control (FOC) or 6STEP.Select the target motor or create a new motor.Select the target evaluation board in the inverter section.Configure the solution according to application requirements.Generate the project and compile the codeI'm a newbie when it
Unable to generate motor control project using MCSDK 6.3.2The MCU is STM32G473CCU6"It is not possible to create a motor control project with the FOC algorithm using the selected hardware. No proper path for motor control signals was found for the following mandatory features: - Current SensingFor more details, please, look at the following log file in your home directory: .st_workbench/connectAlgo.log"I'm using three shunt resistors for current sensing, I have no idea where is wrong.
Hi All I have a breakout board, I've been testing some ws2812 code , I'm using TIM1 with DMA + PWM I developed the code on the G030, it's a 32 pin package. I'm using internal clock and have it running at 48MHz for Timers. Works has intended. Switch to C011 in an 8 Pin package. Created new project in MX and just copied over the code I added. I'm using internal clock and have it running at 48MHz for Timers. Code does not work. complies fine, but the leds not work. In both porjects I am using TIM1 , configured the same way. I don't have a Scope where I can view the PWM output Question: Does anyone of a any differences between how TIM1 works between both MCU? I looked through AN5969 Migrating between STM32G0 and STM32C0 MCUs and nothing jumped out. Can I use CudeMonitor to review the PWM? Any suggestions would be highly appreciated. Regards, Stephen
I'm using a Nucleo-F446RE board and have successfully flashed my application code to Sector 5 of the internal flash memory. The code runs correctly right after flashing, but it does not run after a reset or power cycle. It seems the MCU still boots from the default start address (Sector 0), and doesn't automatically jump to Sector 5. :question_mark:My main questions are: How can I make the STM32F446RE boot from Sector 5 after every reset? Is it necessary to place a custom bootloader at Sector 0 that manually jumps to the application code at Sector 5? Is there any other way? Any guidance would be very helpful. Thanks!
Hello, I have a problem with my code, I have a 1PPS signal from a GPS on a PB0 input, I want to measure a 10.00Mhz signal on the PC0 input. I have a uart4 tio display the result. My problem is that the result is always zero on my screen "Frequency 0.00 Hz" I don't understand why. can someone help me ? (Code attach) Best regards
Hi everyone,I'm facing a frustrating issue and would really appreciate any help or insight you could provide.I’m trying to get the STM32WB55CGU6 into STOP2 mode, but I consistently see current consumption over 600 µA, both on my custom PCB and on the WeActStudio.STM32WB55CoreBoard. I’ve been stuck here for days and can’t make progress with my project because of this.Here’s what I’ve done so far:Thoroughly studied AN5071 and AN5289.Read several community posts and blogs from users with similar problems.Ported the official examples PWR_STOP2_RTC and PWR_EnterStopMode to my MCU.Verified that the project builds correctly and behaves as expected, except for the power consumption.Despite following all the steps I could find, the current remains way too high. I would expect it to be in the range of a few microamps.Here’s a screenshot from my PPK2 measurements: (I would expect that when LED is off, the STOP2 mode would be much more evident in terms of consumption)To be extra sure, I follo
最近项目需求更改,原来的STM32F405RG换成STM32F413RG,其他外设均调正常,只有CAN不能工作(只使用到CAN1)。请问除了以下差异之外还需要调整哪里?
Hello, I'm struggling with frequent overcurrent faults at the EVSPIN32G4 board.I found some mismatch of current sensing with 3-shunt and 2-OPAMP topology.Default current sensing for EVSPIN32G4 is described as following diagram at motor control workbench. But, the EVSPIN32G4 schematic drawing is as follows. It is a mismatch of the MC workbench and the schematic of EVSPIN32G4 [MC workbench : W Phase] OPAMP2 (+) : PB0, OPAMP2 (-) : PC5, OPAMP2 (out) : PA6[Schematic: V Phase] OPAMP2 (+) : PA7, OPAMP2 (-) : PC5, OPAMP2 (out) : PA6 I'm wondering about this mismatch and it might be the cause of overcurrent fault. Thanks for any advice in advance.
I am working on FDCAN communication using an STM32G0B1CCT6 microcontroller. I am trying to perform a simple Tx/Rx loopback test (and later communication with external tools like Vehicle Spy), but I am facing the following problem: FDCAN is not transmitting or receiving any message. I have configured the peripheral in Normal mode with the following settings: Clock: 64 MHz Bitrate: 1 Mbps Prescaler: 16, TimeSeg1: 13, TimeSeg2: 2, SJW: 1 Frame Format: Classic CAN Auto-Retransmission: Enabled I also added a filter (Filter 0) to accept all standard IDs into RX FIFO 0, but still no data is received. FDCAN init and message send/receive functions return HAL_OK, but no actual communication happens on the bus. I’ve verified the transceiver wiring (ISO1044), and I'm testing using Vehicle Spy and ValueCAN4. I’ve also tried internal loopback, but still no response.
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.