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 everyone,I'm trying to build X-LINUX-AI, but I'm running into some errors. I'd be grateful for any help with fixing them. Here’s an example of the error message:../git/touch-event-gtk-player/meson.build:25:18: ERROR: Dependency "gstreamer-wayland-1.0" not found, tried pkgconfig Here is my build environment:- Ubuntu 20.04 (wsl)- OpenSTLinux Distribution Package V6.1.1- X-LINUX-AI V6.1.1 Here are the steps I followed:(Installing the OpenSTLinux distribution)$ repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v25.08.27$ repo sync(Install X-LINUX-AI environment)$ cd layers/meta-st/$ git clone https://github.com/STMicroelectronics/meta-st-x-linux-ai.git -b v6.1.1$ cd ../..$ DISTRO=openstlinux-weston MACHINE=stm32mp2 BSP_DEPENDENCY='layers/meta-st/meta-st-x-linux-ai' source layers/meta-st/scripts/envsetup.sh(build the image)$ bitbake st-image-ai Here is the resulting log:$ bitbake st-image-ai NOTE: Starte
Hi, good evening. I'm currently working with STM32CubeMX (version 6.15.0). I've configured the main options, pin assignment, generated the .ioc file, but I cannot create the code.Once I click on 'create code' I get stuck here:Fyi, the .ioc file is in the same directory as the firmware, i.e. C:/Users/matte/STM32Cube/Repository/Also, the .ioc file is in the same disk as the program.Finally, I've deleted the .stm32cubemx folder, as I've seen others did, in an effort to solve a similar problem. Same behaviour if I try togenerate code from STM32CubeIDE: Is this something you've encountered already ? Thank you very much !
I have been trying to update a wild caard text area.updateTarget will be called externally, value passed in will be 0-100I started calling the function with 0 -> 10 -> 20...etc incrementally.However whenever I passed the 100, the value will fallback to 0 and start again. This is the where the problem occursOnce I reached 100, and then the 0 will be displayed properly, but for later values there will be a "0" in the third character, even though I have checked the buffer is set properly.The pattern is 0 -> 10 -> 20 -> 30 ... -> 100 -> 0 -> 100 -> 20 -> 300 -> 40 -> 500...etcBelow is an exaple of the buffer being set to "30" in asciiBut the display is If I didnt trigger any screen update, after some time I can see there is a frame rendered (around per ~30s)And the the display is back to normal again It seems to be there is some kind of cache?Anyone has a similar issue? I am using the STM32U5G9J-DK2TouchGFX: 4.26 
Hello,I'm trying to port the ST IMX335 camera driver middleware to work with the RPi 2 IMX219. Everything works well with the IMX335, however after adjusting to reflect the IMX219 registers I get no image data and a Lane 0& 1 control error flag as soon as I enable streaming.I've switched to using Dump Pipe 0 and reduced the CSI speed but it made no difference.I'm using binning and a reduced ROI to reduce the amount of data coming off the camera. Has anyone has a similar issue?Thanks
Hi everyone,I would like to know if it’s possible to debug an STM32 microcontroller without using an ST-Link, but instead with an FTDI FT4232HQ chip via its JTAG or SWD interface.If this is possible:How can I configure the debugger connection?Can it be done directly from STM32CubeIDE, or do I need to use another tool (like OpenOCD or GDB)?Thank you in advance for your help!
I have a freshly installed stm32cubeide 1.13.2 on my ubuntu 22.04 machine and I've created a new workspace with a new project. In the beginning, everything works fine. But after generating code, closing the ioc file tab, closing the IDE and reopening the IDE with the same workspace and attempting to open the IOC file, it opens a blank tab failing to render the IOC file. If I close the tab and reopening it, the IDE hangs sometimes, or fails like before. It also seems to be using a whole lot of cpu resources. Reinstalling the IDE did not solve the problem.
Hi everyone,I am working on an STM32H7S78-DK with its built-in display and developing under Keil uVision 5. I am using the RTOS X-CUBE-AZRTOS-H7RS example with the WiFiEMW3080 module, specifically the following project:Repository/Packs/STMicroelectronics/X-CUBE-AZRTOS-H7RS/1.1.0/Projects/STM32H7S78-DK/Applications/NetXDuo/Nx_Iperf_wifi.Goal:I want to create a weather display project on the screen using STemWin.Current Status:- I tested two projects independently:1. WiFi project (with WiFiEMW3080): Works perfectly.2. Display project (with STemWin): Works perfectly.- I merged both projects and adapted the .sct file to define memory regions as follows:/********************************************************************************************/LOAD_FLASH 0x70000000 0x08000000 { ; load region size_regionER_ROM 0x70000000 0x08000000 { ; load address = execution address*.o (RESET, +First)*(InRoot$$Sections).ANY (+RO).ANY (+XO)}ER_ITCM 0x00000000 0x00010000 { ; ITCM (64 KB) - Critical code ex
Hi everyone,I’m using the WS28XX library by NimaLTD from GitHub::backhand_index_pointing_right: https://github.com/nimaltd/ws28xxSetup:STM32F103TIM3 Channel 4 as PWM outputData pin on PB18×8 WS2812B LED matrixInitialization and pixel updates work perfectly:WS28XX_Init(&ws, &htim3, 72, TIM_CHANNEL_4, 64); WS28XX_SetPixel_RGB(&ws, 0, 100, 0, 0); WS28XX_Update(&ws);Issue:Immediately after power-up, some LEDs (LED 41 an 10-12 following) light up before WS28XX_Init() is even called.On the logic analyzer, I can see a valid WS2812B data burst right after startup,covering up to LED 40 with "0", followed by a ~100 ms gap,and only then my actual data frames appear. Once WS28XX_Update() runs, everything looks correct and stable.Questions:What generates this initial data burst on the PWM pin?Could TIM3 or DMA be triggered automatically during startup?Does CubeMX initialize the PWM channel before main() executes?Has anyone seen similar behaviour with WS2812B + DMA on STM32?Than
Hi everyone,I'll start by saying I'm just starting to use STM32cubeIDE. I'm having trouble configuring the microros configuration in my project involving an STM32F767zi board.Specifically, I managed to include everything I needed, and now when I compile, the result is as follows: make -j8 all docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v /home/guglielmo/PROJECTS/provamicroros:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzyjazzy: Pulling from microros/micro_ros_static_library_builderDigest: sha256:1482f3df56184ecc5d4a9d45ad9be0a17a84a91fca947d07f20d1678b23f6243Status: Image is up to date for microros/micro_ros_static_library_builder:jazzydocker.io/microros/micro_ros_static_library_builder:jazzydos2unix: converting file /project/micro_ros_stm32cubemx_utils/microros_static_library_ide/library_generation/library_generation.sh to Unix format..
Hello, dear community!I have a problem with adding more than one button to my STM32 Button Box / joystick with buttons. I am using USB HID.I made it as simple as possible - only two buttons, simplest descriptor. The problem may be trivial, but after 4 days and ~8 hours per day - I can't find solution. I watched most of the STM32 USB training course (on yt), I was digging deep in st forum and google/bing/yahoo, but nothing helped. I think there is not a ready answer to my problem in the whole internet.About the problem: One button (the first one) is working flawlessly, but when i try to USBD_HID_SendReport for another button - nothing happens. My descriptor: // HID Report Descriptor 0x05, 0x01, // Usage Page (Generic Desktop) 0x09, 0x04, // Usage (Joystick) 0xA1, 0x01, // Collection (Application) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1 bit) 0x95, 0x02, // Report Count (2 buttons) 0x05, 0x09, // Usage Page (
Hi,On the STM32N6570-DK board, I’m running an application that uses TouchGFX and FileX.Both the TouchGFX frame buffer and FileX temporary buffers are located in external memory (XSPI1).I’m observing intermittent write failures when SDMMC IDMA is used for direct transfers from external memory to the SD card. The issue appears as incorrect data being written — typically affecting the entire transfer block (a few kilobytes), as shown in the image below.External memory is attributed as non-cacheable all the time. Selecting various shareability options for the ext memory introduces very strange behavior, so it's been disabled finally.However, when the write operation is performed from internal SRAM (either via an intermediate buffer in SRAM or the FileX driver’s scratch buffer), the transfers are always successful.I’ve also found a very similar case involving the TouchGFX frame buffer and SD card buffer in external memory on the STM32F7 platform.https://community.st.com/t5/stm32-m
Hi everyone,I’m using STM32CubeIDE 1.19.0 with an STM32G431K6T6, and I’m having two issues in the CubeMX configuration that I can’t seem to solve:LSE clock configuration not availableIn the RCC tab, I can only configure the HSE clock (High Speed Crystal/Ceramic Resonator, LSCO, etc.).There’s no option to enable or select the LSE (Low Speed External) oscillator.The tool shows this message:“LSE OSC is not available. To enable it, go back to IP RCC in Pinout Tab.” But when I open the RCC configuration, there’s still no LSE or LSI section available.ADC12 clock selection is greyed outWhen I enable ADC1 (ADC12) in the Pinout view, the ADC clock source field is greyed out and cannot be changed.CubeIDE shows this message:“ADC12 Clock Selection is not available. To enable it, one of the following RCC modes or IPs have to be configured from the Pinout Tab: - ADC12 enabled.” But ADC1 is already enabled, and I still can’t select the ADC clock.I’ve already tried:Enabling/disabling ADC1 and reconfig
Not sure whether its me looking at the wrong places but I can't find the project that came with the Nucleo-FR401RE eval board? Looked under the STM32CubeF4 examples, nothing seems to match.Can somebody point me to the right place?Thanks-- Alex
Hello all, I am following the following guide: https://wiki.stmicroelectronics.cn/stm32mpu/wiki/STM32MP25_Discovery_kits_-_Starter_Package In order to bring up a STM32MP257F-DK board and am running into a problem when I try to use the Programmer to flash the board. It gets to Partition 0x3 and at 31% fails saying it failed to download sector[0]. Specifically this is the output in the terminal:-------------------------------------------------------------------STM32CubeProgrammer v2.20.0------------------------------------------------------------------- USB speed : High Speed (480MBit/s)Manuf. ID : STMicroelectronicsProduct ID : DFU in HS Mode @Device ID /0x505, @Revision ID /0x2000SN : 003700494236501700363847DFU protocol: 1.1Board : --Device ID : 0x0505Device name : STM32MP23xx/25xxDevice type : MPURevision ID : --Device CPU : Cortex-A35Start Embedded Flashing service Opening and parsing file: tf-a-stm32mp257f-dk-optee-programmer-usb.stm32Memory Programming ...File : tf-
Background: I am trying to bring up simultaneous operation of both FDCAN peripherals on an STM32G0, but due to a combination of unfamiliarity with the clock internals, and a misleading baud rate calculator, I spent a while trying to debug what I thought was a non-functioning FDCAN2 peripheral, but was actually working at an unexpected frequency. FDCAN1 configuration: FDCAN2 configuration (noting that the prescaler is 8, while the clock divider is 1): with this configuration, FDCAN2 transmission works as expected (verified using a PEAK CAN dongle) at 250kbaud when I am running it on its own in normal operation -- started the FDCAN2 peripheral using HAL_FDCAN_Start(&hfdcan2). However, if I also start FDCAN1, then I can no longer read any transmissions from my CAN dongle. After unsuccessfully attempting to debug the issue in firmware, probing my CAN lines revealed that FDCAN2 was operating at 30kbuad (250k/8 = 30k). Going back at the CubeMX configuration, I tried changin
I am using STM32F411CEU6 on a blackpill. I have the Adafruit microsd card SPI module and a 4gb clouddisk sd card. I have tested the connectivity, reading and writing of the module and SD card on a Arduino UNO so I know it is compatible and the module isn't broken.Following this tutorial: https://01001000.xyz/2020-08-09-Tutorial-STM32CubeIDE-SD-card/ and other video tutorials online about the same topic, the farthest I've gotten is getting it to say FR_NO_FILESYSTEM when trying to mount the SD card. I have triple and quadruple checked the SPI connections and even switched from SPI2 to SPI1 and still nothing. I have formatted the SD card to FAT32 more times than I can count (even tried plain FAT still didn't work).My code is practically identical to the one in the tutorial I linked except I don't have a serial debugger and have just been looking through the debugger so I removed the printfs.I originally have my project with the VSCode extension with CMake but now I am even tryi
Hi,I have a container with buttons, images and text (around 30).I would like to change the alpha from 255 to 128 of each widget inside the container.On the documentation, it says it it possible with container with FadeAnimator in Mixins :https://support.touchgfx.com/docs/development/ui-development/ui-components/containers/container#propertiesbut I think it is a mistake in the documentation.So, without this feature, what is the best way to change all the alpha value of each widget in a container ?If the function forEachChild (https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_container#function-foreachchild) is recommended, can I have a link of an exemple program using this function or a zip file with a test program with this feature ?Regards,Sébastien
Dear all,Can you please help to point me to any of the repeat button implementation example?I have successfully implement the single button with plus and minus but the number target is too big and it is taking too many clicks to get to the target number. I would like to use the repeat button feature to achieve the goal that if the repeat button is holding, the setting will go faster and reach the goal.
hello everyone ,i am using stm32f1 and cubeide , i want to put a 16bit security key on flash memory position page 63 during compile or build process ,is it possible ?
I am using NUCLEO-G071RB. I am trying to generate an PWM pulse. I am using TIMER 3 Channel 2. - Clock Frequency = 64 MHzWith this setting I should get a HIGH pulse of 90 micro second, instead I get 80 or 40 micro seconds. When the Pre-scaler is increased to 640-1, I received HIGH pulse of 980 and 920 micro second which was also not accurate.
Hi All, I am using ThreadX on an STM32H753. The version of ThreadX being used is 6.1. I use this older version because it is ISO-62304 certified. All is functioning as desired but each time I execute code generation from CubeMX the ThreadX files are overwritten with version 6.4 (not certified). Is there any way I can avoid the update of ThreadX when I regenerate the code from CubeMX? Thank You, Gil
Has anyone seen documentation or done optical power measurements for VL53L4CD? I’m trying to find the radiant energy or optical power output of this low power time-of-flight device. (I only succeed to find a graph showing the relative emitted power in their datasheet)
Hello everyone, I have a problem with my STM32L011G4U6, I want to put it in stop mode or in standby mode, but the two modes are not taken into account, only the sleep mode works, I must surely make a mistake but where? here is my function: void Enter_MCU_Sleep(void) { HAL_Delay(1000); HAL_UART_Transmit(&huart2, (uint8_t *)"Dort\r\n", 33, 300); // Configurer et lancer le timer __HAL_TIM_SET_COUNTER(&htim2, 0); HAL_TIM_Base_Start_IT(&htim2); // Timer doit générer une IT de réveil // Désactiver les périphériques pour réduire la consommation //HAL_ADC_DeInit(&hadc); HAL_UART_DeInit(&hlpuart1); HAL_UART_DeInit(&huart2); //__HAL_RCC_ADC1_CLK_DISABLE(); __HAL_RCC_LPUART1_CLK_DISABLE(); HAL_NVIC_DisableIRQ(EXTI4_15_IRQn); HAL_NVIC_DisableIRQ(DMA1_Channel2_3_IRQn); HAL_NVIC_DisableIRQ(DMA1_Channel4_5_IRQn); // Désactiver le RTC et l'oscillateur LSE HAL_RTCEx_DeactivateWakeUpTimer(&hrtc); // Désactiver le wakeup timer RCC
When using MX to generate the ioc-file and then importing it to CubeIDE, it is tricky to make it work.Such as trying to make a pin an output pin. In this case on the STM32H563 where I want to use PE2 (on pin 1) and PE3 (on pin2) as output pins. when generated it is not possible to change the output of these port pins. Why is that a problem when the compilation is ok and the debuger does not protest?Is there any specific setup that has to be done manually? Iried that but then the compiler objected.How make such a simple action work in such a complicated environment?
I'm trying to perform ADC using PA3 (adc1_in15) and PF11(adc1_in2) pins of stm32mp157c-ev1 board but I keep getting "stm32-adc adc@0: Failed to enable vreg: -110"In arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi I added the following:&adc { /* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */ pinctrl-0 = <&adc1_ain_pins_a>; pinctrl-names = "default"; vdd-supply = <&vdd>; vdda-supply = <&vdda>; vref-supply = <&vdda>; status = "okay"; adc1: adc@0 { status = "okay"; /delete-node/ channel@0; /delete-node/ channel@1; /delete-node/ channel@6; channel@2 { reg = <2>; /* 16.5 ck_cycles samp
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.