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
I ported PPSSPP 1.20.3 to run on the STM32MP257D platform.With the GLES backend, everything looks fine and normal games run without issues. But when I try heavier 3D games like Tekken 6, it gets extremely choppy – single-core CPU usage stays around 95%.Then I tried switching to Vulkan. At first, the emulator crashed on startup. I debugged it by adding some print statements and found that a function call was returning an incorrect value – which shouldn't happen according to the Vulkan spec. Because of that, another function (vkCreateSwapchainKHR) ended up failing. 1) PPSSPP Crash Log:Spoiler (Highlight to read)08:00:074 Vulkan/VulkanContext.cpp:1416 I[G3D]: surfCapabilities_.current: 960x544 min: 1x1 max: -1x-1 computed: -1x-1 08:00:079 Vulkan/VulkanContext.cpp:1579 E[G3D]: vkCreateSwapchainKHR failed! VK_ERROR_DEVICE_LOST08:00:074 Vulkan/VulkanContext.cpp:1416 I[G3D]: surfCapabilities_.current: 960x544 min: 1x1 max: -1x-1 computed: -1x-1 08:00:079 Vulkan/VulkanConte
Hi,there has been some interest in using STM32CubeMX code generation and also the Cube build tools (CMake, GCC, Ninja) in a headless mode, particularly for CI and typically via a Docker image, e.g. 1, 2, 3, 4. There are several benefits of being able to build STM32 projects automatically via CI, including specifically the code generation by STM32CubeMX, and to achieve this by using a Docker image:The CI setup acts as a "single source of truth" for the build process that defines the exact setup of tools needed, in contrast to some "random" collection of tools that happens to be installed on an individual developer's PCTherefore the CI also defines if a project's state or e.g. merge request is compilable; if it doesn't build on the CI, don't accept the change. No more "works on my machine" (at least regarding the build process)If the CI-based build is performed through Docker, the Docker image (and its Dockerfile) act as a documentation of the exact tools and versions
There are 3 bugs reported here:Bug 1:In the FileX parameters GUI, under SRAM Disk Driver: The range for the "SRAM Disk Size" is wrong. The Address space allows for 256MBytes, not 256KBytes.Workaround - After CubeMX regenerates the code, I have to change the #define manually in the code.Seems to work on my board with 64Mb, (in the example below I have the base address set to C0200000 and using the upper 32MB)Bug-2Under "Software Packs", when we select "LevelX NOR custom inferface", CubeMX doesn't seem to do anything. We are unable to select the "File System Interface" in the parameters table:If you unselect the LevelX QuadSPI memory interface,The majority of the configuration parameters in LevelX disappear, but is left with an unselectable option (MT25TL01GBug-3Since the Custom driver option does not work in CubeMX, we tried to modify the QSPI driver with the MT25TL01G component. The problem is there are no " USER COMMENT" sections in the entire file, so w
While researching the GNSS module for my project, I got somewhat confused about the power connection of the LIV4F module due to inconsistent information in the manuals. The general recommendation is to run at 1.8V for optimal power consumption, but my interface is running at 3.3V. In the evaluation board manual (UM3212), there's a 3.3V VCC_IO on pin 7 for communication and 1.8V VCC pin 8 for powering the module which would easily allow this set up. In the hardware manual (UM3004) for the module however, pin 7 is marked as reserved - which means there's no separate VCC_IO and I would need to level shift all the communication channels when running at 1.8V. I was hoping you could clarify whether pin 7 is available as VCC_IO or not?
I’m using the pre-release STM32Cube for Visual Studio Code (v3.5.1).After importing a project that was originally generated by STM32CubeMX with the “cmake” toolchain selected, the .vscode folder is created but contains neither tasks.json nor launch.json.When I try to add tasks.json manually, the command palette no longer offers the usual templates such as “STM32: CubeProg: Flash project (SWD)”.Could you confirm whether this is a regression in 3.5.1?If an immediate fix isn’t possible, would you mind sharing the correct tasks.json and launch.json snippets so I can paste them in by hand? Test conducted on July 28, 2025, testing platform Ubuntu 22.04+vscode(v1.102.2)+pre-release STM32Cube for Visual Studio Code (v3.5.1), test target STM32G474RET6.
Hi,I am using an STM32G0B1VET6. All power rails in my design, including VDDIO2/VDDUSB, are supplied from 3.0 V (2.95 min).I would like to use the USB interface and the built-in USB DFU bootloader for firmware updates.AN2606 states that VDDUSB must be connected to 3.3 V. However, AN4879 appears to specify a USB supply operating range down to 2.7 V, with 3.0 V as the minimum recommended operating voltage in some cases. Based on that, I would expect USB to operate correctly with VDDUSB supplied from 3.0 V.Could you please confirm whether USB DFU is supported on the STM32G0B1 when VDDUSB/VDDIO2 is powered from 3.0 V rather than 3.3 V?The board will be powered from its own 3.0 V supply. For the USB programming connection, I am planning to bring out only three wires:USB D+ USB D− GNDThe USB 5 V VBUS line will not be used to power the board.Are these three connections sufficient for entering the system bootloader and performing a firmware update through USB DFU, or is the USB VBUS line or a s
I am using the STM32WB5MMG processor with SDK version 1.20.0. The basic operation involves periodically reading sensor data in response to interrupts generated by the sensor, and then transmitting this data via BLE. To reduce power consumption, we are utilizing low-power mode. With this setup, the overall functionality worked well.However, when we tried to further reduce power consumption by changing CFG_DEBUGGER_SUPPORTED = 0, the device no longer seems to recognize interrupts from the sensor. Of course, reverting CFG_DEBUGGER_SUPPORTED = 1 resolves the issue, and the device operates without problems.Have there been any reported instances of this kind of behavior? I'd appreciate any information you can provide regarding what to check or if there are any known solutions.Best regards,
Heyy, I'm using an STM32u545 (on a Nucleo board), and I'm trying to wake up my MCU from stop 2 mode using wake-up pin 2. Wake-up pin 2 is connected to LPTIM3 (via a jumper wire), and LPTIM3 works. Besides trying to wake up the CPU. An LPBAM application is collecting data using the ADC4 and LPDMA with LPTIM1. Also, it does work. But now I don't know how to wake the CPU using LPTIM3. Did I miss something, or is this not the way to go/ is there an easier way to do this? The program should: - read data on a specific frequency - wake up every two seconds to write the data to an SD card (eventually) Thanks in advance :) int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the System Power */ SystemPower_Config(); /* Configure the sys
Hello,I am working with the official USBX CDC ACM example for the NUCLEO-C071RB:https://github.com/STMicroelectronics/STM32CubeC0/tree/main/Projects/NUCLEO-C071RB/Applications/USBX/Ux_Device_CDC_ACMHardware: STM32C071RBT (128 KB Flash, 24 KB RAM)Firmware: STM32Cube FW_C0 V1.4.0Toolchain: STM32CubeIDE 2.1.1The example runs successfully on the NUCLEO-C071RB board. However, after analyzing the RAM usage I am concerned about available headroom for my application.Current RAM usage (from .map file):- .data: 116 B- .bss: 23628 B (including ux_device_byte_pool_buffer: 8192 B, tx_byte_pool_buffer: 1024 B, three RTOS threads: 3x176 B)- ThreadX heap (._threadx_heap in .ld): 4096 B- Stack + Heap: 1536 B- Total: 23744 B- Free: 832 B (out of 24576 B)Current configuration:- UX_DEVICE_APP_MEM_POOL_SIZE = 8192 (app_azure_rtos_config.h)- USBX_DEVICE_MEMORY_STACK_SIZE = 4096 (app_usbx_device.h)- TX_APP_MEM_POOL_SIZE = 1024- ThreadX heap in .ld = 4096 BI need to add additional peripherals (UART, I2C,
Hello,I'm working with the STM32MP135F-DK kit and I'm trying to understand the correct way to configure interrupt lines (IRQs) for external devices, specifically for the STPMIC1 in OP-TEE.I have been reading the official documentation and I'm a bit confused about whether it is mandatory to use the dedicated PWR Wake-up pins (WKUP1–WKUP6) for interrupt lines, or if any GPIO can be used.--- What I observed in the reference DTS files: Looking at the OP-TEE device tree (core/arch/arm/dts/stm32mp135f-dk.dts, tag 4.0.0-stm32mp), I can see that all IRQ consumers use EXTI lines above 55: - STPMIC1 interrupts-extended = <&exti 55 IRQ_TYPE_EDGE_FALLING> (WKUP1 / PF8) --- My questionsIs it mandatory to use one of the 6 dedicated WKUP pins (EXTI 55–60) for any device IRQ managed by OP-TEE?
Using a custom board with the stm32l412 chip, after entering stop 2 mode, it measures 380uA instead of about 0.72uA without RTC as stated in datasheet.I know using custom board would get the current consumption to get a bit higher but this is almost ridiculous difference, so I expect that something is off, but not sure where to check.Thanks in advance.
I'm using the mp215 with ddr3l (x16) and an ISSI dram ic that is 8Gb (1 gigabyte) which means it's a dual rank configuration compared to a more typical half gigabyte. As far as im aware all 1GB ddr3 dram ic's are dual rank.In AN5723 6.1 Note it says "8 Gbit DDR3 defined by JEDEC is uncommon. Practically, DDR3L density is limited to 4 Gbits (max = 1 Gbyte in total). Single rank only is required. ".an5723 link As far as I understand it it says it's not possible. However this is an older AN and i think it's for the mp25 series only (im using the mp21).However in the ST Wiki "How to setup the DDR configuration" section 5 the exact opposite is implied. This whole section repeatedly describes a "concrete example" of swapping the swapping the mp215-dk's lpddr4 out with a 1GB ddr3 ic. Also using a theoretical dtsi called "stm32mp21-ddr3-1x8Gbits-1x16bits-800MHz.dtsi" and define "DDR_MEM_SIZE 0x40000000" which is 1GB. So this is conflicting info because i dont see how 1gb ddr3 is poss
Hi,I was wondering if it's planned for the current STEVAL-EVK-U0I board to work with the 5 Mp VD5943 and VD1943 Image Sensors when they're launched in spring 2026 or if a new USB interface board is planned for evaluation of VD5943 and VD1943?The page for the STEVAL-EVK-U0Ihttps://www.st.com/en/evaluation-tools/steval-evk-u0i.htmlsays "CAM-56G3, CAM-66GY, CAM-55G0, CAM-55G1" so I wasn't sure if it was planned to for it to support evaluation of the VD5943 and VD1943 as well. Will
Hello Community For some reason, my post from yesterday did not go through and was marked as spam. I'm not interested in moaning about it right now, as I have managed to brick my custom board, designed with STM32H743XI and would be more interested in finding a way to unbrick it. Before jumping to any conclusion, please read the post as it contains crucial info and things I have already tried, which you would like to suggest. Some info about my setup, as mentioned earlier, it's a custom board with BOOT0 and RESET pins exposed using a switch, and there is a JTAG interface for debugging purposes, along with a SEGGER JLink. The way I managed to brick is that I accidentally pulled the RESET line while flashing a FW using Jlink, and since then, it seems memory is in locked mode, and neither Jlink nor ST-vLink is helpful in the rescue mission. Things I have already tried and did not work... maybe I am missing something. I have been in this situation before, and was able to recover from it us
Hello,I start testing with the STEVAL-M25R16B Board and use this Time the self compiled Demo from ST to test it. All works find.Then i made an own PCB with Reader IC and Antenna on it and connect it to your MCU /Display Board.The Board is connected to 3.3V, GND and the SPI / IRQ Lines. The Antenna on my PCB is very small, only 21x26mm. Inductance measured with Siglent VNA 770nH.( 0.5mm Track Width, 0.3mm Distance, 3 Turns) The from your Tools calculated Values and my final Values after tuning differ..My Result: L=270nH, Cemv 680pF, Cs 220pF, CTune 430pF, Rs 0.68R I tuned the Circuit using my VNA and get a Reading Distance of about 25mm for 14443 Keyfobs and Cardsand about 6cm for ISO15693 Card.This all works fine. Smith Chart looks perfect.The Rx Voltage is about 1.5Vpp. The Voltage Divider Capacitors are 33p/120p.ST25RProblem: Tags are working but in Emulate Mode i got no Reaction. With the Original Antenna (66x66mm) all is fine.Need a little help
I'm seeing a filesystem corruption issue on an STM32H7 when using FatFs with SDMMC DMA. Hardware / Software STM32H7 SDMMC1 DMA (and MDMA support enabled) FatFs generated by CubeMX D-Cache enabled 8 GB Swissbit industrial SD card Generated sd_diskio.c based on: /* Note: code generation based on sd_diskio_dma_rtos_template_bspv1.c v2.1.4 */ ProblemsThe SD card works normally while mounted: Files can be created Data can be written Data can be read back f_write(), f_sync(), and f_close() all return success However, after: Removing and reinserting the SD card, or Power cycling the system the SD card is detected by Windows as:RAW / Unformattedand must be reformatted before it can be used again.Important observationIf I only perform read operations:Mount cardRead filesPower cycle / reinsert cardthe filesystem remains valid. The corruption only occurs after write operations.Initial investigationBecause the STM32H7 uses D-Cache, I initially suspected cache coherency issues.I
Can you open source your STLINK-V3MINIE? All hardware and codes, Your design is not easy to use.
When configuring multiple FDCAN instances in CubeMx, the clock divider settings are not synchronised and are generated twice. For me, FDCAN1 clock divider has the drop down box with multiple options.FDCAN2 only has the "Divide kernel clock by 1" option. This should match FDCAN1 as one common clock divider value. "The clock is common to all FDCAN instances. This parameter is applied only at initialisation of first FDCAN instance." from UM2570.The first issue is within CubeMx, this clock divider value is then used for the indicator calculations:- Nominal Time Quantum- Nominal Time for One Bit- Nominal Baud RateIf the clock values are wrong, these values will be wrong.Second issue is the Init.ClockDivider code is generated twice, one per instance instead of just once.If these values are the same, there'll be no issue. If different then the latter will overwrite the former. In main.c MX_FDCAN1_Init(); MX_FDCAN2_Init(); in fdcan.c void MX_FDCAN1_Init(void) { /* USER CODE END FDCAN1_Init 1
Hi,I already tried to search for previous threads that could help me (like this one), sadly without success.I'm currently studying the ADC peripheral on STM32F3DISCOVERY from the reference manual. I started writing a simple program to measure a tension on PA0. It all works flawlessly until the ADC samples the value on PA0, stores it in the Data Register and raises EOC. From the manual:"The ADC sets the EOC flag as soon as a new regular conversion data is available in theADCx_DR register. An interrupt can be generated if bit EOCIE is set. EOC flag is cleared bythe software either by writing 1 to it or by reading ADCx_DR." (page 347, Section 15.3.23).The loop part of my code is the following (I already configured the ADC for single conversion mode, L[3:0] = 0000, DIFSEL=0 and so on... to rule out any problem with configuration):unsigned int ADC_value = 0; while(1){ ADC1->CR |= ADSTART; //wait for EOC=1 while((ADC1->ISR&EOC) != EOC); //Data register read ADC_value = (ADC1
Hello, i have downloaded Bi-dir CCM Totem-Pole PFC (STEVAL-7BIDIRCB) firmware, and i opened .ioc file in MX and in toolchain it was EWARM , i changed to Cube IDE and generated code and tried to build but code is not building it’s giving error. Please help me to solve the issue i have attached images for reference 15:46:43 **** Incremental Build of configuration Debug for project itp_ccm_pfc_stm32g474 ****make -j12 allarm-none-eabi-gcc -o "itp_ccm_pfc_stm32g474.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\anudeep\STM32CubeIDE\E_Watt\itp_ccm_pfc_stm32g474\STM32G474RETX_FLASH.ld" --specs=nosys.specs -Wl,-Map="itp_ccm_pfc_stm32g474.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-groupC:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./
(Sorry, I am not a pro and the Google search AI is braindead.)I am just nerding out over FERDS at the moment and want to build a SMPS using them.
Hi, I cannot manage to receive the bytes on UART protocol on an STM32U0 when using the STLINK-V3MINIE.The RX works properly (I can send data to the PC), so the pins are not swapped. The Vref of STLINK is 3V3, and the STLINK measures it correctly. Moreover, I can successfully program the U0 using the STLINK so I think both devices are in good shape.The UART baud rate is 115200 b/s. I have attached an oscilloscope to observe the signal. When NOT connected to the MCU, the TX signal is clear as expected (0V as low and 3V3 as high). If I connect it the MCU, the signal is still very clear and sharp but reduced (the "low" level is about 1.65V and the high level is 3V3). The schematic is the most straightforward: no components between the STLINK and the MCU.The firmware on STLINK is the V3J17M10.Currently, I have solved it using another USB-serial converter (CP2102) and it works flawlessly in both directions, using interrupts, DMA and whatever firmware tricks, but I would unders
Hi,I have developed an application for the STM32C562RET microcontroller that wakes up from standby mode, initially based on an example provided by ST. The non-FreeRTOS version of this application works fine (though there is a minor wake-up issue that is fixable). Subsequently, I created a FreeRTOS version of the same application that starts a task, and when the user presses a button, the vTaskEndScheduler() function is called to terminate FreeRTOS, which in turn calls void vPortEndScheduler(void) where the wake-up code is implemented. void vPortEndScheduler(void) { HAL_RTC_WAKEUP_Start(HAL_RTC_WAKEUP_IT_ENABLE); LL_PWR_ClearFlag_SB(); HAL_PWR_EnterStandbyMode(); } Despite the fact that FreeRTOS is no longer running, the MCU goes to standby and wakes up immediately.Do you have any suggestions on how to make this work?Thanks,-Gil
As I understand, the TSSOP20 version needs an external oscillator instead of a 8MHz crystal connected directly to the MCU pins. Is that correct?I'm asking because I have seen a board on AliExpress using this same processor with a 8MHz crystal.
Hi~ My board gets stuck at the kernel stage during boot. I've referred to numerous related posts but failed to resolve the issue.The boot file versions I use are OP-TEE 4.0, U-Boot 2023.10 and Linux 6.6.116.The official device tree I referenced is stm32mp157f-ed1.I have attached the boot logs, hardware schematic and device tree files. Please help analyze the root cause of the problem. stm32f7-i2c i2c@5c002000: pinctrl_select_state_full: pinctrl_config_one: err=-19 [ 1.741795] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 1.748959] DEBUG: SCMI CLOCK PROBE STARTED! sdev name: scmi_dev.2 I/TC: SCMI-CLOCK: Reporting 34 clocks to Linux I/TC: SCMI-FW: ETZPC ID 2 DENIED for Non-Secure world! I/TC: SCMI-MSG: NS Request Clock ID 15 (iwdg1), ETZPC 2, Access=FAIL I/TC: SCMI-CLK: ID 15 has no name/not found I/TC: SCMI-FW: ETZPC ID 7 DENIED for Non-Secure world! I/TC: SCMI-MSG: NS Request Clock ID 16 (rng1_k), ETZPC 7, Access=
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.