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
On an STM32H563, I am trying to write the OBkey1 data.I have successfully set the product state to provisioning (0x17) with: FLASH_OBProgramInitTypeDef optionBytes; HAL_FLASHEx_OBGetConfig(&optionBytes); HAL_FLASH_Unlock(); HAL_FLASH_OB_Unlock(); optionBytes.OptionType = OPTIONBYTE_PROD_STATE; optionBytes.ProductState = OB_PROD_STATE_PROVISIONING; HAL_FLASHEx_OBProgram(&optionBytes); HAL_FLASH_OB_Launch(); HAL_FLASH_OB_Lock();Now, when I try to write too OBKey1 with: uint32_t dataAddr = 0x20050000; memcpy ((void*)dataAddr, source, 0x60); RSSLIB_DataProvisioningConf_t * pConfig = (RSSLIB_DataProvisioningConf_t *)0x20050100; pConfig->pSource = (uint32_t*)dataAddr; pConfig->pDestination = (uint32_t*)0xffd0100; pConfig->Size = 0x60; pConfig->DoEncryption = 0xCACA0AA0U; pConfig->Crc = 0; HAL_FLASHEx_OBK_Unlock(); provisioningResult = RSSLIB_PFUNC->NSC.DataProvisioning(pConfig); HAL_FLASHEx_OBK_Lock();The call to DataProvisioning() causes
Hello,I am writing to seek advice on connecting an APMemory APS12808 OSPI memory to the STM32H723ZGT6 microcontroller.Initially, I attempted to adapt the code from this thread ( https://community.st.com/t5/stm32-mcus-products/stm32h7-octospi-mode-hyperbus-hyperram-access-and-delay-block/td-p/143237/page/2 ) from @Alex - APMemory to the STM32H723ZGT6. You can find the result in the attached file `main_1.c`. With this configuration, read and write operations do work, but I am encountering issues with data mismatches/corruption.Subsequently, I tried to enable the Memory Mapped mode based on Application Note AN5050. This is where significant problems began I cannot get this mode to activate. The relevant code is in the attached file `main_2.c`.My specific questions are:1. Is there a known working example for enabling the Memory Mapped mode for this type of memory?2. Why does AN5050 not cover the MR (Mode Register) configuration and memory initialization sequence?
Hello ST Community, I am currently in the hardware selection phase of a product development project and am evaluating STMicroelectronics accelerometers for our production design. I am hoping the community and ST engineers can help clarify driver availability and support options for our target platform.Platform OverviewOur production platform is based on the Quectel SC200U module running Android 14. The key processor specifications of this platform are as follows: Application Processor: Octa-core 64-bit ARM Kryo™ 260 CPUDSP: Qualcomm Hexagon DSP, Dual-HVX @ 512 MHzGPU: Adreno™ 610 @ 950 MHzOperating System: Android 14A critical hardware design constraint of this platform is that the dedicated SENSOR_I2C interface exclusively supports sensors operating under the ADSP (Audio Digital Signal Processor) architecture. Specifically, the hardware design document explicitly states:"SENSOR_I2C only supports sensors in the ADSP architecture"Accelerometer Candidates Under EvaluationW
I’m using the X-NUCLEO-LPM01A (PowerShield) and previously had firmware version 1.0.1, where I could connect via a serial terminal over USB and interact with the board using commands. But error occured short after, with LED 2 on the board indicating USB enumeration failure. Updating the STM32-LPM01-XN firmware version to the latest one (1.0.8) solved that issue but now no sign of connection via a COM port terminal. Everything works fine using via a graphical user interface using the STM32CubeMonitor-Power software tool. But would prefer controlling via COM terminal ... Thanks for the support
Hi, I am using an STM32F767ZI to communicate with a Dacai HMI display over UART7 at 9600 baud. Sending data from the STM32 to the HMI works perfectly, but receiving data from the HMI is unreliable. The same HMI works fine when communicating with other MCUs—both TX and RX work reliably.When I touch: screen ID = 0 control ID = 12 HMI tool shows this frame: EE B1 11 00 00 00 0C 11 31 32 00 FF FC FF FF ( Data : 12 ( 31 32 ) ) Data reception does not match actual touch event HMI → STM32 reception is very unreliable Callback (HAL_UART_RxCpltCallback) is triggered rarely Breakpoint inside callback is almost never hit void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if (huart->Instance == UART7) { HAL_GPIO_TogglePin(GPIOB, LD1_Pin); // debug uint8_t b = rx_byte; if (frameIndex == 0 && b != 0xEE) { HAL_UART_Receive_IT(&huart7, &rx_byte, 1); return; } if (frameIndex == 1 && b != 0xB1) { clearFrameBuffer();
Hi there, i'm moving my first steps into ST boards programming and I have a trouble I can't solve. Following this youtube tutorial: https://www.youtube.com/watch?v=NFljjd_vQGAI tried to create the app in TouchGFX and it worked. I can flash my STM32F746G-DISCO board correctly: (image 1) The youtube tutorial ends with importing the project into STM32CubeIDE, to do so, you go inside STM32CubeIDE folder inside main folder named MyFirstTouchGFXProject and double-click on .project file: which I did after editing the files .project and .cproject. Because I have multiple projects based on the same board and ALL OF THEM get imported with the same name, without possibility to change that name, that is in my case: STM3232F746G_DISCO, and rename the project from within the STM32CubeIDE breaks it. Therefore I changed this lines..project: .cproject: At this point i double-clicked on .project and imported into STM
Hi,during porting the USBX as host stack to an stm32h7 I was getting an error indication,that a semaphore was used during interrupt context (OTG_HS_IRQHandler).For my opinion, it is wrong to call the generated code out of the ISR without decoupling the context. How did you solve the problem? Is there a posibility in cubemx the generate code with decoupling the context?.
My STM32cube IDE project has a pre-build command:${ProjDirPath}\Middlewares\Third_Party\nanopb\generator\protoc --nanopb_out=${ProjDirPath}\Application\cm4_interface --proto_path=${ProjDirPath}\Application\cm4_interface ${ProjDirPath}\Application\cm4_interface\cm4-interface.protoThe json that's generated doesn't correctly escape the '\' characters, which results in an error...
I’m a bit confused by the conflicting information regarding the STM part VN21-E. There is no MSL specified on the STM label – which makes sense given that it is a Pentwatt package (through-hole mounting = wave soldering = no real risk of MSL damage). However, STMs official partner DigiKey (and others) specify an MSL 3. That can’t actually be right, can it?
Hello, I am trying to build a simple firmware for my SensorTile.Box PRO to stream any data. Using MEMS Studio's AlgoBuilder, I have set the correct Toolchain (STM32CubeIDE), and the target (SensorTile.box Pro). Then I built a simple design with Quaternions 9X attached to the Sensor Hub (Data Rate: Timer/100, Accelerometer Full Scale: 2g, Gyroscope Full Scale: 245dps), outputting to a Fusion component. I can generate C code and build and program my device in DFU mode.However, when I connect it over Serial after rebooting the device, I can connect to it but the "play" button is grayed out and I cannot stream any data.Using STM32CubeProgrammer to flash other compatible firmware that came with MEMS Studio (steval-mkboxpro, steval-mkboxpro-ble), I can connect and stream (play button is enabled) data as per normal so I doubt the problem lies with the hardware.I have also tried other designs with SensorHub -> Any other sensors -> Value instead of Quaternions 9X, but none of it work
gpioinfo outputgpiochip9 - 10 lines:line 0: "PZ0" inputline 1: "PZ1" inputline 2: "PZ2" inputline 3: "PZ3" inputgpiomon output# gpiomon --num-events 1 --edges falling PZ0^C# gpiomon --num-events 1 --edges falling PZ1^C# gpiomon --num-events 1 --edges falling PZ2^C# gpiomon --num-events 1 --edges falling PZ3gpiomon: unable to request lines on chip /dev/gpiochip9: No such device or addresswhy is there a problem with PZ3 pin specifically? noone is using itshould i add something in dts?
Hi, I don't know where to post this message. There's an error in the RM0090 Rev21 reference manual, page 121: "bit 15 of the PWR_CR register" should be "bit 14 of the PWR_CR register". And most importantly, the debugger doesn't have bit 14 (VOS) of the PWR_CR register. I'm using an STM32F407ZET. I downloaded the archive https://www.st.com/resource/en/svd/stm32f4-svd.zip, and this bit is indeed missing from the STM32F407.svd file! Please email whoever needs this information, and have them fix it.
For the STM32MP135 series, specifically the STPMIC1A I'm using, can VDD_CORE and VDD_CPU share the same power rail (buck1)?
Hello,I am converting from Arduino to STM 32 Cube IDE. Here I have a Problem with include paths:What I want:- Develop Libraries in a special folder- Add the libraries as a LINK to the Cube IDE- use #include command to include the library into the project What I have done:- I made a new Project "Blinky" in the cube IDE - done- I selected a nucleo board in the cube IDE - done- I programmed a hello world blinky using HAL without libraries - done.So the environment and the board is running.- right clicking on the project I created a new source folder "MyLibs"By drag and drop I copied my library called "After" folder into the new MyLibs folder. Answered the message by "copy link only" into the new folder "MyLibs"The copied folder "After" contains an other folder "src" where the source files are located. Here a picture of the project: Now I go to properties and set the include path to the directory /MyLibs/After/src/: The second line indicates that I have included the di
Hi,Having successfully installed SW4STM32 I recently tried to build the example project detailed on the RIP Tutorial web page entitled "First time setup with blink LED example using SW4STM32 and HAL library". This "threw up" four errors. The first was classed as a fatal error whilst the other three errors involved "make" which I believe are due to the first error.Within the IDE, on the "Problems" tab, the first error is listed as follows.Description: fatal error: usbh_conf.h: No such file or directoryResource: usbh_conf.hPath: /STM32F4_Discovery_Blinky/Middlewares/ST/STM32_USB_Host_Library/Core/Inc line 28 C/C++ ProblemWithin the ".../Inc/" directory is a further subdirectory called "usbh_core.h" within which is the "offending" (non-existent?!) usbh_conf.h This header file is clearly listed on both the Project Explorer and Outline tabs within the IDE. Opening this file shows the following. (How could this be done if the file did not exist ?!) /** **********************************
I have five projects on the go, which compile and debug well on STM32CubeIDE 1.X.X (at least for 1.12.0+), but with warnings. I am now trying to shift to more recent versions of CubeIDE (2.X.X), but they behave as if ">Properties>C/C++Build>Settings>Tool Settings>MCU>MPU GCC Compiler>Warnings>Treat warnings as errors (-Werror)" is enabled, even when it is not.I believe that my settings in the more recent CubeIDE are identical to the older one, and I have tested this on two different computers with similar results. The error which is currently causing the compilation to halt is " ...error: implicit declaration of function 'xxxxx' [Wimplicit-function-declaration]", but if I resolve it, another item which should be a (legitimate) 'warning' will appear as an 'error'. I am using "ISO C11 (-std=c11)", and have the same issue if I attempt to use GNU11.Unfortunately, I cannot resolve all the warnings without creating other problems, so this issue is preventing me f
The integrated ST-Link debugger/programmer on STMicroelectronics NUCLEO boards is widely appreciated for its ability to output messages to a serial port, enabling easy debugging and communication with host PCs. However, setting up the board to not only send but also receive commands from PC-based applications such as Tera Term requires additional programming effort. This guide will walk you through the steps to implement bidirectional serial communications, allowing your NUCLEO board to interact dynamically with your computer.
Hi, im doing a line follower and using the mcu stm32 f411, its a small development board arduino nano style, and i conected it to the motor driver tb6612fng, and it seems to have backfeed motor suply voltage on the logic pins and it burned my mcu.My question is how to prevent this?
Hi all,I recently designed and built a custom PCB for data acquisition and transmission through bluetooth using an STM32U575 as the main MCU and a BlueNRG-M2SA module for bluetooth data transmission configured as a Network Coprocessor. They are connected via SPI following the pinout on the BlueNRG-M2 datasheet and also looking at the X-NUCLEO-BNRG2A1 schematics. The BlueNRG-M2SA is connected to an external connector via SWD for flashing using an STLink-V3Minie. Resistor R13 is not usually soldered and is just used to enable the bootloader during image flashing. Schematic for the BlueNRG-M2 on the custom PCB provided below:The problem is that I have not been able to achieve communication between the STM32U575 and the BlueNRG-2 module as whenever the main MCU waits for the IRQ signal from the BlueNRG-M2, it doesn't receive any and therefore returns BLE_STATUS_TIMEOUT and gets stuck after aci_hal_set_tx_power_level() during Device_init(). I have tried uploading different DTM ima
Hello, I have designed a custom PCB for sensor acquisition and I am using an STM32U575 as main processor and then a BlueNRG-M2SA module configured as a coprocessor with the DTM_SPI.hex image. They are both connected through SPI but I can't seem to get past the verify_packet() function. I attach a zip file with my STM32 project in which I am using the X-CUBE-BLE2 middleware with the beacon application and HCI_TL set to Basic and HCI_TL_INTERFACE to UserBoard.My SPI is configured with polarity set to low, 1 edge clock phase and with a frequency of 1MBit/s.The problem I am having is that it seems like the packets I am receiving through SPI don't make sense completely and they seems to be a bit off. I have measured the SPI signals and the received header is {0xFF,0x09,0x01,0x06,0x00}. The measured signal is shown below together with the clock and the rising edges marked The data received after the header is {0x04, 0xFE, 0x06, 0x02, 0x00, 0x02}. The following image shows the
Hello, I hope to reach the appropriate contact regarding Country of Origin (CoO) information at ST.We have identified a conflict between the CoO listed on the website and other documents (such as PCN and the attached FMD chemical document). These documents indicate that the CoO for part STM32H523RCT7 is China, while the website lists the CoO as France.Could you please clarify this discrepancy and specify what the France CoO refers to? Based on our documents, the CoO China corresponds to the country of assembly.Your clarification on this matter would be greatly appreciated. Website CoO FRANCE : https://www.st.com/en/microcontrollers-microprocessors/stm32h523rc.html#sample-buy
hello team, I am facing a debug connection issue with STM32H723VGTx using STM32CubeIDE and ST-LINK.Issue details:MCU: STM32H723VGTxDebug tool: ST-LINK (OpenOCD via STM32CubeIDE)Interface: SWDReset mode: Software resetSWD frequency: 50 kHzObserved behavior:ST-LINK connects successfully.Cortex-M7 core is detected correctly.GDB server starts, but the debug session fails during memory access.Error message: Error: Failed to read memory at 0x5c001000 Error: auto_probe failed Error: Connect failedAdditional observations:Target voltage reported by ST-LINK is ~2.8 V.I already tried:Lowering SWD frequencyUsing software resetAdding monitor gdb_memory_map disable in debug startup commandsHalting on resetIssue still persists.Request:Could you please confirm:Whether this memory address (0x5C001000) access failure is related to power / AXI-D2 domain / debug configuration on STM32H723.If there are any recommended debug settings or patches for STM32H7 devices under these conditions.Whether mi
Hello Community,I tried with different boards (073, 093, 533, 401) to work with the SPI1 or SPI2.I used the examples, but there is no clock on an SPIx clock pin.e.g. HAL_SPI_Transmit(&hspi1, SpiData, 2, 100); Has anybody a working STM32Cube porject to load in the STM32CubeIdefor an SPI only master (no slave no DMA) in the send modus via MOSI pin.Thank youMichael
Hello everyone!I am currently working on a speaker project that gets audio data from a microsd card over spi and sends it over i2s with DMA.I noticed that the main issue is the latency from the sd card so i got the adivce to use a triple pointer ring buffer.I searched for implementations on triple buffering with i2s but couldn't find a single one.I tried implementing it but it didn't work.(i added the code file to the post)Does anybody have good resources to learn this?
A new STM32 sub-family (as part of the 'H5 family) came out. They have everything but the kitchen sink. As far as I can tell, 'H5E4 and 'H5E5 differ only in that the higher one has USB-HS with PHY (the 'H5Fx are crypto-enabled variants, as usually) What's new is also the PLAY peripheral, which is a small programmable logic element, fully documented and configurable through registers. It's based around 16 simple logic elements (4-input LUT and an optional register), complete with an extensive input multiplexer matrix+filter, interconnected to a variety of peripherals (timers, DMA, ADC...) and also GPIO. I wonder, if there's a Disco around... JW
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.