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 ST: VL6180X has been discontinued, but our older equipment still uses it. We hope to obtain the IEC 60825-1 CB test certificate to prove its Class 1 rating. However, this certificate is not available on ST's official website, whereas it is provided on the VL53L4CD product page. Could you please provide support for this?"
Hi,I’m using an STM32L412RB where the USB DM/DP lines are already configured as a Virtual COM Port (USB CDC device).Now I want to communicate with an RS485 bus without changing the existing board hardware.My idea is to build a small adapter board that connects the STM32 USB DM/DP pins to an external USB-to-RS485 converter (which has DM and DP lines).Is it possible to design such an adapter to convert the STM32’s USB VCP interface to RS485?Can the STM32 (configured as a USB device) send and receive RS485 data through this path:STM32 (USB CDC Device) → USB DM/DP → USB-to-RS485 Converter → RS485 BusAny guidance or reference designs would be helpful.Thanks,Sujith
Hi. I used steval-ipm15b and nucleo-g431 to run a pmsm motor. when I see the current waves in the motor pilot or osciloscope, they are not sinus-shaped waves. can anyone help me what is the problem and what should I do?
I am using Keil MDK Pro ver 5.38, Compiler ver 6.19, Middleware 8.0.0 (Also tried lower and upper versions). I am using STM32F746NGH6 MCU . I generated a USB FS Host only code in CubeMX. Exported to keil. Compiled the code and got zero errors and zero warningsHowever, after adding RTX5 and middleware components to keil project, the error of MX_Device.h file not found. Ther is no clear solution for this problem on unternet anywhere. Why STM32CubeMX is not generating this file? What is the way forward?
Hi I am trying to configure a project in Vs code.1) Created/Generated a project using STM32CubeMX.2) in vs code extensions added3) by using open folder latest created project loaded4) on pop-up Debug option selected5) Then when it comes to device selection unable to find STM32H7 Series, eval board numbers in the list.Note : STMCUFinder path, cubemx paths configured . please check below images
Hi everyone. I am driving a Neopixel LED with a PWM signal in DMA mode using a timer. Even though all variables are the same, my code works with timer 3, but the same code doesn't work with timer 2 with the same timer configuration. Why could this be? I checked for a 16-32 bit difference, but they say it's not related to that. I have an STM32G431 Nucleo board. I tried all pin configurations for timer 2 channel 1, but it didn't work. İf it's normally and ı cant use this for neopixel, I will change timer but I use other timers for different jobs with different frequences. But ı dont thinks so.
Good evening.1) Can I public my personal project on the Github, with the source code which has been generated in the TouchGFX Designer (like a template project or example)? Are there any licensing issues with it?2) Can I use the GPL-v3.0 license for my project?
Hy,I have tried to resample a 16bit/8kHz audio signal to 16kHz and 48kHz.Conversion works, but the audio is noisy. I am tested it on development board STM32H747 CM7 core.I have tried libraries: SRC236_CM7_GCC.a and SRC236HQ_CM7_GCC.a without quality improvement.I am working with 10ms blocks.Initialization parameters are: // conversion from 8kHz to 16kHz src236_static_param_t src236_static_param.src_mode = SRC236_RATIO_2; // library initialization src_error = src236_reset(PSrc236PersistentMem_ToCodecOut, PSrcScratchMem_ToCodecOut); if (src_error != SRC236_ERROR_NONE) { return (-1); //error AUDIO_ERROR_SRC } /* SRC236 effect static parameters setting */ src_error = src236_setParam(&src236_static_param, PSrc236PersistentMem_ToCodecOut); if (src_error != SRC236_ERROR_NONE) { return (-1); //error AUDIO_ERROR_SRC } // 8kHz, 16 bit audio input // 10ms block LowRateConversionBuff_ToCodecOut.nb_channels = 1; LowRateConversionBuff_ToCodecOut.nb_bytes_per_Sample = 2; LowRateConv
I'm experiencing a configuration incompatibility between SAI1 and GPDMA1 on STM32N657 when using FreeRTOS with D-Cache enabled. The SAI/GPDMA configuration works individually but fails when used together, specifically related to D-Cache coherency issues.Hardware ConfigurationMCU: STM32N657X0HXQ (Cortex-M55 with cache) [Nucleo board]Audio: SAI1 Block B in Master RX mode, I2S format, 16kHz, 24-bitDMA: GPDMA1 Channel 0 in LinkedList Circular modeRTOS: FreeRTOS with both I-Cache and D-Cache enabledThese are the SAI and GPDMA configurations:static void MX_SAI1_Init(void) { hsai_BlockB1.Instance = SAI1_Block_B; hsai_BlockB1.Init.AudioMode = SAI_MODEMASTER_RX; hsai_BlockB1.Init.Synchro = SAI_ASYNCHRONOUS; hsai_BlockB1.Init.OutputDrive = SAI_OUTPUTDRIVE_DISABLE; hsai_BlockB1.Init.NoDivider = SAI_MASTERDIVIDER_DISABLE; hsai_BlockB1.Init.FIFOThreshold = SAI_FIFOTHRESHOLD_EMPTY; hsai_BlockB1.Init.SynchroExt = SAI_SYNCEXT_DISABLE; hsai_BlockB1.Init.MckOutput = SAI_MCK_OUTPUT_DISABLE; hsai
Hello everyone,I am working with the STM32H7B3-DK and evaluating the SBSFU package with a dual image slot configuration using SECBOOT_ECCDSA_WITH_AES128_CBC_SHA256. I have a few questions and kindly request your guidance:Please confirm if we can load sbsfu.bin or sbsfu.out via USART with BOOT0 = 1 and then program UserApp.sfb via the secure bootloader (BOOT0 = 0). Do we need a header bin? If yes, how can we merge only sbsfu.bin and the header bin while excluding UserApp.bin?With RDP Level 2 set, is it still possible to update UserApp.sfb via USART when BOOT0 = 0?Can SFU_SECURE_USER_PROTECT_ENABLE be enabled or disabled during development, and can reprogramming still be done via USART or SWD outside development mode?During development, can we disable all security IPs, load sbsfu_userapp.bin, and later enable protections over USART followed by a power cycle? Is this workflow possible?If RDP Level 1 is configured, can option bytes and protections (PCROP, secure user area) be reset v
Hello,I’m working on STM32H7 firmware using the STM32 Cryptographic Library (CryptoLib) for firmware decryption.I have the following scenario:Firmware is encrypted with AES128-GCM.Integrity and authenticity are verified separately using ECDSA + SHA-256.I want to decrypt firmware using AES-GCM in counter mode (CTR) without relying on the GCM authentication tag.My questions are:Does AES-GCM in STM32 CryptoLib support CTR-only operation, bypassing the Galois-field authentication step?If not, is there a recommended way to perform AES-CTR decryption using CryptoLib on STM32H7 without tag verification?Are there any known limitations or caveats when skipping GCM tag verification in STM32H7 CryptoLib?Thanks in advance for guidance.@Jocelyn RICARD @Fred
As we are developing the camera streaming board for one of our client, I have the following queries:Both part numbers, STM32MP135DAG7 and STM32MP135FAG7 come in the TFBGA289 (9×9) package. Are the pinouts identical for both devices? can we interchange the part in PCB assembly?I believe only security features are add in FPlease share the OrCAD schematic library files for both MPUs — STM32MP135DAG7 and STM32MP135FAG7.
hello all,i bought multiple 5 unit of 32F469IDISCOVERY and tested them all not a single one lcd shows pre installed demo. so i bought 2 more uniits from different vender but foud same issue. what would be the possible cause? ia some one got same issue?
Hello everyone,We are working on a project using a STM32WB5MMG, facing a strange situation with AES encryption userkeys. Our application code performs data encryption using the internal AES module and for that we load the (previously saved) internal user key from index 1. Everything works fine if we only flash the application code.But, our full project also uses BLE OTA, as long as SECoreBin and SBSFU, besides the previously mentioned application code. By the way, SBSFU uses the key in index 1 to decrypt the encrypted firmware image received from BLE OTA.The thing is that when the full project is flashed, our application cannot load userkey from index 1 anymore and we have to use the one from index 2. It would seem that userkey index 1 is reserved for the secure core and cannot be used by the user application.We could not find any documentation that states that index 1 is reserved for the secure core, in case it is present. So, are we doing something wrong then? We could not find any m
Hello everyone,I want to add external RAM to the NUCLEO-N657X0-Q. From the docs I see two options:FMC with PSRAM/SRAM or SDRAMXSPI with HyperRAM or serial PSRAMBoth options seem to require wiring from the board headers (I couldn’t find a ready plug-in).Is there a simpler way to add the external RAM? I need something similar to the one STM32N6570-DK board provides. Any recommendations would be greatly appreciated.Thanks in advance!
Hello,I'm currently trying to set up a simple project for the STM32N6750-DK. I want to toggle the red User-LED. I already worked a bit with ST-boards, so I did already started a new project in the CubeIDE and selected the LED as a GPIO-Output in the *.ioc file. Here comes my problem:Where do I put my code and how do I flash the programm on my board? Unfortunately I couldn't find a tutorial that described it step by step and I'm very confused how to handle the different projects (FSBL and Appli) in the same folder. Where do I put the toggle-function for my GPIO-Pin? It seems that both main-function (in the FSBL and Appli-poject) do not know the confugurated pin.Furthermore if I want to flash one of these projects with just the default initiliazed peripherals, I get the following output on the terminal and the old program that I flashed before ist still working:Waiting for debugger connection...Debugger connectedWaiting for debugger connection...Debugger connectedWaiting for d
HelloMy current requirement is to generate an FSK waveform with two frequencies around 3-5 MHz, a rate of about 700K, and output a square wave using PWM. The method involves switching frequencies by updating ARR and CCR using two timers—one for PWM output and the other for frequency switching (updating ARR and CCR). The main issue is updating ARR and CCR simultaneously since these addresses are not contiguous, and various methods tried have failed. See if the approach below works.void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base){if(htim_base->Instance==TIM1){/* USER CODE BEGIN TIM1_MspInit 0 */ /* USER CODE END TIM1_MspInit 0 *//* Peripheral clock enable */__HAL_RCC_TIM1_CLK_ENABLE(); /* TIM1 DMA Init *//* TIM1_TRIG Init */hdma_tim1_trig.Instance = DMA1_Stream1;hdma_tim1_trig.Init.Request = DMA_REQUEST_TIM1_TRIG;hdma_tim1_trig.Init.Direction = DMA_MEMORY_TO_PERIPH;hdma_tim1_trig.Init.PeriphInc = DMA_PINC_DISABLE;hdma_tim1_trig.Init.MemInc = DMA_MINC_ENABLE;hdma_tim1_
Hi everyone.I tried adding USB_OTG_FS/Virtual Port Comm to STM32F407VET6 as a device only, but the problem is that when I try to connect the STM32 USB to my PC/laptop, it says “USB not recognized” on my PC/laptop, and I think it might be a problem with the cable, but after I replaced the cable 5 times and tried connecting it to my laptop, the problem remained the same.Where does this problem originate—in the code or the hardware itself?I used two boards, and both experienced the same problem. I replaced the MCU on the board with the original MCU.thank you :)
Hello,I am using an LSM6DSV16X with an external sensor on Unico-GUI. I want to train a decision that uses both the internal and external sensors as inputs for the MLC. I am trying to save data from the internal sensors as well as the external sensors, but I do not find the option to include the external sensors in the "Load/Save" in Unico-GUI, even when the LSM6DSV16X is actively reading data from the external sensor through Unico-GUI's "Sensor Hub Registers" tab. How do I use Unico-GUI to save external sensor data, and if it isn't possible, how would I include external sensor data in the training for the MLC. Thank you,Abdurrahman Farag
Split from https://community.st.com/t5/stm32-mcus-boards-and-hardware/st-link-contolled-by-python/td-p/677553Could you please give an update on this?I just ran "help python" within arm-none-eabi-gdb (IDE version 1.17.0) and got:(gdb) help python python, py Evaluate a Python command. Python scripting is not supported in this copy of GDB. This command is only a placeholder.It would be nice to know if this will be implemented at some point.My use case is similar to the OP - collection of target execution history within a unit test environment. I current have a Python script that controls the GDB server and runs the client with a command file, but it would be easier to use Python directly.Edited to correct IDE version.
The board has passed a authentication test so I currently believe it is a me issue. I have been trying to get a CAN bus going using the STM32 Blue Pill board with a TJA1050 CAN Transceiver, but for some reason even with basically copy pasted example code I don't even get activity on the lines. The transceiver modules I am using has the CAN bus terminating resistors built in resulting in a 60ohm resistance between the H and L lines. I've ended up putting together a basic test Tx and Rx bread board in hopes of figuring out whats going on with no clues. The Tx loop eventually goes dead for some reason which makes me think the HAL_addTx started locking up. Linked is a github repository with both projects. Also a video of the boards.
I've run into an interesting problem and curious if anyone knows a solution. I am adding TFTP support to an amateur radio project (soon to be published as open source). All the other code is based on LWIPs netconn API and I want the TFTP code to use netconn as well. Almost all the embedded LWIP examples I can find are for a TFTP server, not a client and all seem to be the native API too. Undeterred I'm off writing my own, but I've run into what seems a fundamental incompatibility between the TFTP protocol and how I understand basic IP comms work!The weird part about TFTP is that while the client sends a UDP packet from it's "upper" port to the well know TFTP port on the server (69), for a read request, by spec the TFTP server responds not from its well-known port, but a new random upper port! With LWIP (and this seems normal and correct), if you set up a connection to another device and it's port, only replies back from that port come back to you. A
Dear STM Community,I want to run Yolov8 object detection model from ST Model ZOO. I try to change STM32N6-GettingStarted-ObjectDetection from Yolo Tiny to Yolov8. I changed app_config.h:#define USE_DCACHE /*Defines: CMW_MIRRORFLIP_NONE; CMW_MIRRORFLIP_FLIP; CMW_MIRRORFLIP_MIRROR; CMW_MIRRORFLIP_FLIP_MIRROR;*/ #define CAMERA_FLIP CMW_MIRRORFLIP_NONE #define ASPECT_RATIO_MODE ASPECT_RATIO_FIT /* Model Related Info */ #define POSTPROCESS_TYPE POSTPROCESS_OD_YOLO_V8_UI #define NN_WIDTH (416) #define NN_HEIGHT (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] = {"person"} /* I/O configuration */ /* Postprocessing YOLO_V8 configuration */ #define AI_OD_YOLOV8_PP_NB_CLASSES (1) #define AI_OD_YOLOV8_PP_L_GRID_WIDTH (52) #define AI_OD_YOLOV8_PP_L_GRID_HEIGHT (52) #define AI_OD_YOLOV8_PP_M_GRID_WIDTH (26) #define AI_OD_YOLOV8_PP_M_GR
Hello,We have developed a product based on STM32M4 and would like to enable our clients to do DFU firmware update. We have develop a Windows based app which will include STM32_Programmer_CLI and make use of it. Although we would need our client to install also DFU windows drivers. Is there an official installer somewhere which will install only the STM DFU drivers?Thanks for your help,Andrea
Hello, everyone.So, I want to assign a serial number/device number to all my devices, and each device has a different serial number/device number. My question is, how can I change the serial number/device number with the same firmware without having to change the string in the source code as the serial number/device number and rebuild it?Is that possible to do in STM32?Thank you:).
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.