Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi everyone, I am trying to run VENC_JPEG_Encoding project using STM32CubeIDE on STM32N6570-DK board, but it is not saving .bmp as stated in README file. Upon further debugging I can see in main.c in function save_file() that it is only supported on IAR system. int8_t save_file(char *pName,uint8_t *pStream,uint32_t szOut) { int8_t ret = 0; #if defined ( __ICCARM__ ) /* stdio FILE works only on IAR system */ FILE *pFile; pFile = fopen(pName,"wb"); if(pFile) { while(szOut) { uint32_t blk = 1024; if(szOut < blk ) blk = szOut; uint32_t written = fwrite(pStream,1,blk,pFile); szOut-= written; pStream+=written; } fclose(pFile); ret = 1; printf("the file %s is in the current folder",pName); } #endif return ret; }so how do i test it in CubeIDE as I am on Ubuntu and IAR doesnt supports Ubuntu till now.Kindly help
Hi everyone, I am working on collecting video using a modified VENC_RSTP_server example for my project with the VD56G3 camera, but I am encountering an error while encoding the frames.Here is what I have done so far:Verified that the VD56G3 camera works with the board and is displayed on the LTDC screen. I am able to change its resolution and FPS.Verified that the original code works with the MB1854B camera (the one originally provided with the board).Made the necessary changes in the VENC_RSTP_server code to support the VD56G3 camera.However, while encoding the frames, I am receiving this error in the UART terminal when trying to record via ffplay . I am attaching the error log for reference.I have tried modifying the VENC parameters, but to no avail. The error code -11 means H264ENC_HW_TIMEOUT, as shown in h264encapi.h.I am also attaching my venc_app.c file for your reference.Kindly help.
I bought a motor as a first step i want to run the motor profiler, the specifications of the motor are48V, Output: 500W, Rated Current: 16A, Rated speed: 600 RPM it is a geared motor with ratio of 1:6 and the number of pole pairs is 4.I got confirmation before purchase that the back emf will be sinusoidal, but when i have done hand rotation and verified the waveform between the phases i get the below waveformSo, request to please confirm if the motor profiler can be run with the above back emf? If not i have to exchange the motor. This motor is only for validating the profiler and hall sensor placement angle and understand how to change the profiler parameters before i move to the actual motor.One other question is in the window for current in profiler, i am entering 16A * sqrt(2) = 31 amps is it correct? i have run the profiler it runs for few cycles and ends up with speed feedback fault the phase currents during the time the motor is running are sinusoidal
Hi,I'm trying to implement an external loader for the Arduino Giga R1 board with AT25S128A 128Mbit of external flash. After following the guide given in the external loader repo, I'm running into the problem, that I can erase, write & read from the memory fine, however, as soon as I try to turn on memory mapped mode, all the data reads as 0xFF...FF, both in code and in the STM32CubeIDE memory viewer. I think my problems could be related to MCU configuration, I would be grateful if someone could give some guidance, see the relevant code below and attached. quadspi.c:uint8_t CSP_QSPI_EnableMemoryMappedMode(void) { QSPI_CommandTypeDef sCommand = { 0 }; QSPI_MemoryMappedTypeDef sMemMappedCfg = { 0 }; // Enable Memory-Mapped mode sCommand.InstructionMode = QSPI_INSTRUCTION_1_LINE; sCommand.Instruction = QUAD_INOUT_FAST_READ_CMD; sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; sCommand.AddressMode = QSPI_ADDRESS_4_LINES; sCommand.AddressSize = QSPI_ADDRESS_24_BITS; sCommand.
Hello, I am using STM32H735 and installed a Bluetooth module STM32WB05N. For the STM32WB05N, it is configured as a transparent mode running as HOST + CONTROLLER firmware. I got the firmware from this github: STM32WB05N Firmware. I have modified STM32WB05N firmware to use the correct PINS and adjusted the baudrate to work with our MCU STM32H735. So from STM32H735, I have successfully sent the ACI & HCI commands and is able to advertise my device. I am using my Laptop to try and pair it using the windows bluetooth built in app and when I tried to pair my device, I got a confirmation from my STM32H735 and received the following events HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT HCI_LE_ADVERTISING_SET_TERMINATED_EVENT HCI_LE_CHANNEL_SELECTION_ALGORITHM_EVENT After that the windows pairing failed. I was expecting to receive more events and vendor events like: HCI_LE_DATA_LENGTH_CHANGE_EVENT ACI_ATT_EXCHANGE_MTU_RESP_EVENT ACI_GATT_SRV_ATTRIBUTE_MODIFIED_EVE
I'm in the middle of attempting to reconfigure the clock tree on my STM32F303K8. The old clock tree looks likeThe new clock tree looks like The old clock tree works fine. The new clock tree always fails on boot; not always in the same address but always in the neighbourhood of HAL_RCC_ClockConfig. An example stack trace looks likeIn this case it claims to have failed on this line 769 of HAL_RCC_ClockConfig: /* Get Start Tick */ tickstart = HAL_GetTick();This is failing in the MX-generated code well before any of my own code runs. The goal is to keep the CPU clock at 64 MHz but reduce everything after the AHB prescaler. The diff of the RCC section in the .ioc file looks like this:
Hi all,I am able to generate an SFI image via the trust package and I am using a HSM card to attempt to program a STM32WBA55. As far as I understand is that during provisioning TZEN is set and RDP level is set to 0.5.Reading various documents such as the ref manual (section boot modes) and the an4992 on section 3.3.2.1 it states "The OEM internal firmware can be built to start at the beginning of the user flash memory (starting address0x0800 0000). After a SFI, the SRAM is fully available for OEM."It is not clear to me if it actually works once TZEN remains set after the SFI process. Can I just provision my non-secure application? My goal is to reach RDP level 2 once my option bytes are applied and have under control what happens at the contract manufacturer site.Thank you very much,best,Ivan
Hi Team,I have few questions regarding stm32h7 errata.Errata 2.2.21, Can silicon revision 'V' support a cpu frequency of 480 Mhz ? If yes, why is it showing 'P' for v revision. 2. Can I please ask if there is a fix in the HAL for the below given SPI errata (from 2.22.2 to 2.22.6)? Regards,Alex
Hey Folks,I'm unable to Enable this MX_ADC_Init() function can someone please help me it to do it.Below down i had attached the image for your reference can you please help me into it.My aim is to control the speed of the motor by Potentiometer. I'm using STEVAL-ESC002V1 solution of STM.
I'm bringing up a design based off the STM32H573 and I believe I'm having a number of issues that are probably sharing a common thread with bad hardware. I don't usually screw those things up, but I guess I got unlucky this time.1) PC1 when configured as a (GPIO) output cannot drive a load. Works as a GPIO input. Sometimes, when configured as output after configuring it as input, it would start working and then die (this happened twice in two days). Pulls, OD, nothing seems to make a difference. Replicated over two boards -- the second board with no ESD damage possible. 2) HSI seems to be off by 9% (HAL_Delay and UART are showing this error). Tested on one board only. Here is my schematics:In my actual board, both VCAPs are not tied together. They are also not placed on the bottom of the board -- rather they are connected via a 0.1mm trace 3.5mm long to the edge of the BGA to the capacitor. Altium is saying this can carry 0.6A I guess impedance is bad and it might be the
HI USB-C Input (5–20 V PD) + USB-C Data (USB2.0 D+/D– to STM32H745) + charging phone at same time + Audio data transfer Problem: When I connect the USB-C input supply (PD 5–20 V), the phone only charges and the audio USB port does NOT appear.But when I do NOT provide PD input power, the audio USB port appears correctly.And if the audio port is already active, then when I connect the PD input afterwards, the phone does NOT charge — only the audio stays active
Hello everyone,This is my first post on the platform, so please bear with me.I would like to write raw data to an SD card very quickly.After quite a bit of research, I decided to use SDMMC with MDMA, and I want to write directly to the SD card blocks to avoid latency associated with the FATFS overlay.Apart from an old post that explains how to configure MDMA and link it to SDMMC, I haven't found any concrete examples of a function that allows reading and writing to the SD card.Could you give me a simple example of writing and reading to use MDMA with SDMMC to write to the SD card, or point me to existing projects or examples that I may have missed?Thanks in advance.
I have to dump my GUI made by using Qt framework on STMF769I-Discovery board on baremetal. If anyone has any baremetal sample implementation for the mentioned then kindly share the sample code with me email: binayak.d@coreel.com
-------------------------------------------Board: STM32 WB55RGOS: Ubuntu 25.10 questingKernel: x86_64 Linux 6.17.0-6-genericSTMCubeProgrammer Version: v2.21.0-------------------------------------------I recently noticed that my board was not being flashed with the following error:No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug AuthenticationI tried connecting the board using the STM32CubeProgrammer and while the board is recognized correctly by ST-LINK (the serial number shows up) I still cannot connect the board because of the same error.When the issues started to occur, I was using my board normally with the usual code running when the board suddenly stopped providing power to the pins; I was using the board to power an external device using the 5 V pin, but my meter only measures about 1 V across the 5 V pin and GND and 200 mV across 3.3 V and GND.Connecting the board still shows bicolor LED blinking and the LED 4
Hello everyone,I’m currently working with the STM32WL55 and using the Ping-Pong example as a reference for my application. The example is great and helps me understand how the process scheduling works, but I want to modify it to transmit ADC data.The issue is that I cannot use the ADC properly within the example as it is. I would like to know if it’s compatible to integrate ADC readings (single-shot or interrupt-based) with this Ping-Pong structure, and what the best approach would be to read the ADC values and send them over UART or another interface without blocking the main loop or interfering with the Sub-GHz radio.Any advice or examples of integrating ADC acquisition into this Ping-Pong example would be greatly appreciated.Thank you!
I'm trying to port a proprietary code that is designed for another STM32H753 plateform, to a STM32H753-EVAL board.My code remains stuck waiting for HSERDY bit.The setup I am doing looks identical to STM32CubeHW example but I guess I forgot something: - set LDOEN in PWR_CR3 register and wait for ACTVOSRDY- set voltage scaling to VOS1 (bits 14 and 15 in PWR_D3CR register) and wait for VOSRDY- set bit HSEON and wait for HSERDY -> bit is never set I setup the eval board JP10 to be powered up through the jack (external power supply) If I power the board through STLink, I have no issue. Am I missing anything ?
I want to use N657B0 to drive VD55G0, and the camera side can already enter the Stream state. After I use the function HAL_DCMIPP_CSI_PIPE_Start, I track the variable csi_instance through single-step debugging and find that several bits in its SR1 register are inconsistent with the normal state. And I find the defination about these.The normal state is 1 but I get 0.Could you please tell me what the reason for this might be? Is the issue caused by a voltage supply problem in the hardware connection, or by inadequate rate matching in the port?
I have a STM32U595 and I use the RTC in binary mode.If an SSR underflow occurs during Vbat mode, will the SSRUF be set so after power recovery I can manage the interrupt ?
In the RM0456 at 33.4.31 Oversampler it say:The division coefficient M consists of a right bit shift up to 10 bits, and is defined using the OVSS[3:0] bits in the ADC_CFGR2 register.But at 33.6.5 ADC configuration register 2 (ADC_CFGR2), it allow up to 11 bits:Bits 8:5 OVSS[3:0]: Oversampling right shift1011: 11-bit right shift
why more than one STM32 SPI Slave connect to master means More SS need ?
Hi,is there a possibility to do the complete chain to product state "closed" by non secure user code ?I have a custom bootloader which usually did a set of the old RDP Level.Now, with a STM32H57 device we have to use the new product state. I'm able to set the state to provisioning. But when i use RSSLIB_PFUNC->NSC.DataProvisioning i end up in a hard fault. I tried to set the provisioning data by ST Cube programmer later on which succeeded. But unfortunately i can not regress to open because the password is wrong. Any hints about that ? Thanks in advance.
Hi everyone, I'm using an STM32H743 MCU with an LTDC display and lvgl for management.I'm using the graphics accelerator correctly to decode an mjpeg video in YCbCr, but I can't convert it to RGB565 with DMA2D.If I try to convert without DMA2D, I get times of about 350 ms per frame (792*408). Decoding is successful in DMA. static void video_playback_task(lv_timer_t * t) { if (!MJPEG_GetNextFrame(Video_Buffer, Video_Size, &offset, &frame)) { lv_timer_del(video_timer); video_timer = NULL; printf("Fine video\n"); return; } JPEG_Decode_DMA(&hjpeg, frame.start, frame.size, Frame_Buffer); DMA2D_CopyBuffer((uint32_t*)Frame_Buffer, uint32_t*)Frame_Buffer_Rgb, IMAGE_WIDTH, IMAGE_HEIGHT); img_dsc.data = Frame_Buffer_Rgb; lv_img_set_src(img, &img_dsc); lv_obj_invalidate(img); HAL_GPIO_TogglePin(Check_ADAS_GPIO_Port, Check_ADAS_Pin); } static void JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg, uint8_t *FrameSrc, uint32_t FrameSize, uint8_t *YCbCr_Dst) { JPEGSourceAdd
I am having trouble understanding the behavior of the Timers on the STM32F429I-DISC board. I have an application using TouchGFX with FreeRTOS, which is kind of working as expected but the timer-based activity seems to be too slow, so I am trying to debug and verify the clock frequency (which is triggering my ADC conversions), but nothing is matching or giving anything as expected. I commented out everything else on the code (including FreeRTOS, TouchGFX etc) and leaving just the timer and ADC initialization. Main system clock is set to PLL with a frequency of 144MHz and I am using Timer8 to trigger ADC on triple simultaneous regular mode and Timer11 to try to measure this interval. At first I've set Timer8 also to trigger an output event (pin toggle), and measuring it with the oscilloscope gave me exactly the expected frequency (Timer frequency / 2). But debugging is not showing anything useful at all. Here is the initialization of the timers:void MX_TIM8_Init(void) { /* U
Can somebody please help me. The code below is initializing the RTC. The clock works I can set and read time and date no problem. Somehow if I change these register: hrtc.Init.AsynchPrediv = 131; hrtc.Init.SynchPrediv = 10; It has no impact on the clock accuracy I keep on gaining time. I would have thought by "tweaking" the values it will either speed up or slow down the RTC. Code was generated by using the STM32 cube IDE. /** Initialize RTC */ hrtc.Instance = RTC; hrtc.Init.HourFormat = RTC_HOURFORMAT_24; hrtc.Init.AsynchPrediv = 131; hrtc.Init.SynchPrediv = 10; hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; if (HAL_RTC_Init(&hrtc) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN Check_RTC_BKUP */ /* USER CODE END Check_RTC_BKUP */ /** Initialize RTC and set the Time and Date */ sTime.Hours =
Able to spin the motor using 446 + IHM08M1 – 6 Step – Hall Sensor - Open Loop Mode, using MCSDK.But don’t know how to analyse the SW & HW.HW based: How to see the Hall Sensor & PWM action? (Got a CRT, no DSO). Any Monitor or Watch Window?SW Based: PWM_PERIOD_CYCLES or M1_HALL_TIM_PERIOD or M1_HALL_IC_FILTER – How to search & see the configured values in code?CubeMonitorRF/Power/UCPD – Possible to use for my application?Also, Want to change the direction – FOR & REV – With a Ramp up & Down.Guidance Required.
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.