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
Hello,I’ve noticed a difference in behavior between STM32CubeMX configurations for STM32H7 and STM32N6 series.On STM32H7, when configuring CAN bit timing, the parameters such as Nominal Time Quantum, Nominal Time for one bit, and Nominal Baud Rate update dynamically based on the settings.On STM32N6 (using STM32CubeMX v6.16.0), these values remain constant. For example, even when using the official STM32 example with a nominal bit rate of 1 Mbit/s, CubeMX still shows a fixed value of 1000 bit/s and does not adjust the timing parameters.My question is:Is this a bug in STM32CubeMX v6.16.0 for STM32N6 series?Or is this a new feature specific to STM32N6 where the tool no longer recalculates these values?I’d appreciate clarification from ST or anyone who has encountered the same behavior.Thanks in advance!
Hi, I'm a beginner programming a NUCLEO-N657X0-Q. The LD5 is blinking and I can't get a connection to the board. Even with the demonstration code/project, it wouldn't work. In STM32CubeIDE I get the attached error message. As of yet, I never got to launch any program at all. Thank you for your help! Len
Hi,I want to know what software versions and licenses are part of the STM IDE v1.18.0. For Version v2.1.0 I have found these release Notes which list everything nicelyhttps://www.st.com/resource/en/release_note/rn0114-stm32cubeide-release-v200-stmicroelectronics.pdfOn the STMCubeIDE Download Page / Documentation / Release Notes only lists the most recent Release Note:https://www.st.com/en/development-tools/stm32cubeide.html?ecmp=tt9470_gl_link_feb2019&rt=rn&id=RN0114# How can I find this information for v1.18.0?
Hello, I am using a NUCLEO-H7A3ZI-Q to send and receive packets over serial. I have a varying payload size, so I am using: HAL_UARTEx_ReceiveToIdle_DMA(&huart3, rx_buffer, 4096); as this searches for an idle at the end of the frame to begin processing this data. To process this data and copy it into a look up table (LUT) capable of being 0-4096 bytes long I have this following script; which comprises two uint8_t into one uint16_t to be represented by a 12-bit DAC, hence the clipping if they exceed 0FFF (4095).This receives and writes perfectly up to 512 bytes of memory (256 uint16_t within the LUT), however above this all remaining values in the LUT are left unpopulated. uint16_t length = 0; void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t size){ if (lut != NULL) { HAL_DAC_Stop_DMA(&hdac1, DAC_CHANNEL_1); free (lut); lut = NULL; } if(rx_buffer[0] == 0XAA) { length = rx_buffer[2] | (rx_buffer[1] <<8); frame_rate = rx_buffer[3
Hello, I am having a issue with HAL_UARTEx_ReceiveToIdle_DMA on a NUCLEO-H7A3ZI-Q, when using the following code:uint8_t rx_buffer [4096]; HAL_UARTEx_ReceiveToIdle_DMA(&huart3, rx_buffer, sizeof(rx_buffer)); void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t size){ /*code*/ } My rx_buffer is only populating the first 512 bytes, with the remaining data remaining as 0.__HAL_DMA_GET_COUNTER(huart3.hdmarx);Provides the incorrect amount of data being passed over serial.I have used serial plotter and CoolTerm to try and send packets but both hit this 512 byte limit.rx_buffer not populated past 512 byteslength correctly calculated as 640 bytes long
Hello,I’m trying to add the JPEG encoder to be able to save images in JPEG format to the SD card.While debugging with LEDs, I noticed that MX_JPEG_Init blocks the program, whereas HPDMA is working correctly.I have added all the necessary files for JPEG, but it doesn’t seem to activate.Interestingly, when I disable MX_JPEG_Init, I can see the images on the screen connected to the board without any issue.I’m wondering if there is a configuration problem with the JPEG or if I’m missing something.For reference, I’m using the STM32N6 Discovery Kit (STM32N6DK750).Thanks for any advice!
I am using STM32N6570-Dk board. I want to perform edge-AI testing on this board. Trying to generate code with X-cube-AI. I am confused with FSBL and application mode, which one to choose? It is visible that FSBL is default for X-Cube-AI in STM32N6.My question is:1. What to choose FSBL or application mode or both while generating the code for X-Cube AI ( I want to do some edge AI based testing )?2. Only X-Cube AI in STM32IDE (working in .ioc file) is sufficient for edge AI programs or I need something more than that for this purpose?I am unable to find documentation related to edge AI use for this MCU, If you have one, kindly provide. Thanks & RegardsChanchal
I have developed a custom board for STM32F469NIH6 and is loosely based on STM32F469i-DISCO, it uses an external QSPI Flash memory type MT25QL128A as does the DISCO board. For this setup I am using ST supplied external loader MT25QL128A_STM32F469I-DK.stldr which works fine.We have a requirement for a processor with a video codec, so the logical upgrade route is to STM32F769NIH6 to be used with external QSPI flash MT25QL512A. Both of these devices are pin compatible with the above MCU and QSPI, so the plan is to use the same custom PCB.The problem comes in writing an external loader for this combination because.While ST have a loader MT25QL512A_STM32769I-EVAL.stldr, this loader is not working in our setup, probably because of alternative QSPI I/O configuration which would likely be easy to alter in the loader code, however the source code is not in the github repository https://github.com/STMicroelectronics/stm32-external-loaderIs it available elsewhere?UM0892 says that the ST loade
Split from Benchmark Validation in App does not match Arduino Uno R4 WiFi as this is a new question.thanks for the response @Andrew Neil If i'm not overstepping my bounds, given the requirements of an audio classifier (also need wifi support and display support), which ST board would you suggest. This is simply for prototyping purposes. Thank you in advance.Danny
I have an ST32CubeMX project for a STM32H7 mcu generated with STCubeMX 6.4 and using STM32Cube FW_H7 V1.9.1 where the project files are generated via cmake. Now I want to use STM32Cube FW_H7 V1.12.1, but apparently, in order to be able to generate the new files, I have to migrate the project to STM32CubeMX 6.16.1:The problem is that, once I click in "Migrate", it removes two important lines from my code:So, I went to CubeMX to check, and apparently, at a first glance, the field to configure ADC3 Prescaler is gone ( I do not have any other ADC on):Also, the clock configuration tab was showing a problem. I went to check and apparently ADC clock is not allowed to be more than 100 MHz anymore:Unfortunately, I can not slow PLL2P down, since it is used for other peripherals (e.g. SPI), but I could maybe change the clock source to PER_CK and then derive it from HSI to have it as 25 MHz ( 150 MHz + Prescaler of 6 ), although I do not know which other implications it could have.I looked up some
I am working on a custom board with STM32MP133A cpu and Kingston EMMC08G-ML36 EMMC. The board boots fine from the EMMC, however if the board resets due to kernel panic and/or watchdog timeout it fails to boot from EMMC and enters DFU mode (where it hangs indefinitely). It looks like that after unexpected reset EMMC stays in 8-bit bus width and boot-rom fails to load the TF-A. The current workaround is to set bus-width to 1 in both u-boot and linux device trees. Is this boot-rom behavior described somewhere?Is there any way to reliably reset bus-width from 8 to 1 in case of unexpected STM32MP133A reset? Or to get out of DFU mode after some timeout, although in this case bus-width still has to be reset to 1 somehow?
Hello,I'm currently working on a project using the STM32U5A5VJT6 processor, and I'm exploring the feasibility of implementing WireGuard in a bare-metal environment. I found one mention of WireGuard in this community post [link], however afaik it is an application for an OS based ST product. So I'm looking for more detailed insights.Is STM actively working on any initiatives to bring WireGuard support to processors like the STM32U5A5VJT6, especially for bare-metal implementations?The WireGuard protocol was primarily designed for OS-based systems with kernel support, which makes bare-metal implementation exceptionally challenging. Given the cryptographic and networking demands, has anyone made significant progress or come across alternative approaches that could support WireGuard (or similar VPN functionality) on an STM32?I encountered Mongoose’s library for networking on STM32, which offers some guidance on web server setups. Are there other resources or community-driven efforts that ad
Hello,we have developed our own RF modules based on the S2-LP transceiver and we are currently characterizing their maximum usable sensitivity.Measurement setupTX and RX are connected through a calibrated variable attenuator.The transmitter sends 500 packets with a 200 ms interval between packets.After the test, we create statistics on successfully received messagesOur RF settings: Frequency base = 433 MHz, Data rate = 3.84 ksps, Deviation = 2 kHz, Filter = 12 kHz; Preamble length = 64 bits. Rest parameters are identical to the configuration generated by the S2-LP DK GUI.The only parameter that changes is the RX timer configuration.Observed behaviorWe obtain different maximum usable sensitivity values depending on the RX timer setting:RX timer set to infinite (S2LPTimerSetRxTimerCounter(0)):→ Maximum usable sensitivity ≈ –105 dBmRX timer set to 200 ms timeout (S2LPTimerSetRxTimerUs(200000)):→ Maximum usable sensitivity ≈ –111 dBmThis is a significant difference (~6 dB), and we would li
Hello,I was playing around with different versions of MCU and I've notice STM32H7B3LIH has no Graphic Accelerator mentioned in Product Selector.But as soon as I'm selecting it in CubeMX I can enable DMA2D in Multimedia.And think there are more MCUs with Chrome-ART Graphic Accelerator which are not correctly shown in Product Selector.
I am using the STM32N6570-DK and I want to use the external PSRAM to declare a large variable buffer. Here is what I have done: 1. Initialized XSPI1 and the External Memory Manager. The PSRAM parameters I got from How to execute code from the external PSRAM using the STM32N6 . 2. Set the XSPI1 clock to 200MHz. Here is my system clock configuration: Here is my main code from the FSBL. I also added a `gpio_toggle` to turn the user LED on before `MX_EXTMEM_MANAGER_Init()` as a debug indicator.After adding the header and programming, the FSBL boots correctly — the user LED turns on — but then it gets stuck at `MX_EXTMEM_MANAGER_Init()` and never jumps into the `while` loop.int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MPU Configuration--------------------------------------------------------*/ MPU_Config(); /* Enable the CPU Cache */ /* Enable I-Cache---------------------------------------------------------*/ SCB_EnableIC
Hello ST Community,I am working on a commercial vending machine controller and would like to get feedback from ST engineers and experienced STM32 designers regarding a system architecture change.Problem StatementOur current system uses a single MCU, but we are now hitting hard peripheral limits, mainly:Timer availability (stepper + DC motor control)GPIO interrupt countGPIO pin availabilityIncreasing real-time jitter when multiple loads are activeThis is not a software optimization issue anymore; it is a resource saturation issue.Because of this, we are planning to move from a single-MCU architecture to a multi-MCU system.Proposed ArchitectureMaster MCU: STM32H563ZIT6Handles:All sensors (ADC / digital)Control logic & state machineRecipe executionSafety checksUI communicationNo direct motor timing generationSlave MCUs (2x):Dedicated load-handling controllersOne for stepper motorsOne for DC motors / PWM-based loadsSlaves perform only deterministic actuationNo sensors, no business logi
Hi I'm new to the STM32 board but not to Arduino IDE. I want to use two STM32 boards (with DXV lr30 900) for LoRa communication. I'm starting with a minimal program (without LoRa), just to see how the communication works between the STM32 and the Arduino IDE's serial interface. I can compile and download this program without any problems, but I don't see anything on the serial interface, whether using the ttyUSB0, ttyUSB1, or ttyS0 ports at 9600 baud. here is the test program void setup() { Serial.begin(9600); delay(2000); Serial.print("hello"); } void loop() { Serial.print("."); delay(1000); } Can anyone help me ? Thanks in advance
Hello,I’m working with an STM32MP255 and want to access GPIOs from the Cortex-M33 coprocessor (not from the A-core/Linux side). I’m trying to understand the correct workflow and configuration steps so M33 firmware can drive/read GPIO pins. Specifically:1. Are there any reference examples or official documentation showing how to assign GPIO pins to the Cortex-M33 coprocessor (M33 execution context) using device tree and RIFSC configuration on STM32MP255 / STM32MP2 devices?2. Is there a step-by-step for RIFSC/firewall, resource assignment, or device tree overlays that shows how to move ownership of a GPIO from the Linux/A-core domain to the M33?3. I’m using STM32CubeIDE to build the M33 firmware. Under SystemCore → GPIO there is no checkbox to select the Cortex-M33 execution context for a GPIO. Is that expected? If so, how should I configure ownership (is it a device tree / RIFSC setting rather than a CubeIDE option)?
Dear ST Community, Since the STUSB4710 is now NRND and no longer readily available, could you please advise what its recommended replacement is?I am specifically looking for a USB-C Power Delivery source controller that requires no firmware or only minimal firmware.Thank you in advance.
Hi,I am trying to get any communication with the source through VDM messages on my STM32G071RB + SNK1M1 setup and I am not able to. The source sends a request "VENDOR_DEFINED VDM:SVDM_DISCOVER_IDENTITY INIT" but PE on the sink responds with PE_SEND_NOTSUPPORTED. Power delivery works fine and manages to negotiate different power options.The code is generated with CubeMX following this step-by-step guide: https://wiki.st.com/stm32mcu/wiki/STM32StepByStep:Getting_started_with_USB-Power_Delivery_Sink I followed the manual (https://www.st.com/resource/en/user_manual/dm00598101-managing-usb-power-delivery-systems-with-stm32-microcontrollers-stmicroelectronics.pdf) chapter 4.5 and enabled these VDM features.To implement the VDM callbacks and some DPM callbacks I used this repo: https://github.com/STMicroelectronics/STM32CubeG0/blob/master/Projects/STM32G0C1E-EV/Demonstrations/Modules/ucpd/I am aware that there isn't sufficient hardware support for alternate modes on my current hardware but sh
Hello,Does anyone know how to setup the clock source for the N657 processor? I want to use an oscillator for the HS clock input and setup HSE = Bypass clock source...using Bypass clock it should only use PH0 (clock in) and free up the PH1 pin (clock out). But it seems the IDE / cubeMx always wants to use both pins regardless of the clock configuration.am I missing something or is this a bug?thanks, Matt
I am developing a solution using a STWBC2-HP tx running from a 24VDC supply to drive a STWLC99 rx and need to use the STSC protocol to achieve 50~100W. This is for bespoke power transfer rather than a conventional charger. I am basing the design on the steval-wbc2tx50 datasheet with ratings upgraded for the extra power. Also referring to '100w-wireless-charging-solution-based-on-stwbc2-hp-and-stwlc99-rayna-wang.pdf' from ST's website.Does the STSC protocol require Qi1.3 (ie does it need STSAFE-A110) and how do I enable this?Do I just need to configure the current and voltage parameters via the UART for this power level?Thanks.
Hi, I'm trying to spec a fully integrated H-bridge for driving a small motor taking up to 6A nominal, with spikes up to 12A (looking at the VNHD7012AY, VNHD7070AY, and the VNH7100BAS). There are a lot of numbers for current limitation on the ST datasheets that I've come across and I haven't been able to find an explanation for. How should I interpret all of these, and how are each of these numbers obtained?Specifically, I'm looking at:- Continuous maximum output current I_max- High-side current limitation I_lim_h- Shutdown low-side current I_sd_ls- Output saturation current I_out_sat (under Current Sense)
I want to make a speedometer with a STM32 MCU. What is the best solution. Do stm32 have any products wich works as a plug and play speedometer.
Hello Engineers,I have recently started developing a product based on the STM32F446RET6 MCU integrated with the RFM95W (SX1276) LoRa module. My goal is to transmit sensor data to a LoRaWAN network server such as TTN or ChirpStack.I am using STM32CubeIDE for firmware development. However, I have not been able to find clear documentation or structured examples explaining how to implement LoRaWAN (end-device) communication using this MCU and radio combination.What I am Looking For:A stable and recommended LoRaWAN library compatible with STM32CubeIDEGuidance on integrating the SX1276 (RFM95W) with STM32 HAL driversA basic bare-minimum example that sends dummy payload data to a LoRaWAN server (preferably OTAA)Any reference projects, repositories, or step-by-step guidanceTarget Setup:MCU: STM32F446RET6Radio: RFM95W (SX1276)IDE: STM32CubeIDELoRaWAN Server: TTN / ChirpStackRegion: (EU868 / IN865 — depending on deployment)Even a minimal working example that performs:Radio initializationLoRaWAN
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.