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
Please go and visit our wiki pages where you can find a lot of information on our wireless product families (WB, WBA, WL) and the supported protocols: BLE, Zigbee, Thread, Matter, Lora, ... To begin your technical journey, please start from this top page: https://wiki.st.com/stm32mcu/wiki/Category:Connectivity This top page will guide you to the first steps to develop a wireless application using connectivity protocols on ST wireless microcontrollers. For BLE protocol, please visit: https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_BLE_with_STM32https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Bluetooth_LE_Audio You can find information on BLE Certification, BLE Features, BLE Mesh, BLE Audio, … For Zigbee protocol, please visit: https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Zigbee You can find information on Zigbee certification, Zigbee Features, BLE-Zigbee concurrent mode, … For Tread protocol, please visit: https://wiki
Dear all, The X-CUBE-MATTER Expansion Package is now available on our official website following this link MATTER - Matter software expansion for STM32Cube - STMicroelectronics It is a reference implementation for the demonstration of Matter on STM32. It is ready for prototyping a Matter end-device on a reference development platform. Refer to STMicroelectronics Matter wiki articles at https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Matter to get started with matter for the supported STM32 platforms. Kind regards, Ouadi
Configuration NMEA command with QZSS 1.GPS $PSTMCFGCONST,2,0,0,0,0 $PSTMCFGCONST,2,0,0,2,0 1.Glonass $PSTMCFGCONST,0,2,0,0,0 $PSTMCFGCONST,0,2,0,2,0 1.Galileo $PSTMCFGCONST,0,0,2,0,0 $PSTMCFGCONST,0,0,2,2,0 1.BeiDou $PSTMCFGCONST,0,0,0,0,2 $PSTMCFGCONST,0,0,0,2,2 1.GPS & Galileo $PSTMCFGCONST,2,0,2,0,0 $PSTMCFGCONST,2,0,2,2,0 1.GPS & Glonass $PSTMCFGCONST,2,2,0,0,0 $PSTMCFGCONST,2,2,0,2,0 1.GPS & BeiDou $PSTMCFGCONST,2,0,0,0,2 $PSTMCFGCONST,2,0,0,2,2 1.Galileo & Glonass $PSTMCFGCONST,0,2,2,0,0 $PSTMCFGCONST,0,2,2,2,0 1.Galileo & BeiDou $PSTMCFGCONST,0,0,2,0,2 $PSTMCFGCONST,0,0,2,2,2 1.GPS & Galileo & Glonass $PSTMCFGCONST,2,2,2,0,0 $PSTMCFGCONST,2,2,2,2,0 1.GPS & Galileo & BeiDou $PSTMCFGCONST,2,0,2,0,2 $PSTMCFGCONST,2,0,2,2,2 2.Save on flash and 3.Reset $PSTMSAVEPAR $PSTMSRR $PSTMSAVEPAR $PSTMSRR
In order to have a quick response to your forum posts, the best way to ask the question is:- Give the version of the MCSDK used. - Say if the problem concerns a tool (MC Workbench, Motor Pilot, Motor Profiler, etc...) - Provide picture of tools interface when is possible.- Attach the STWB6 file of the project or the JSON of the board when possible.Choose a label for the post ( Motor Pilot MC Workbench, etc...), you can select it to the right of where you write the message.Here is a template that you can reuse:[PN]: Part Number of the products used[VERSION]: Version of MCSDK[TOOL]: Name of tool ( Firmware, MC WB,MC PROFILER, etc..)[DETAILS]:symptom observed or request/question details[EXPECTED BEHAVIOR]:if related to performance then what is the target[HOW TO REPRODUCE]:input, output, steps But before entering a new post, please consider to first check our Motor Control documentation available via Work Bench Tool by clicking on About -> Documentations -> Documentation -> i
Hi,Chip: STSPIN32G0602Q (STM32G031 core + integrated 3-phase gate driver)Board: custom BLDC driver board, powered via 115VAC through an isolation transformer into the board's own AC input; the board's onboard PFC/rectifier stage converts this to the internal DC buses (HV+ ~400V DC bus, and VBUS ~50-120V DC, which is the rail actually switched by the MOSFETs under test)Purpose of this test: end-of-line (EOL) production test — statically turning on one high-side MOSFET and one low-side MOSFET on different phases (e.g. U-high + V-low) for a short, controlled period, then checking output voltage/current, to verify each MOSFET pair switches correctly before the board ships. This is a functional pass/fail check, not normal motor operation — no continuous PWM switching or motor commutation is involved.Problem: TIM1's gate outputs never turn on. Root cause traced to: BIF (break flag) is always set, so MOE can never be enabled.What happensI start a TIM1 channel (HAL_TIM_PWM_Start + HAL_TIMEx_PW
Heyho,I’m confused - or the STM32G431KBU (in QFN32) is…I’m using ADC 1 with 2 external inputs, PA0, PA1, and the internal “REFI” and temperature channel “TEMP”.All running with continuous and circular DMA in the background, no interrupts. If I need an ADC value, I simply grab it from the ADC DMA buffer.This is basically working, except for the channel sequence. Which I set manually, but have at least triple-checked the SQR1 / SQR2 values with the RM... If I set up the channel sequence in ADC1->SQR1 in the order: PA0, PA1, REFI, TEMP, then I find in the DMA buffer instead of this order: 0, PA0, REFI, TEMP→ so PA0 was “shifted”, PA1 is nowhere to be found (it is not 0, checked the GPIO via scope). If I add and insert a dummy channel “VDMY” as the first in the sequence, so that the sequence should result in VDMY, PA0, PA1, REFI, TEMP, I find this order in the DMA buffer:PA1, VDMY, PA0, REFI, TEMPAt least I get all the channels now, the measurement data is correct. So, what am I messing
I noticed that stm32c5xx_hal_fdcan.c uses C language bitfields to access device registers. Since bitfields are compiler specific, every knowledgeable embedded software engineer knows that using bitfields to access device registers is non-standard and not to be used. I suggest that using bitfields to access device registers be changed. You can refer to STM32CubeH7 for correctly accessing device registers. BTW. I tried to open a support issue in the on-line support, but received the following error:Case_trigger: execution of AfterInsert caused by: System.DmlException: Update failed. First exception on row 0 with id 0033W00000YERuSQAX; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Please specify a valid Zip Code: [] Class.CaseUtility.addInfoToContactAndLead: line 231, column 1 Trigger.Case_trigger: line 38, column 1
so this is my data acquisition system, i want you to suggest some improvements in it. as the adc + dma ping pong buffer is working fine, but after that the conversion and its transmission via dma+uart ping-pong buffer is so much miserable. there is no synch between these buffers.here is my project:Vishwas1523/dataAcquisitionSystemPS: i am using stm32 nucleo f446re
Hello everyone,Actually I am making a data acquisition system in which my mcu takes analog data from a sensor and stores it in a buffer, and then into a 2nd buffer with the help of DMA in double buffer mode. Now i want to transfer this data via UART to my screen with the help of PuTTY with the same ping-pong architecture. For this i need to convert 12 bit adc value to data suitable for uart (8 bit). which i do with the help of a function without any issue and then store them in different two buffers. now the thing is that i want a system in which when buffer 1 is being filled by adc, buffer two will be transferred by uart and vice versa, now the main problem is that there is no sync between the buffers and the ownership. and it is mostly due to the conversion and size of buffers (uart buffers are twice the size of adc buffers) as i am using double buffer transmission mode in DMA controllers of both adc and uart.So do you think i should use single buffer transmission with circular buffe
Hello ST Team,I am evaluating the secure boot and secure firmware update solutions for the STM32H5 family and plan to implement OEMuRoT on an STM32H5F4 device.While reviewing the wiki article OEMiRoT OEMuRoT for STM32H5, I noticed that the STM32H5F4xx is not listed as a supported device family.Security:OEMiRoT OEMuRoT for STM32H5 - stm32mcuI would like clarification on the following points:Is STM32H5F4xx intentionally excluded from OEMuRoT support? Are there any hardware or security-feature limitations in STM32H5F4 that prevent OEMuRoT implementation? My target device is STM32H5F4, and I am planning a secure firmware update architecture based on Root of Trust and authenticated firmware updates. Any guidance or roadmap information would be appreciated. Thank you, RJ
Hello ST Team,We are evaluating STM32TRUSTEE-SM (Secure Manager) on STM32H5F4 devices and would like clarification regarding the external flash support architecture.From the STM32TRUSTEE-SM documentation and wiki pages, we understand that:Secure Manager provides an External Flash Profile.An External Flash Driver is referenced as part of the Secure Manager configuration flow.External firmware and data confidentiality can be enabled through OTFDEC.OTFDEC-based secure external memory access is described together with the OCTOSPI peripheral.Secure Manager supports firmware download slots located in external flash memory.However, we need clarification on the supported external memory architecture and driver model.Questions1. External Flash Interface Support restricted to memories connected through the OCTOSPI peripheral, or are other external memory interfaces also supported? Specifically, does the External Flash Profile support: Octal SPI NOR Flash, Quad SPI NOR Flash,
Hi ST Community, I’ve connected a MP23DB01HPTR MEM MIC to the STM32N6 Nucleo’s MDF1_SDI3 and MDF1_CCK0 and here is my connection. I am using“ Projects/STM32N6570-DK/Examples/MDF/MDF_AudioRecorder” as a reference and according to the information on Github, the CCK0 should be 2.048 MHz Which I am measuring almost the same frequency on the CCK0 pin of my board : 2.03393 MHz In my project, instead of sending the data to SAI, I am sending the data to USART 1, which I’ve set the BaudRate to 921600. My code has three callback functions:void HAL_MDF_AcqHalfCpltCallback(MDF_HandleTypeDef *hmdf)void HAL_MDF_AcqCpltCallback(MDF_HandleTypeDef *hmdf)void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) The USART 1 is sending the first half of the MDF buffer when the AcqHalfCpltCallback is triggered, and then the second half when the AcqCpltCallback is triggered. on my computer I wrote a python script where it is receiving the audio raw data via serial port and save it into a WAV file. However
Hello all,I can't download the STM32CubeIDE even as I am registered. There seems to be somthing broken with the Web page. I have tried several browsers. This is what I get, so there is no download button and the table is garbled:Any help appreciated.Johannes
Hello,We are designing an EVSE for a North American 120/240-V split-phase supply. The EVSE is connected to L1 and L2, with a nominal voltage of 240 V RMS between them. Neutral is not available at the EVSE.We would like to use the STPM34 to measure the L1-to-L2 voltage and calculate the load power and energy. Current sensing is implemented separately using current transformers and is not shown in the attached schematic.Our proposed voltage-sensing circuit uses the primary differential voltage channel as follows:L1 is connected to VIP1 through three series 560-kΩ resistors. L2 is connected to VIN1 through an identical resistor chain. Each input has a 1-kΩ resistor and filter capacitor connected to the local analog ground, iGND_A. iGND_A is the local ground of the isolated STPM34 metrology domain. It is not connected to neutral or protective earth.The intention is to create a symmetrical differential divider so that the voltage between VIP1 and VIN1 is proportional to the L1-to-L2 voltage
Hi ST Support Team,We encountered a reproducible HardFault when running an object detection model on the STM32N6570-DK, and have completed extensive isolation testing. We believe this points to an issue in the STEdgeAI 4.0.1 / Neural-ART toolchain combined with the Getting Started reference application (concurrent camera/display/NPU usage), rather than a configuration mistake on our side.[Environment]- Board: STM32N6570-DK (with IMX335 camera)- Project: Getting Started Object Detection App (stm32ai-modelzoo-services)- Model: st_yoloxn (1 class, 416x416), Quantized (input: uint8 / output: int8)- Toolchain: STEdgeAI Developer Cloud v4.0.1 (forced by cloud; v4.0.0 is no longer offered, though the project's own README states the shipped model files were generated with v4.0.0)[Symptom]Build, flash, and boot-from-flash all complete without error, but the LCD stays black. Debugging via STM32CubeIDE shows a HardFault during NPU inference:HardFault_Handler()__LL_ATON_RT_IrqErr(irqs) // ll_ato
Hi All,Where can I find the pin map xml file for the SPC584B-DISP demo board ?
Body:I would like to replace the AI model in the STM32N6570-DK sample project "STM32N6-GettingStarted-ImageClassification" and run it in standalone mode.Purpose:My goal is simply to try running different AI models, not for development purposes. I would like to confirm operation by powering the board ON/OFF without using a debugger.Environment:Board: STM32N6570-DK IDE: STM32CubeIDE 2.2.0 STM32CubeAI StudioWhat I want to do:I am currently trying to generate C code using STM32CubeAI Studio from the following AI model provided by STMicroelectronics, and replace the files in the sample project:https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/image_classification/mobilenetv2/Public_pretrainedmodel_public_dataset/ImageNet/mobilenetv2_a035_128/mobilenetv2_a035_128_int8.tfliteI am also interested in whether it is possible to run third-party AI models in the same way, such as models from the following repository:https://github.com/PINTO0309/PINTO_model_zooQuestions:What is the co
Can anyone please pint me out to a BSDL file useful for STM32H7A3VIH6Q ? Thank youGabriele
Hi,On STM32U575CGU3, I see a reproducible +200 µA increase in current after calling MX_ADC1_Init() once. Even after HAL_ADC_DeInit(), ADC reset, and disabling VddA, the additional current does not return to the original baseline.Here is the minimal code:cint main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_GPDMA1_Init(); MX_ADC1_Init(); // +200uA increase MX_OCTOSPI1_Init(); MX_SPI1_Init(); MX_USB_OTG_FS_PCD_Init(); MX_USART1_UART_Init(); MX_ICACHE_Init(); // ADC Disable HAL_ADC_DeInit(&hadc1); __HAL_RCC_ADC1_FORCE_RESET(); __HAL_RCC_ADC1_RELEASE_RESET(); HAL_PWREx_DisableVddA(); while (1) { __NOP(); }}Questions Has anyone observed similar behavior on U5 devices (ADC bias or VREFBUF staying active after initialization)? Are there known conditions where ADC/VREFBUF analog blocks remain powered even after DeInit and VddA OFF? Any hints on additional steps required to fully shut down the analog domai
The STM32MP2 supports gstreamer. There is a version of Gstreamer for streaming through the WebRTC protocol.Another library for streaming though the WebRTC protocol would be LibWebRTC.My question is if the STM32MP2 have support for LibWebRTC as well? Thank you for your reply
Hello Everyone,I have a two arduino boards communicating with each other on a CAN Bus. Arduino is connected to CAN Bus via MCP2515 .Both arduino are communicating correctly with each other. Here is an example of my transmitter on arduino:/*************************************************/#include <SPI.h>#include <mcp2515.h>/*******************MESSAGES DEFINITIONS*****************/#include <SPI.h>#include <mcp2515.h>struct can_frame canMsg1;struct can_frame canMsg2;MCP2515 mcp2515(10);void setup() { canMsg1.can_id = 0x0F6; canMsg1.can_dlc = 8; canMsg1.data[0] = 0x8E; canMsg1.data[1] = 0x87; canMsg1.data[2] = 0x32; canMsg1.data[3] = 0xFA; canMsg1.data[4] = 0x26; canMsg1.data[5] = 0x8E; canMsg1.data[6] = 0xBE; canMsg1.data[7] = 0x86; canMsg2.can_id = 0x036; canMsg2.can_dlc = 8; canMsg2.data[0] = 0x0E; canMsg2.data[1] = 0x00; canMsg2.data[2] = 0x00; canMsg2.data[3] = 0x08;
Hello Team,We have manufactured 500 boards using STM32WBA52CGU6. During testing, we tested 50 boards, out of which 5 boards are not advertising BLE, while the remaining 45 boards are working normally.We have attached the schematic and PCB layout screenshots for your reference.Our PCB is a 2-layer board, and we have not followed a controlled 50 Ω impedance for the RF trace. Could this be contributing to the BLE advertising issue on these 5 boards?Could you please review the attached schematic and layout and help us debug this issue? We would also appreciate your guidance on the key parameters or measurements we should checkon the failed boards compared with the working boards.
I have two boards, one with STM32F303 with CAN 2.0 and a new board (same electronic, only MCU is different) with STM32G474. Software is identical too, except for the CAN/FDCAN. So I had to migrate the software from CAN 2.0 to FDCAN Classic in order to communicate with the other system boards. In the treatment of the received frames, I noticed that the CAN 2.0 is faster in managing the communication than the FDCAN Classic. Can anyone confirm that ? and if so why does it take so long to the FDCAN classic ? As I send frames to both board, the STM32F303 program timing isn't affected, for the STM32G474 I measured a delay of some ms. Clocks are as follow:STM32F303 : CPU: 72 Mhz CAN baudrate: 500Kb/sSTM32G474 : CPU: 170 Mhz FDCAN classic baudrate: 500kb/s
i am using cube mx version 6.18.0and cube ide v2.2.0my question is is there a way to create a new project from an already existing ioc filei don’t want to do all the ioc setting all over again, it will take like hours to do all the settings.
Hello everyone! I got the following problem; I need to read from two 32bit addresses and write the data to three. Specifically, i am interested in the case shown in the left side of the image, where the N[0:15] increment by half word and write to the M[0:15] but it will increment by a full word. Don't worry about the reserved bytes in the HTIMx_CC1R, I checked the manual and are always at zero. I saw that the H7 can read/write with weird patters using the fifo functionality. The thing is I can't understand at all how to set it up. Is there any other better way? Thanks in advance!
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.