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
Hi all,Is there a replacement LCD/touch panel for STM32U5G9J-DK2. I found a company that sells them but they have a minimum order of 200. I’m only in need of the LCD/touch panel, I have the PCB (MB1860A). The manufacturer Rocktech show no info that I could find. Nothing comes up in octopart.com either.Thanks.
Hi, **Environment**- STM32F7xx LL Driver (STM32F7xx_HAL_Driver)- GCC arm-none-eabi 15.2 (also reproducible with GCC ≥ 12)- Compiler flag: `-fanalyzer`- File: `STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_gpio.h`---**Problem**When building with `-fanalyzer`, GCC reports the following warning for several inline functions in stm32f7xx_ll_gpio.h:```warning: shift by count ('64') >= precision of type ('32') [-Wanalyzer-shift-count-overflow]```**Root cause**`POSITION_VAL(VAL)` is defined as `__CLZ(__RBIT(VAL))`. When the analyzer considers `Pin = 0` as a possible runtime value (which it cannot rule out without additional constraints), then:- `__RBIT(0)` → `0`- `__CLZ(0)` → `32` (implementation-defined, GCC arm-none-eabi returns 32)- `32 * 2U` → `64` → shift of a `uint32_t` by 64 = **undefined behavior** per C11 §6.5.7The affected functions all follow the same pattern:// e.g. LL_GPIO_GetPinMode (line 307–311)return (uint32_t)(READ_BIT(GPIOx->MODER, (GPIO_MODER_MODER0 << (POSIT
Similar problems with STM2CubeMX v6.18.0 when generating STM32CubeIDE project and sub-projects structure for STM32N657X0HxQ processor. The only way to succeed is to have ‘Use Default Firmware Location’ checked and ‘Generate Under Root’ NOT checked.Since I need to use ‘private’ SDK, later manually edited the .cproject and .project files accordingly :-( In my previous project I was able to use custom path (‘Generate Under Root’ NOT checked), that was STM2CubeMX v6.12.0 and the target was STM32U5 (SDK was STM32Cube_FW_U5_V1.5.0). I still have to adjust the paths manually from time to time and manually add required files.In short, STM2CubeMX always seems to be broken one way or another ...
In the STM32CubeF0 pack, PWR/PWR_CurrentConsumption example for Nucleo-F030R8:void SleepMode_Measure(void){ GPIO_InitTypeDef GPIO_InitStruct; /* Configure all GPIO as analog to reduce current consumption on non used IOs */ /* Enable GPIOs clock */ /* Warning : Reconfiguring all GPIO will close the connection with the debugger */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE(); GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // <<< Here! GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pin = GPIO_PIN_All; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);void StopMode_Measure(void){ GPIO_InitTypeDef GPIO_InitStruct; /* Configure all GPIO as anal
This is not a real question, this is just knowledge sharing… For the context, I would read first. At this point I had x86 NFC Tag Programming application, I have been waiting for the STM to release x64-bit version of the DLLs so I could update my application to x64.I have been lurking around the community and finally found but this did not help as with the release of v3.0.0, it did came with x64 bit of DLLs but I had real hard time integrating them into my project!! Quite disappointing, eh?!! I gave up the idea of updating my application to x64 until very recently I stumble upon another question based on the question title, I clicked on it with a lot of hope and what I found was quite disappointing. Basically I felt I was in a ditch where I could not update my application to x64 even though I have x64 bit DLLs!
EVAL-SCS006V1 (TSUSB4532) is plugged into a 65W power supply with an in-line USB-C meter. With no load attached, the meter reads 20.06V, 0.016A, and 0.321W. What on the board that consumes this much power?In contrast, an EVAL-SCS006V1 (STUSB4500) is plugged into the same configuration, the meeter reads 20.07V, 0.000A, 0.000W.Please help me figure this out!
I discovered some strange behavior in the STM32CubeMX code generation for Keil µVision.I created a project with STM32CubeMX that I compile using Keil µVision. In Keil µVision, I configured two user commands in the "Options for Target" dialog under "User" in the "After Build/Rebuild" section. These commands must be executed after the software has been compiled.Whenever I regenerate the project in CubeMX due to configuration changes, the "After Build/Rebuild Run #2" command is always removed.I then tested all commands and was able to narrow the issue down exclusively to "After Build/Rebuild Run #2".Is this a bug in CubeMX, or do I need to change a setting somewhere to ensure that these commands are preserved?Please also refer to the attached screenshots.Best regards,Kai RiekBefore running CubeMX:After running CubeMX:
I have designed a custom board. I have connected SWCLK to PA3 and SWDIO to PA12. I found I can not connect. So I made a patch and connected SWDIO to PA2 which seems to be default after boot. Now I can connect to the board. However after downloading my software the board becomes unaccessible. The code is running fine on a NUCLEO-WL33CC1 board.I can not access the board with CubeProgrammer either. It is like bricked.I found one issue with LSE which I have connected to PB14 and PB15 instead of PB12 and PB13. So I changed my code disabled LSE and enabled LSI and tested this on a new board. Initially I can connect but as soon as I try to singlestep through the code contact is lost and after that the board is no longer accesable in CubeProgrammer either.I am running out of boards if I can not find a way to unbrick them. @STTwo-32
For a long time, on STM32F0, I have been using the RCC_APB2ENR_DBGMCUEN bit as a reliable indication that a debug session is active with CubeIDE - see: But this seems to have broken recently:It now seems that RCC_APB2ENR_DBGMCUEN is not set unless the ‘Debug in low power modes’ option is set in the Debug Configuration. Even when RCC_APB2ENR_DBGMCUEN is set at the start of a debug session, doing a Reset during the session (‘Reset’ button on the toolbar) will clear it.Or was this always the case, and I just happened to be (un)lucky enough never to notice it? PS:As noted in the linked thread, the DEBUGEN bit in DHCSR (the Debug Halting Control and Status Register) is not available on Cortex-M0 - so that cannot be used.
An issue has suddenly popped up on my custom boards using a STM32U575CIT6. It manifests as the MCU appearing to not run code that was successfully flashed. Viewing the registers with CubeProgrammer seems to show it repeatedly running the reset handler. Attaching to the running process with CubeIDE shows hard faults occurring in the first instruction of `__libc_init_array` which is `push {r4, r5, r6, lr}`. The hard faults are a precise data access violation and a stacking error. That instruction is the first instruction that utilizes the stack. When attached, CubeIDE cannot read any data from SRAM3. It appears as all ?’s. I found that the RCC_AHB2ENR1->SRAM3EN bit is 0, which is the clock enable bit for SRAM3. This would explain why SRAM3 appears inaccessible. Putting a breakpoint on the first instruction of the `Reset_Handler()` shows that this bit is unset even then. All other SRAM clock enable bits are set. According to the Reference Manual, that bit’s reset value is 1. All tha
Hi,NUCLEO-F401RE + X-NUCLEO-IKS02A1, MEMS Studio v2.4.0. Flashed DataLogFusion (Applications\IKS02A1\DataLogFusion), connects fine (X-NUCLEO-IKS02A1, FW: 12.1.0), but I only get "Library Evaluation" (Data Table, Charts, Sensor Fusion...). No "Quick Setup" / "Sensor Evaluation" anywhere, including under Advanced Features. DataLogTerminal gives "Board not identified."An older tutorial (MEMS Studio v1.3.0) shows a "Sensor Evaluation" section with Quick Setup, Registers Map, FSM, MLC, Qvar — raw register access, not fusion output.Question: Which X-CUBE-MEMS1 firmware (if any) enables "Sensor Evaluation"/"Quick Setup" for this board combo? Is it firmware-specific or was it removed in MEMS Studio v2.x?Thanks!
Hi!i made a custom PCB with the STM32WB1MMC. But Ii’m getting hardly 2 or 3 meters range.Seems to be the same issue as but my device is right on the edge of the PCB.My antenna keep put zone is a bit narrower than the reference board. Apart from this I not able to see what else could be wrong. Any pointers would be much appreciated. Thanks!
Previously:In that thread, @Pavel A. said:The helpful AI informs that user can define several ranges of ports to exclude from automatic allocation - but this won't prevent other apps to use these ports explicitly. The command is netsh int ipv4 add excludedportrange protocol=tcp startport=<port_number> numberofports=<N(Unfortunately, linking to specific posts within a thread is broken at the moment) The problem has now recurred: and, indeed, it does seem that the mentioned ports - 61235 & 61234 - are in an excluded range C:> netsh int ipv4 show excludedportrange tcp activeProtocol tcp Port Exclusion RangesStart Port End Port---------- -------- 5357 5357 49679 49778 49879 49978 50000 50059 * 50160 50259 59330 59429 59541 59640 59864 59963 61196 61295* - Administered port exclusions.This was working fine this Moring, so the question remains: Why has this range suddenly g
does spc58 has motor control solution like BLDC or brush motor?
After pressing the ‘Debug’ or ‘Run’ button with no target connected (or the connected target powered down), CubeIDE v2.1.1 immediately gives the “Target no device found” message in the Console window: But the UI is then locked-up for 30 seconds or so before the error pop-up appears:You can’t do anything in this time - you have to just wait for the pop-up. Not having the target connected and/or powered-up when starting a debug session is one of those silly D’oh! mistakes, and it’s immediately obvious the instant the message appears in the Console window - it is frustrating to then have to sit around waiting for the IDE to catch up before trying again. (I’m sure I had posted this before, but can’t seem to find it - maybe it got lost in the forum changeover?)
@User_MV Thank you for all this information and for the CMake files. This helped me to create an OEMiRoT project exclusively with CMake, dropping the need for any provisioning script. @Saket_Om I’m looking forward for the possibility of using MCUBoot middleware directly in STM32CubeMX2. We can download it from the “Pack manager”, but it explicitely says “No” in the “Compatible” column (and thus it is not present in the middleware section). So what I did was just a git submodule, using mcuboot’s hal2 branch. A change that I needed to do : increase the memory buffer length of mcuboot, otherwise I was getting errors with MBEDTLS_ERR_MPI_ALLOC_FAILED return code, with an user application of size 0x16000. So I doubled the value of ROT_MBEDTLS_MEM_BUF_LEN, from 0x1000 to 0x2000. As a side note for anyone, make sure to call HAL_RCC_Reset() in either the OEMiRoT, or the user application. ST does it in the user application, but I prefer the other to do it in the OEMiRoT - just before jumping
I’m using a Raspberry Pi host to flash an STM32G030 via I2C.The Raspberry Pi (all models except 5 and newer) have a known hardware bug in their I2C clock-stretching support.See e.g. https://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.htmlThe interaction between a Raspberry Pi and the STM32 Bootloader over I2C is thus erratic. It works most of the time (including full verify, erase and flash cycles), but around 10% of the time, it will fail on the first two commands sent. Since it is quite timing-sensitive, with the bug triggering if the STM32 responds within a specific time window, that might be a reason why commands like GET, GET_VERSION, and GET_ID seem to be affected more, but flashing (which is sent much more often) works. Obviously there is little that can be done on the STM32 side. But I wish the AN4221 would document the followup behaviour of the Bootloader more clearly to help identify this issue.Notably, the STM32 gets into an invalid state, in which it does not respond
Hi ST Support,I would like to know whether there is a supported mechanism to enable or disable debug console output at runtime across the entire boot chain, including the following components:TF-A (Trusted Firmware-A) OP-TEE U-Boot Linux Kernel Root File System (user space)Use case:I connect to the target board through the serial console to monitor boot logs. After the system has booted, I access the board over USB SSH. From the Linux shell, I would like to execute a command that enables or disables debug messages on the serial console.My goal is to control the debug console output without rebuilding or reflashing any of the bootloader or firmware components.Could you please let me know:Is there a supported way to enable or disable debug console output for all boot stages at runtime? If this is not possible, what is the recommended approach to achieve similar functionality? Does ST provide any framework or utility to control console logging across TF-A, OP-TEE, U-Boot, the Linux kernel
Hello,We are designing a custom board using the STM32MP157FAC1 device and interfacing its RGMII interface with the DP83869HMRGZT Ethernet PHY.We have some queries regarding the PCB implementation of the RGMII interface.Is it recommended to use series termination resistors on the RGMII signals? If yes, kindly clarify the following:(1.) Should the series termination resistors be placed only on the TX signals driven by the STM32MP157FAC1?(2.) Are series termination resistors also recommended on the TX signals driven by the DP83869HMRGZT (i.e., the RX signals of the STM32MP157FAC1)?(3.) Kindly advise the recommended resistor values and the preferred placement of these resistors with respect to the driver device.Your guidance on the recommended implementation would be highly appreciated.Regards,Prashant
这个是安装了很多版本后还是出现的问题,虽然点了ok后可以正常进入选择芯片的界面,但是最终生成的代码有问题,串口发不出去了(检查过了人为问题)重新下载了很多次,依然是有问题,希望有解答,谢谢
Hi,We've been working on a project using v1.3.1 of MEMS Studio, but I've had to use a new laptop and it doesn't have this installed. Unfortunately, when I go to the downloads page I can only see v1.4.1 of MEMS Studio and it's forcing me to upgrade the firmware, which I don't want to do as all our testing & benchmarking has been based on a specific configuration.Does anyone have, or can you point me to, the older version of the application? ST don't seem to have an archive of older builds anywhere and their support team has been unable to help.Thanks,Simon
Hi, Please forgive my ignorance in advance.I have been asked to acquire the equivalent of the hardware show in the attached photographs (both items).I am hoping that someone in the community can point me at the relevant product in on this website. I don’t have experience of what the product is used for to be able to make a proper judgement myself.I suspect the one that I have is old and has been replaced with a newer model, hence my inability to find a direct match in the product pages.Any assistance would be much appreciated.Thank you for your time.
Hi I recently started using CubeMX2 and my board is the Nucleo-C542RC. The issue is: I'm trying to use a timer interrupt, but the IRQ Handler doesn't seem to trigger when using the IAR toolchain. (The timer value itself increases normally when I use 'get Value', so the timer peripheral is working). However, it works perfectly when I use CMake. Are there any additional settings I should check in the configuration? Here’s my Main and Timer code : Main :/** ****************************************************************************** * file : main.c * brief : Main program body * Calls target system initialization then loop in main. ****************************************************************************** * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with th
Hi everyone,I am working on an STM32U5G7VJTx project where I am trying to capture analog composite video using a TW9912 video decoder and display it on an RGB TFT using LTDC. Hardware* MCU: STM32U5G7VJTx* Video Decoder: TW9912* Input: Composite Video (NTSC)* Display: RGB TFT driven by LTDC* Interface between TW9912 and STM32: 8-bit BT.656 with Embedded Sync Software FlowMy current flow is:TW9912 (configured through I2C)→ DCMI (Embedded Sync / BT.656)→ GPDMA→ SRAM buffer (YCbCr422)→ CPU converts YCbCr422 to RGB565→ LTDC framebuffer→ TFT display Current ProblemThe TFT powers up correctly.Most of the time the display is completely green.Sometimes I briefly see something that resembles the camera image but in black and white sometime or in the random colour, but it is heavily distorted and not recognizable. What I Have Already Checked* TW9912 is configured for BT.656 output with embedded synchronization.* DCMI is configured in Embedded Sync mode.* The Embedded Sync codes were updated from
I'm facing a very strange issue on my custom hardware based on the STM32N6 when trying to run my application using the Run configuration in STM32CubeIDE. My setup consists of a secure-only application with an FSBL and a separate application. The project is generated with STM32CubeMX, built in STM32CubeIDE, and uses TouchGFX. The build completes successfully. Debugging the application works perfectly, and I don't encounter any issues. However, as soon as I try to launch the exact same application using the Run configuration, it stops working. Both the Run and Debug configurations use the same build and the same ".launch" settings. The behavior is as follows: 1. I power-cycle the board while it is in development mode.2. I start the application using the Run configuration.3. The application does not produce any output on the display.4. After a few seconds, the watchdog expires, the board resets, and it ends up in a boot failure state. Interestingly, if I instead: 1. Power-cycle the board.
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.