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
Good day folks,I have the DCMI camera interface on a STM32N6 streaming to the SDCard, and I am noticing that there are cases that the DCMI reports an Overrun when a SD access occurs at the same time that the Hsync interrupt was meant to occur.Digging into it I believe its due to congestion on the underlying AXI bus, and the IDMA of the SDMMC taking priority over the DCMI DMA. I have set the DCMI and its DMA to the highest possible priority as below. HAL_NVIC_SetPriority(GPDMA1_Channel12_IRQn, 0, 0); HAL_NVIC_EnableIRQ(GPDMA1_Channel12_IRQn); HAL_NVIC_SetPriority(DCMI_PSSI_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DCMI_PSSI_IRQn); HAL_NVIC_SetPriority(SDMMC1_IRQn, 5, 5); HAL_NVIC_EnableIRQ(SDMMC1_IRQn); gpdma_dcmi.Instance = GPDMA1_Channel12; gpdma_dcmi.Init.Request = GPDMA1_REQUEST_DCMI_PSSI; gpdma_dcmi.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; gpdma_dcmi.Init.Direction = DMA_PERIPH_TO_MEMORY; gpdma_dcmi.Init.SrcInc = DMA_SINC_FIXED; gpdma_dcmi.Init.DestInc = DMA_DINC_INCREMENTED;
Hello,In my project, I want to hold boot params in BKPSRAM so "Application project" can also write and read this section easily. If boot is needed, "Application project" will set boot params as required and after that it will use "NVIC_System_Reset".Therefore, I tried to write and read some parameters in this area. I can see the datas is written successfully in "BKPSRAM_BASE_S" section while debugging but when I restart the debug session, BKPSRAM section is all fill with zeros. I know that I am missing something but did not find it. - STM32N655 custom board. #define BKP_SRAM_START_ADDRESS ((uint32_t)BKPSRAM_BASE_S) #define BOOT_PARAMS_PTR ((BootParameters_t*)BKP_SRAM_START_ADDRESS) /* USER CODE BEGIN Init */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_RCC_RAMCFG_CLK_ENABLE(); __HAL_RCC_BKPSRAM_MEM_CLK_ENABLE(); HAL_PWR_EnableBkUpAccess(); HAL_PWREx_EnableBkupRAMRetention(); /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* Configure the per
I entered the lengths of the DDR traces from the ST official evaluation board into Excel, and the maximum length deviation is 3 mm. Is the trace routing on the evaluation board reasonable, and can I reuse it directly on my own board?
Hello ST Community,My name is Gorakhnath. I am currently pursuing M.Tech (Power Electronics and Drives) at NIT Kurukshetra. I am using the STM32F4DISCOVERY (STM32F407VGT) board and I need stable DAC outputs for my hardware application.What I need (requirement)When the DAC command is 0 V, I need the output to be as close as possible to true 0.0000 V, because my external circuit maps:0 V → 0 A3 V → 50 AEven a small voltage like 0.045–0.05 V produces unwanted current (~0.5 A) in my system.Issue / ObservationOn both DAC pins:PA4 (DAC_OUT1)PA5 (DAC_OUT2)I measure about:~0.05 V (sometimes ~0.045 V) when the command is 0 VThis happens even when I am not sending any command from LabVIEW, or when I send 0,0.What I tried (software checks)Set DAC values to 0 using HAL on both channels:HAL_DAC_SetValue(..., 0) for DAC channel 1 and channel 2Forced PA4/PA5 to GPIO output LOW when command is 0 V:Configured PA4/PA5 as GPIO_MODE_OUTPUT_PP and wrote&nbs
Hello,I got a radio MCU which connects to cloud and can receive binaries from database. And I got a STM32 that controls some stuff, including other MCUs. In production this means a lot of headers and programming time for all of them, no way to update remotely, and even if the code is thoroughly tested - glitches are still possible.So I want to connect things in a chain, so that if something apart from the radio crashes - radio MCU could re-flash the whole system. This of course could be done with UART when using bootloaders, but this again means you have to pre-program bootloaders on MCUs, and there's still a very slim chance it might fail.So I need an example of how one MCU can flash another via JTAG or SWD (preferably), and then verify the result. From there I could get it to work on Arduino / STM / AVR / radio ARM. What I really want is a proof of concept simple test example to show it works with the peripheral (bit banging is always possible, but surely there is a smarter way to do
I am trying to develop a GUI application with the STM32H7S78-DK. I want to send uart data from the board over wires to a raspberry pi. To simplify the process without graphics I'm just trying to send a simple "Hello" string over UART7. From what I can see from the data sheet, UART7 is connected to pins PE7 and PE8, which correspond to D0 and D1 on CN14 on the arduino headers by default. Please correct me if I am wrong. So I first am just initializing those pins with uart on STM32CubeMX then I was just sending a simple HAL_UART_Transmit() with a 2 second HAL_Delay(). However, I see no data coming through when putting a logic analyzer on those pins. What am I doing wrong? Here is the very simple basic uart code in main. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************
Dear Support Team,I am planning to implement a circuit based on the TDA7293V. In this design, the IC will remain powered on, so I intend to use the circuit shown in Figure 6 (Single signal standby/mute control circuit) to prevent 'pop' noise. Given that my supply rails are ±44V (+Vs = +44V and -Vs = -44V), what is the recommended voltage range for the MUTE/ST-BY signal to ensure reliable operation?Thanks in advance!! With warm regards, Daniel.
Unfortunately we experienced some serious issues with the Teseo-LIV4F regarding custom configurations on the CDB-ID 201 register.While the issue with broken NMEA output seems resolved by disabling I2C (See other topic)https://community.st.com/t5/gnss-positioning/teseo-liv4f-broken-nmea/m-p/886937#M1324Another issue remains: Completely missing $GNGGA frame at 9600 baud, but only when the device has a fix.Steps to reproduce:Flash the latest firmware (4.6.8.5.11)Disable I2CDisable GSV, VTG, GST, GSASet Baudrate to 9600Save settings and restartCommands:$PSTMSETPAR,1263,0x1,2 $PSTMSETPAR,1201,0x8001C,2 $PSTMSETPAR,1102,0x5 $PSTMSAVEPAR $PSTMSRR Connect to the device using 9600 baud, above should output RMC, GGA and GBS frames. At first this works, but as soon as a fix is reached the GGA frame is omitted: (Optionally send another $PSTMSRR to catch initial situation where GGA is still present)$PSTMVER,FreeRTOS_V10.4.3_ARM*57 $PSTMVER,BINIMG_STA8041_4.6.8.5.11_ARM*34 $PSTMVER,SW
HI,I am working on a board using STM32H573V and have a working solution with UCPD detecting an inserted memory stick and running the MSC class. In an other part of the software I am using PC9 as an GPIO push-pull, low speed output and as soon as I set it to high, the voltage at PB14 (UCPD CC2) drops from 3.3V to 1.5V and my UCPD handler signals a device attached and turns VBUS on even though nothing is attached. There is no other electrical connection between PC9 and PB14 on the board. I am using a TCPP03-M20 for VBUS switching. The board is acting as VBUS source.
It's telling me (for example) there's a "Path Entry Problem":Invalid project path: Include path not found (C:\Users\xxx\Documents\xxx\USB_CDC\USB_Device\Target).The Tool Settings / MCU GCC Compiler / Include paths contains"${workspace_loc:/${ProjName}/Application/USB_Device/Target}"and in my project there is a folder Application/USB_Device/Target, it links to a folder C:\Users\xxx\Documents\xxx\USB_CDC\STM32CubeIDE\Application\USB_Device\TargetHow can I figure out where this warning is coming from?(notice - the project builds just fine, it's just a warning, but company policy is to build without warnings)
Hello all,I've designed a board around a STM32H743 (LQFP-100) and am running into the following issue.On 2 boards out of 10, the HSE seems not to start properly. The HSE_RDY flag is never set after enabling HSE. I have checked it's not in bypass mode. On the other boards, it works perfectly.The crystal is a ABM3B-8.000MHZ-10-1-U-T and the load caps are 10 pF. We checked possible soldering issues, tested different load cap values just to see, and even replaced the crystal on the failing boards - to no avail.Looking at the OSC_IN/OSC_OUT signals (PH0/PH1) on a scope does not show a significant difference between the working and non-working boards. Maybe just a very slight difference in p-p amplitude.I have looked at the AN2867 app note, and the gain margin seems sufficient according to the formulas given there. I have heard that this crystal may have a bit too high ESR (200 ohm) for the STM32H7 HSE, but again, the gain margin seems alright.Any idea? I have tested with a minimal
I am running into issues building for the eMMC storage target for the `stm32mp25-disco` MACHINE type.I thought that adding "emmc" to `BOOTDEVICE_LABELS` should be enough to trigger building emmc flashlayout files. Is that not the case? I haven't found clear documentation on the subject.I tried making modifications to both `local.conf` and the machine conf directly. I was able to confirm the change takes affect with `bitbake -e`. Each time I build an image it only builds the flashlayout files for `sdcard`. What am I missing?mkdir yocto cd yocto repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v25.08.27 repo sync DISTRO=openstlinux-weston MACHINE=stm32mp25-disco source layers/meta-st/scripts/envsetup.sh printf "%s\n" 'BOOTDEVICE_LABELS = "emmc"' >>conf/local.conf bitbake core-image-minimal ls -l tmp-glibc/deploy/images/stm32mp25-disco/flashlayout_core-image-minimal/optee/ FlashLayout_sdcard_stm32mp257f-dk-ca35tdcid-os
Summary: When enabled st67w61 forcefully keeps MISO low and doesn't let other slaves use SPI. In our setup: - STM32L452: Is master SPI with latest mission_profile_t02. - st67w61: Is SPI slave 1 with dedicated CS pin - 3rd party SPI slave 2 with dedicated CS pin SPI bus speed is 2MHz, and CPOL, and CPHA are 0 Reproducing problem: 1. st67w61 is enabled (CHIP_EN is HIGH), - BLE initialized W6X_Ble_Init() successfully - Advertisement starts - We are able to pair with st67w61 successfully via our phone - We then try to start SPI slave 2 with no success. Data is being sent via MOSI but MISO stays low. We have tried this with other types of slaves with no success. After turning OFF (CHIP_EN to LOW) st67w61 module, we can communicate successfully with Slave 2. However we need to have both slaves enabled for our application to work. Note that CS pins are in the correct state. It seems like the st67w61 forcefully pulls MISO line low when enabled and doe
I'm trying to figure out how to make a driver for your camera. The problem seems to be the licensing. The driver is all GPL which would be fine because with the datasheet i could figure out all the calls i need to make my driver work on a non linux device. The problem is the patches. The only place i can find about the patches are on the github driver page. Are they located another place thats not under GPL.* https://github.com/STMicroelectronics/vd56g3-linux-driver
Hello.I'm working on project with LSM6DSO and I use FSM.For easier programming I use the FSM Feature in MEMS studio, but it looks like it's buggy:1 - SRP doesn't change the graphical diagram of FSM. It always point to start of the program on RNC.Example: 2 - Adding STIMER3/4 lead to error when I try to export the register config (save device configuration as):There are also missing settings from the Fixed Data section (CONFIG_A, CONFIG_B, SETTINGS) which could be important.Thanks
Hello,I am working with the Machine Learning Core (MLC) of the LSM6DSOX and I would like to better understand how to extend or reuse existing ST models.In particular, I am using preconfigured models available from ST (e.g. Activity Recognition), which are provided as .ucf files.My goal is to:reuse an existing ST model as a baselineadd my own labeled data (custom activities)generate a new combined model without starting completely from scratchFor this reason, I would like to ask:Is it possible to access or obtain the original datasets used by ST to train the provided MLC models?Is there a way to extract or inspect the underlying decision tree from a .ucf configuration?Is there an official workflow to extend an existing model (e.g. retrain by adding new data) rather than creating a new model from zero?I understand that .ucf files represent the final register configuration, but I am interested in working at a higher level (model/data level) if possible.Any guidance or recommended approach
I've always found it a little irritating:#define CLK_A_Pin GPIO_PIN_0 #define CLK_A_GPIO_Port GPIOFWhy is it deemed necessary to have "GPIO" in one, but not the other? Surely, that should be either:#define CLK_A_GPIO_Pin GPIO_PIN_0 #define CLK_A_GPIO_Port GPIOF("GPIO" in both), Or:#define CLK_A_Pin GPIO_PIN_0 #define CLK_A_Port GPIOF ("GPIO" in neither) (There isn't a label for "suggestion" - so "bug report" is the nearest option)
Hi, I am not sure how to categorize this problem. I have a custom board that I had done an initial software development cycle on STM32CubeIDE. I am working a newer version in VSCode with the STM32 Extension. Everything is working with the exception of one problem. I am using a watchdog on my MCU (STM32L4R9ZGJ6), which triggers while I have the processor halted. I know how to fix this in CubeIDE (Debugger tab, Enable Suspend Watchdogs) but cannot figure it out on the VSCode/GDB side. Below is the launch.json I have so far:{ "version": "0.2.0", "configurations": [ { "cwd": "${workspaceFolder}", "executable": "./build/debug/build/test.elf", "name": "Debug with ST-Link", "request": "launch", "type": "cortex-debug", "runToEntryPoint": "main", "showDevDebugOutput": "none", "servertype": "stlink" }, { "name": "Launch", "type": "cppdbg", "request": "launch", "cwd": "${workspaceFolder}", "program": "${command:cmake.launchTargetPath}", "MIMode": "gdb", "miDebuggerPa
[PN]: custom Board based on evspin32g4-dual[VERSION]: 6.4.0[Motor]: Xing2207 1800Kv[CubeMx]:6.14.1Hello,I have a problem with getting my FOC BLDC motor to start, the specs of the motor are: 0,08Ohm 50uH 0,32Vrms/kRPM. My project is for two sensorless motors with one shunt each, but I am trying to get started with the one connected directly to the stspin32G4.When using 10kHz Pwm the motor first vibrates but does not spin, then it starts accelerating, then I get the startup failure. The failure always occurs when it reaches the start-up speed threshold. When I try 40kHz PWM it wont start at all. I noticed that in cubeMX there are some errors.The schematic for the mosfet drivers is identical to the evspin32g4-dual:33Ohm gate resistors and 1uF Boot CapI set the Boot charge time to 50ms and the Charging Duty cycle to 15% Below is a screenshot of the startup phase once the motor is running, orange: one phase, blue: voltage over shunt, the digital signals are the gates of all t
Evaluating the L9963E BCC chip for a BMS design, using the AEK_POW_BMSNOTX eval board together with AEK-MCU-C4MLIT1 (spc58ec) running the example BMS application as reference but seeing some odd results in the cell voltage readings.All readings are a bit low compared to actual cell voltage, but cell1 and cell14 are off by a fairly large amount.What could be causing this?cell1 & cell14 reading off by 0.5vcell2 to cell13 reading off by about 0.1vCell1 reading seems to improve if the HotPlug selection jumper is mounted. But not cell14.
Hi I have created a project using STM32Cube.AI Studio. I am able to successfully run and generate the project from the tool. After that, I can open the project in STM32CubeIDE and build it without any issues.However, while debugging, I encounter the error shown in the image below.I am able to debug the image classification and face detection sample projects provided by ST without any issues. Therefore, I suspect that there may be a problem with the project configuration generated by STM32Cube.AI Studio.The evaluation board I am currently using is the STM32N6570-DK.Please help me to resolve this issue?
I am implementing NFC wake-up functionality using the main controller chip STM32L433 and the ST25DV04KC. I2C writes and reads are functioning normally. However, when the NFC field is present, the GPO pin does not output a pulse (reading the GPO register returns a value of 0x11). Using a multimeter to measure the GPO level change when the NFC field appears shows a minimal change in voltage level. The same program works correctly on an STM32F1 development board with an ST25DV04KC NFC module (both 8-pin and 12-pin versions were tested, with the same phenomenon). Does anyone know why this is happening?Could you provide some troubleshooting directions?This would be very helpful to me.Thank you!
I'm new to using AI. I want to create a USB adapter that will connect to devices with a USB port and manage and control them.How would I go about accomplishing this?Are there any pre-defined models I could use?
I am running the FLASH_EraseProgram example code provided by STM32CubeU3. the code fails in erasing the flash and enters ErrorHandler. I have verified the FLASH_USER_START_ADDR & FLASH_USER_END_ADDR. it is set as follows. #define FLASH_USER_START_ADDR ADDR_FLASH_PAGE_128 /* Start @ of user Flash area */#define FLASH_USER_END_ADDR (ADDR_FLASH_PAGE_255 + FLASH_PAGE_SIZE - 1) /* End @ of user Flash area */I have tested in both debug and run mode, it is not working as expected. Is anything to be modified to run the code. regards,Rajath
I am trying to run my QT app directly on HDMI without wayland but for some reason it doesnt work. I am using the EGLFS root@stm32mp1:~# export QT_QPA_PLATFORM=eglfsroot@stm32mp1:~# export QT_QPA_EGLFS_ALWAYS_SET_MODE=1root@stm32mp1:~# export QT_QPA_EGLFS_INTEGRATION=eglfs_kmsroot@stm32mp1:~# export QT_QPA_EGLFS_KMS_DEVICE=/dev/dri/card1root@stm32mp1:~# ./appFridGui-sh: ./appFridGui: not foundroot@stm32mp1:~# appFridGuiDetected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.If this causes problems, reconfigure your locale. See the locale(1) manualfor more information.drmModeGetResources failed (Operation not supported)[ 406.915847] appFridGui[760]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL setCannot create window: no screens availableAbortedPlease help.
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.