Get ready for the STM32 Summit 2026 | Online, November 3
Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Greetingwhat want to achiveThe current state.What we have tried.Hey there Community,We are running a project were we need to interface with an AP memory on a custom made board. We intend on using the PSRAM for image capture for a 5mpx image dumped by the dcmipp peripheral. To test the PSRAM separately, we came up with a test to confirm that we get no errors while interacting with it.We are failing to communicate with the memory at frequencies higher than 100Mhz, and seeing a large number of errors at 100Mhz and zero errors at 50Mhz. This is a big hinderance because the memory should be able to be set all the way to 250Mhz and we do also see these errors appear in the images taken.We have attached the specifications we are working with as well as the configurations we are using.SpecificationsSTM32N657X0HxQAPS256XXN-OBx9XSPI interface (x16) (xspi1)Other SpecificationsMemory mapped modeSchematic similar to the STM32N6 DK.Below are the materials used to aid with the configuration
Hello fellow STM32 users.Only after making a prototype where I use PC13 for calibrating the RTC, I stumbled upon the PC13 issue. Or maybe I had seen it before, and forgotten about it.For those unfamiliar with this issue, using PC13 for anything I/O related may affect the RTC clock frequency, in case you use an external RTC crystal (LSE oscillator). This is copied from the STM32G4 errata sheet:But how bad can it be, really? After (re)discovering this, I decided to put it to the test. I made a firmware version where I could select which I/O port to use for calibration. I use the 1 Hz calibration output, and have a frequency counter measure the average pulse period over 32 consecutive pulses. The frequency counter uses an external GPSDO as frequency reference, so the result should be pretty accurate.Using PC13 for the 1 Hz calibration signal, I measured a 243.7 ppm deviation. Pretty big, actually, but still possible to compensate for in the RTC_CALR register.However, when I used PB2 for t
(firstly sorry for the repost, I accidentally made the original post in the wrong topic)If you, like me, have explored using STM32 with other systems languages or even custom HALs, you’ve probably had this thought at some point:“it would be really nice to somehow combine this with STM32CubeMX”At least that’s how it was for me :DI’ve been working with STM32 in bare-metal for a while now, building small custom abstractions, and this idea kept coming back: not necessarily using CubeMX directly, but trying to bring some of its ideas — especially around validation and configuration — into these more independent setups.For a few months this was just one of those ideas that comes and goes. Until around 5–6 months ago, when I finally decided to try doing something about it; Since then I’ve been experimenting with it little by little — still very much an ongoing work — but I think it has reached a point that’s interesting enough to share and get some feedback.The main goal is to bring some of t
Hi,I am trying to create a trustzone application for my board, but suddenly I could no longer flash to non-secure memory. Secure memory flashing still works fine. What am I doing incorrectly?Thank you in advance,Michalthe failing flash (fails even if I flash template trustzone project from CubeIDE)PS C:\Users\test> STM32_Programmer_CLI.exe -c port=SWD mode=HotPlug -d test16.bin 0x08020000 -v ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 ------------------------------------------------------------------- ST-LINK SN : " ST-LINK FW : V2J47S7 Board : -- Voltage : 3.28V SWD freq : 4000 KHz Connect mode: Hot Plug Reset mode : Software reset Device ID : 0x455 Revision ID : Rev Y Device name : STM32U535/STM32U545 NVM size : 256 KBytes Device type : MCU Device CPU : Cortex-M33 BL Version : -- Debug in Low Power mode enabled ------------------------------------------------------------------- Choose flashing speed for Cortex M33 series.(
Hello! I'm using two STM32F446RE (NUCELO-64) boards through CAN communication, we want to perform CAN operation with one slave as master.How do I know how to ensure that CUBEMX is communicating with each other? #CAN #Example #STM32CubeMX
TX works but RX interrupt not triggered Hello,I am currently using a custom board based on STM32H563ZIT6. My goal is to establish communication over RS485 between the STM32 and a PC (using Hterm). The system is designed to receive a command and send a response.Communication Details:Interface: RS485 (half-duplex)PC Tool: HtermConverter: USB COM 485 PLUS 4Packet size: Very small (typically 4 bytes)Transmission interval: ≥ 300 msCurrent Situation:Communication works perfectly between 115200 and 2,000,000 baudI am trying to increase the baud rate up to 12 MbaudProblem:At 12 Mbaud:STM32 → PC communication works correctly(I can see transmitted data on Hterm)PC → STM32 communication does NOT workSTM32 does not receive any dataRX interrupt is not triggered at allIt behaves as if no data is arrivingAdditional Notes:I have checked the termination resistor, and it seems correctThe data sent from PC is valid (verified from Hterm)UART baud rate is configured up to 12.5 Mbaud in CubeMXThe issue
Hello, I am using HAL2 and wrote the basic code below: while (1) { HAL_GPIO_TogglePin(LD1_PORT, LD1_PIN); HAL_Delay(1); } I looked at the pin with an oscilloscope and I see that the signal stays 2ms low and 2ms high. If I change the code to HAL_Delay(0) I get a signal that stays low 1ms and high 1ms. It's as if the delay is actually the HAL_Delay parameter plus 1ms. Any explanation?-Gil
Hello St community !for now i'm trying to build a project based on the nucelo-N675-Q board. I'm trying to interface an STEVAL-66GYMAI1 camera and plot 2 frames values into the terminal . I'm building my project based on this repo https://github.com/supungamlath/STM32N6_Survivor_Detection . I made sure to copy the middlewares for my specific sensor but i'm finding that the camera camera never streaming a real data based on the debugging and getting an callback error on line 1 I'm attaching my project zip file so can anyone help get through this problem !Thank you !
Hello, I used STM32CubeMX2 to configure a timer (timer 2, channel 4) for input capture. I'm starting the timer and then applying the signal on the timer input pin. Since I configured the TIM interrupt, the interrupt callbacks do occur. void HAL_TIM_InputCaptureCallback(hal_tim_handle_t *htim, hal_tim_channel_t channel) { if (htim == mx_tim2_gethandle() && channel == HAL_TIM_CHANNEL_4) { uint32_t value = HAL_TIM_IC_ReadChannelCapturedValue(htim, HAL_TIM_CHANNEL_4); #ifdef DEBUG SWD_printf("ICTIM: %d\n", value); #endif } } The problem that I am having is that HAL_TIM_IC_ReadChannelCapturedValue always returns 0. The number of callbacks is actually correct (it matches the number of positive and negative edges of the signal). The timer frequency is 10,000Hz (the period is 0.1ms) and the signal pulses are between 2ms and 9ms so the timer is not overflowing. I would expect timer readings to be between 20 and 90. I attached the timer configura
Split from Any accelerometer supporting >400g with integrated free-fall detection ? - this is a separate questionHi Team,Could you please suggest a suitable wireless development board that supports LSM6DSV320X, or any latest high g accelerometer sensors, apart from Sensor Tile Box Pro?
Hi,The STM32_Programmer_CLI is installed by the ST VS Code plugin to a directory that will change from version to version and it's also not added to the PATH. I am trying to find a reproducible way to automatically add that install location to the PATH in my Dev Container so I can use command-line tools to program it.The current location is:~/.local/share/stm32cube/bundles/programmer/2.22.0+st.1/bin/STM32_Programmer_CLIwhere ~ is the user in the Docker container. I tried searching for it in a script run in "postStartCommand" from devcontainer.json which is run after the Docker container is started. But, the plugins have not been installed yet so that fails. Any suggestions? Could the plugin on install add it to the .bashrc in the future? Or perhaps an alias to it could be added to a constant location?
Hi, Does anyone have any experience or knowledge on how to successfully connect the TMC5160 Plus (BigTreeTech) stepper motor driver board and an STM32 ( I have the Nucelo F446RE)? I have tried SPI but can't get a clear signal back.
I want to flash a custom object detection model on the STM32N6570-DK board. I followed these steps:1-I selected the model ST_YOLOXN_D033_W025_416_INT8_OBJECT_DETECTION_COCO_2017_PERSON.TFLITE from ST Edge AI Cloud, with the following parameters: input: 1×416×416×3 (8-bit), output: multiple outputs, model type: STAI_FORMAT_U8. I then generated the corresponding C files.2-I followed this path: ModelZoo service → application_code → object_detection → STM32N6 → Model → STM32N6570-DK, and replaced the original files with my custom model. The files I modified are:network.cnetwork_ecblobs.hnetwork_atonbuf.xSPI2.binstai_network.cstai_network.h3- In STM32CubeIDE, I configured the app.config.h file #define POSTPROCESS_TYPE POSTPROCESS_OD_ST_YOLOX_UI #define NN_HEIGHT (416) #define NN_WIDTH (416) #define NN_BPP (3) #define COLOR_BGR (0) #define COLOR_RGB (1) #define COLOR_MODE COLOR_RGB /* Classes */ #define NB_CLASSES (1) #define CLASSES_TABLE const char* classes_table[NB_CLASSES] =
Hello,I am working on USB device CDC ACM for STM32N655L0. I found an example about "Ux_Device_CDC_ACM" for NUCLEO-N657X0-Q. Can I use this example for my mcu? How can I find ioc configuration of this example?I also tried to implement this example to my project but when I change some configuration from ioc, new code is not match with this example. On the other hand, I did everything as inside of example but I am getting error during clock initalization.Best Regards,Basri KAYA
I am working with the LSM6DSV320X for vibration analysis and potential crash detection applications, and I have a few questions regarding its capabilities and system integration:Is the LSM6DSV320X considered a high-end processing device? Does it support on-board processing such as FFT, or is an external MCU required for such computations?What are the maximum bandwidth and measurement ranges (g for accelerometer and dps for gyroscope) available for the 6-axis IMU? How suitable are these for high-frequency vibration or crash event detection?How fast is the communication interface (I2C/SPI)? Can it reliably support high data rate streaming for real-time applications?Is it possible to integrate this sensor directly with a CAN bus, or is an external microcontroller required for CAN communication?Are there any development boards available that include this sensor for quick evaluation and prototyping?I would appreciate guidance or references to relevant documentation.
Hello,I am facing a kernel crash (Oops) on an STM32MP2 platform while using UART with DMA. The issue occurs during runtime power management resume.EnvironmentPlatform: STM32MP2 (custom board)Kernel: 6.6.78 (OpenSTLinux - Yocto Scarthgap)UART driver: stm32_usartDMA: EnabledWorkqueue: pm_runtime_workObservations:Crash happens in DMA virtual channel submissionTriggered during runtime resume (PM)Address dead000000000xxx suggests:Use-after-free, orUninitialized / corrupted DMA descriptorAre there any patches or recommended fixes for this scenario?
Hi, Planning to use VFQFPN68 package. I am confused about the max core clock I can use. CubeMx shows 550MHz for every "Power Regulator Voltage Scale (0-3)".I remember reading VFQFPN68 has only DCDC solution so max core clock is 400MHz Can anyone explain please?Thanks,Tim
Hi there,I'm debugging an STM32L081 project with an ST-LINK/V2 ISOL, and the Live Expressions data during the debug session is corrupted.Sometimes, removing all expressions, stopping the debug session, and/or power-cycling the processor makes the data display correctly again. However, after a simple code update, or adding new data on Live expressions; the data becomes corrupted once more.This has been a known issue since 2023. I’ve seen many colleagues reporting the same problem. Even ST technicians have escalated it under internal ticket IDs 222326 and 175214.Unfortunately, as of early 2026, there has been no update.I have installed the latest STM32CubeIDE 2.0.0, but the issue still persists. Come on, ST team!!!!You are aware of this issue. Please inform the community about when it will be fixed. Thanks in advance.
Hi ST community,I’m working with an STM32H563 MCU and trying to use the pin labeled JTDO/TRACESWO as UART7_RX because the datasheet/alternate function table shows that this pin supports UART7_RX. However, UART transmission works correctly, but UART reception does not work when using this pin. If I switch to a different pin, both TX and RX function as expected.Here’s what I’ve checked so far:Configured the pin in STM32CubeMX as UART7_RX (alternate function mode)Verified UART7 peripheral initialization is correctChecked baud rate and UART settingsConfirmed hardware wiring:External TX connected to STM32 UART7_RXCommon GND connectedSignal level is 3.3VTried disabling trace/SWO in CubeMX by setting by debug to “Serial Wire” instead of trace modeAlso tested with debugger disconnected after programmingMy question:Is the JTDO/TRACESWO pin fully usable as UART7_RX on STM32H5, or is it reserved/limited due to debug trace functionality?Is there any additional register/configuration needed to
e.g. select I2S with "Master transmit" which should only use I2S_CK, I2S_WS and I2S_SDO, yet the I2S_SDI pin is also muxed and blocked for other use (and both DMA directions are available)
Hello, I've just received my custom PCB with an STM32H743VIT6 MCU. It has a Samsung eMMC connected to the SDMMC1 interface (MMC 8 Bits Wide Bus) : (I'll link the eMMC datasheet below.) I'm encountering some issues while initializing the device with the MX_SDMMC1_MMC_Init function. More particularly it seems to be stuck in the HAL_MMC_InitCard function, on this block : /* Card initialization */ errorstate = MMC_InitCard(hmmc); if (errorstate != HAL_MMC_ERROR_NONE) { hmmc->State = HAL_MMC_STATE_READY; hmmc->ErrorCode |= errorstate; return HAL_ERROR; } When i launch a debug session it seems to freeze on this block : /* Get CSD parameters */ if (HAL_MMC_GetCardCSD(hmmc, &CSD) != HAL_OK) { return hmmc->ErrorCode; } Here's the variables states at this breakpoint : The data does not seem coherent. Am I missing something here ?For the configuration of the SDMMC1 interface i setted the Clock at 50MHz on the Clock Configuration, an
I want to do hands on interfacing of all interfaces available with STM32MP157C-DK2.Can you suggest resources on how can I do all interfacings on STM32MP157C-DK2.
Buenos días a todos, Me presento, soy Hugo un alumno de universidad que está preparando su TFG, acerca de la IA preventiva, para ello me gustaría hacer una demostración y es ahí donde me surgen las dudas, que ojalá me ayuden a resolverlas. Quiero instalar distintos sensores (medir vibraciones, consumo de energía y temperaturas) en plataformas elevables de construcción, para que pueda recoger en directo métricas recogidas por estos sensores y volcar estos datos en una base de datos para trabajar más tarde con ellos, mis preguntas surgen desde qué sensores me recomendaríais comprar (entendiendo que soy un alumno y tampoco tengo el presupuesto de una empresa), como puedo instalarlos correctamente y como puedo hacer para que según va recogiendo datos en directo, poder volcar estos mismos en una base de datos. Agradecería cualquier ayuda, muchas gracias de antemano.Un saludo, Hugo G.Google translation:Good morning everyone, I'm Hugo, a university student preparing my final year pr
For STM32N6570-DK , I was trying to generate STM32 IDE model regarding Edge AI, but it is not showing the option to download complete project . While this documnetation shows that we can download the complete IDE project . https://stedgeai-dc.st.com/documentation
Hi, I'm developing a custom STM32G491CEU6 board with USB-C and pins for external ST-LINK programmer. Board is powered from external source. I connected only D+, D- and GND from on USB-C to MCU, because I wanted to use this only for debug. Right now the USB-C communication works only if ST-LINK is connected (had no idea about VBUS sensing). Can i override it somehow? Schematics below
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.