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
ST‑LINK Mini V3E not detecting STM32H7 (Core ID error, high current when VTARGET connected)I’m debugging an issue with a custom STM32H7 board and an ST‑LINK Mini V3E. The setup includes a main PCB and a separate power PCB. So far:Power & Basic Checks3.3 V and 24 V rails are correct.Board current consumption is low when powered from either an 8 V or 24 V supply.Connections between the ST‑LINK Mini V3E and the main PCB have been verified.ProblemWhen I connect VTARGET from the ST‑LINK to the board’s 3.3 V rail, the current spikes and something starts to smell hot.STM32CubeProgrammer shows no target voltage, no device ID, and fails to read the core ID.The ST‑LINK is detected by the PC normally.Additional TestsTried a second main PCB and a different ST‑LINK Mini V3E, powering only through the ST‑LINK (no external supply). Same result: STM32CubeProgrammer cannot detect the STM32H7.I’m aware that VTARGET on the Mini V3E is an input, so I’ve tied it to the board’s 3.3 V rail as required.Ne
Hi, I’m working on an STM32H7S78‑DK project that uses FreeRTOS, with STM32CubeIDE v2.0.0 on Windows. The ST‑LINK debugger works normally as long as RTOS Proxy is disabled, but cannot be launched once I enable RTOS Proxy. Error message and Console prints as below: My debugger configuration: The exact same project used to run fine with RTOS Proxy enabled, but it suddenly started failing one day without any changes to my debug settings. The board itself should be good, as it works normally on another development setup.Has anyone seen this issue before, or is there any known limitation with RTOS Proxy on the H7S series? Any pointers would be appreciated.
Hi everyone,I'm working with an STM32F401CCU6 and trying to transmit 2 bytes over I2C3 using DMA1 Stream 5 Channel 6, which is the correct mapping according to RM0368 Table 28:DMA1 Channel 6 Stream 5 -> I2C3_TXThe DMA configuration appears correct, and I do receive the DMA Transfer Complete (TC) interrupt. So the DMA request is generated, the stream runs, and the transfer completes.However, it seems like the I2C slave device (AW9523) never receives the register and data bytes. Unfortunately my osci is currently broken.The same write sequence works perfectly when I use a blocking I2C write (polling SB, ADDR, TXE, etc.). Only the DMA‑driven version fails.What I observe:START condition is generatedAddress is sent and ACKedADDR flag is cleared correctlyDMA TC interrupt firesSTOP is generatedBut the slave never sees the register or data byteDMA is configured as:DMA1, Stream 5, Channel 6Direction: Memory -> PeripheralMemory increment enabledPeripheral increment disabledByte transfersNo
I recently got a new custom PCB with a STM32L476RGT6 and a BlueNRG-M2SP. I have a Nucleo L476RG and a X-NUCLEO-BNRG2A1 to test and make sure the program works. I am running the SensorDemo_BLESensor-App project from the X-CUBE-BLE2 package, and it works flawlessly on the dev board with the pinouts that are on my PCB, connected with jumper cables.I have been trying to isolate why this program isn't working on my PCB, and realized the IRQ pin is not going high after the send_cmd() function. So basically with the dev board whenever it runs hci_reset(), and eventually into hci_send_req where send_cmd is, IRQ goes high, but on the PCB, IRQ never goes high.Now from my understanding, this can be a problem in several areas. I have a multimeter, and confirmed CS is going high at the same time in the code for both the PCB and the dev board, and I set PD2 on my PCB high as a test and it worked so the PD2 (Where my IRQ pin is connected to) works as well. I can go to my uni and use their logic analy
Dear Sir/Mam, As LCD, i.e., RK043FN48H-CT672B Rocktech of STM32F746 Discovery Board is obselete hence can we change to RK043FN66HS-CTG Rocktech without any implication in the firmware of Discovery board? Please respond me as soon as possible. Best Regards Sushant Verma
Hi. I am university student and This is my first time using the blackpill for my project . I am having trouble in uploading my code to my blackpill using the stlink. I have make sure that i connected to the correct pin from the stlink to blackpill. However when i pressed uploading in keil it kept saying no stm32 target found. I try to boot to connect to programmer but it kept the same error. I have read others similar problem and tried their solution but it still wouldnt work. Please help me.
Dear sirs. I'm connecting an ISM330DHCX with an IIS2MDC and I need to know if the connections scheme is okay to operate in MODE 2Then I need to know if pullups are needed for i2c bus coming from SCx and SDx, and if pulldowns are required for INT lines as in the provided schematic.I'm based on the ISM330DHCX and IIS2MDC datasheets and X-NUCLEO-IKS02A1 board manualThe routing jumpers are there just in case we need to route one magnetometer to tha main I2C bus Thanks in advanceIgnacio
Moved from STM32 MCU products forum board to MCU embedded software as the main question is about how to run the demo vs LCD versions. I got STM32U5G9J-DK2 and this Discovery is still assembled with LCD board MB1860A version. But the documentation suggesting this DK have LCD board MB1860B version and share only B version scheme. I taked damage of my LCD board MB1860A and replaced it to MB1860B LCD board version from my next Discovery Kit STM32H7S78-DK. And here arising some problems: For example the BSP demo from example pack working flawlesly, but the main demo embedded from factory doesn't work with STM32U5G9J-DK2 and MB1860B version of LCD board. The LCD is dark and look as dead. So my questions which could be provide the answer about incorrectly work of LCD sounds like: 1. Why doesn't the main demo work, despite of the docimentation suggestion that this kit is assembled with the MB1860B LCD version board? 2. How I can obtain the scheme for M
Hello.I'm working on setting up a brand new Nucleo STM32U5A5Z development board and have some issues.My project is a completely bare-bones default with no security or BSP enabled. The application fails in SystemClock_Config() and enters the error handler. The issue seems to be related to the HSE as SystemClock_Config returns HAL_TIMEOUT here: /* Check the HSE State */ if (pRCC_OscInitStruct->HSEState != RCC_HSE_OFF) { tickstart = HAL_GetTick(); /* Wait till HSE is ready */ while (READ_BIT(RCC->CR, RCC_CR_HSERDY) == 0U) { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) { return HAL_TIMEOUT; } } }Thanks!
Hi, I'm trying to implement USBPD EPR Source with DisplayPort Alt Mode on a STM32G071. I use the latest https://github.com/STMicroelectronics/stm32-mw-usbpd-core, which seems to support EPR, but I couldn't find any complete examples with a working EPR source. Now I successfully enter EPR mode, and Sink receives EPR PDOs, but can't negotiate any PDO except the 1st. Even SPR PDOs The stack sends REJECT after PE_SRC_NEGOTIATE_CAPABILITY. It works perfectly in SPR mode and can switch between PDOs, but fails the same PDO in EPR mode 1st PDO in EPR mode ACCEPT: 2nd PDO REJECT: How can I debug these things inside the stack? What am I missing? Spoiler (Highlight to read)uint32_t PORT0_PDO_ListSRC[USBPD_MAX_NB_PDO] = { /* PDO 1 */ ( USBPD_PDO_TYPE_FIXED | /* Fixed supply PDO */ USBPD_PDO_SRC_FIXED_SET_VOLTAGE(5000U) | /* Voltage in mV */ USBPD_PDO_SRC_FIXED_SET_MAX_CURRENT(1000U) | /* Max current in mA */ USBPD_PDO_SRC_FIXED_PEAKCURRENT_EQUAL | /* Peak Current info */
Hello,We have procured a STM32U5G9J-DK1 discovery kit. We are in need of the default pre-loaded program that comes with the kit as this will help us to understand how to use Touch display and its other features. We see that this pre-loaded program is not available in the repository downloaded for STM32U5G. Therefore, request you to kindly share it here.With regard,Sudarshan Chaudhary
DearsWe used STM32G431CBT3 in 5000W Three-phase Permanent Magnet Synchronous Motor Driver projects, now facing some issues below, could you help check and advise this, thanks!1. There are some issues encountered in the project of driving with a three-phase permanent magnet synchronous motor. Please assist in resolving them. The attached file contains the design materials. If any other materials are needed, please inform us promptly. Thank you!1. Driver parameters:Rated power: 5000W (continuous operation with approximately 100A)Peak power: 13500W (300A current flow for about 3 seconds)Carrier frequency: 16kHzWorking voltage: 18 series lithium batteries (54V - 78V)Operating environment temperature: -10℃ to 50℃Motor slot-pole number: 36N, 42PTest topology:2. Problem Description: During the pulse experiment, the following issues were encountered. The double pulse parameters were (pulse current 400A, bus voltage 80V, auxiliary test inductance 5.6uH). Regarding the following severa
Hi , I have designed one product with STM32WB55 for BLE and Zigbee concurrency. The schematic design I have followed is the with out SMPS design (LDO mode). VFBSMPS, VLXSMPS, VDDSMPS pins are connected to VDD. Our firmware will scan for BLE devices and it works in Nucleo development board. But not functional in our custom board. With our board it is able to connect upto 4 devices only, but the same firmware can handle up to 18 devices in development board. What will be the reasons for this ?
Hi,I’m working on STM32MP257F-DK (A35 + M33) using OpenAMP + RPMsg over IPCC and facing an issue with RPMsg endpoint creation on the M33 side.GoalSimple use case:Linux (A35) sends "START" / "STOP"M33 receives the message via RPMsgM33 toggles an LEDWhat is workingM33 firmware builds and boots correctly using remoteprocResource table is detectedVirtio RPMsg is created on Linux From Linux dmesg:virtio_rpmsg_bus virtio0: rpmsg host is online remoteproc remoteproc0: remote processor m33 is now upSo remoteproc and OpenAMP transport are working.ProblemWith the following M33 code, RPMsg endpoint is not getting created on Linux side:int rpmsg_recv_callback(struct rpmsg_endpoint *ept, void *data, size_t len, uint32_t src, void *priv) { if (len >= 5 && strncmp((char *)data, "START", 5) == 0) { led_run = 1; } else if (len >= 4 && strncmp((char *)data, "STOP", 4) == 0) { led_run = 0; HAL_GPIO_WritePin(GPIOZ, GPIO_PIN_0, GPIO_PIN_RESET); } return 0; } stru
Hello,I am working with an STM32MP151 and I would like to start the Cortex-M4 core as early as possible during the boot sequence.The main requirement is to run a real-time task on the M4 that reads an analog input (ANA0 – ADC channel) with minimal startup latency.In my current setup, the ADC channel is first owned by the Cortex-A7 Linux kernel and is explicitly released and reassigned to the Cortex-M4 via the Linux device tree (by disabling the ADC node for A7 and assigning it to the M4).Additionally, if I stop the system in boot mode and manually start the Cortex-M4, I am able to successfully debug the M4 firmware and correctly read the ADC value.My goal is to have the M4 firmware start automatically in the same early boot conditions, without requiring a manual boot/debug sequence.I would like to understand:At which earliest boot stage the Cortex-M4 can be releasedWhether the Cortex-M4 can be started independently from the Linux boot on the Cortex-A7Thank you in advance for your suppo
Hi,I'm using the NUCLEO-U083RC board.I wish to use the TOUCHSENSE library on STM32U083 (or STM32U073) that has the TSC, but STM32CUBEMX 6.16.1 doesn't allow me to enable it.Why ?
I'm running example 03_ECDH from https://github.com/STMicroelectronics/STSAFE-A120_examples/tree/main/Applications/Projects/03_ECDHI modified the example to use ED25519 / Curve25519. I pasted the public key of some key I generated on my PC into the C source. After a power-cycle the asymmetric key info of the A120 looks like this: ----------------------------------------------------------------------------------------- Global usage limit : 65535 ------+---------------------------------------------------------------------------------- | ASYMMETRIC KEY INFO ------+----------+------------+---------------+------------+---------+------------------- SLOT | PRESENCE | TYPE | EdDSA Variant | Gen Key AC | Sig Gen | Key establishment ------+----------+------------+---------------+------------+---------+------------------- 0x00 | x | NIST_P_256 | None | Forbidden | x | . 0x01 | x | ED25519 | Pure | Free | x | . 0x02 | . | . | None | Free | x | . 0x03 | . | . | None | Free | x
I am using STM32CubeMX 6.16.1 to generate project with external Flash loader for STM32N6. When I generate for STM32CubeIDE and build the extmemloader then STM32CubeProgrammer can parse it (the .elf renamed to .stldr). But when I generate CMake project and build with vscode (with STM32 extensions) then STM32CubeProgrammer fails to parse. Compiler/linker removes the StorageInfo structure from output completely. I fooled it to keep it. Now it doesn't fail immediately, but still can't parse any info either.Here's the CubeProgrammer EL list view. First is vscode built loader, second is Eclipse built:I compared the ELF files, Map files, compiler and linker flags. There are plenty of differences and I haven't figured out what exactly causes it. I changed the flags but nothing helped. I noticed vscode uses GCC 14 and STM32CubeIDE uses GCC 13 but tricking vscode to use GCC 13 didn't solve it either.
Hi,Today I have downloaded STM32IDE. I am trying to develop some projects with my NUCLEO F401RE. I have tried that create a new file from this way but program does not create any .ioc file. Can you help me?Thank you.
Hello,My goal is to test the IBI functionality of my custom I3C master driver using the LSM6DSOX sensor. For this test, I need the Linux I3C slave driver for LSM6DSOX with IBI support. The file linux/driver/iio/imu/st_lsm6dx/st_lsm6dsx_core.c does not contain any IBI-related code, such as i3c_device_request_ibi. If anyone has an example or code for using IBI with I3C in a Linux environment, could you please share it?.
Hello ST Community Team,I am facing a TouchGFX project generation issue related to path mismatch while working on an STM32H745 dual-core device – unable to locate .ioc / .cproject ?I am sharing my setup and issue details below. Environment Details:STM32CubeIDE: 1.17.0TouchGFX: 4.25.0X-CUBE-TOUCHGFX: 4.25.0Controller: STM32H745XIH3Core Used: CM7Toolchain: STM32CubeIDEOS: Windows Issue Description:I have written application code for Core-M7, and when I try to generate images / assets using TouchGFX, the generation fails during Post Generate Target.Error observed:Post Generatetouchgfx update_project --project-file=simulator/msvs/Application.vcxprojDonePost Generate Targettouchgfx update_projectUnable to locate D:/WORKSPACE_APPLICATION/LPOCIP_090126_1430_PM/LPOCIP_SCRATH_jumper_QSPI_APIS_SWETHA_UPDATED_QSPI_SDRAM_CAN_PWM/.cprojectFailedFailedHowever, the actual .ioc file exists at:D:/WORKSPACE_APPLICATION/LPOCIP_090126_1430_PM/LPOCIP_SCRATH_jumper_QSPI_APIS_SWETHA_UPDATED_Q
Hello,Currently I'm working on a project that requires a synchronized clock signal between multiple devices connected through Ethernet.The logic solution for this is PTP, and using linuxptp I was able to archive synchronous PPS on PG8 pin between devices with a jitter smaller than 1us for 1Hz. Now the problem is that the requirement for PPS frequency is not 1Hz but a OR between a 100Hz and 1.25Hz (see attached image). From documentation, flexible PPS output may be the solution and started testing it by generating the 100Hz signal. Here is were I found the issue, after program PPSCMD[3:0] with start I notice that the 100Hz signal starts to drift slowly (around 20us/s).Now strange part is if I use fixed PPS (bit PPSEN0 of MACPPSCR cleared) with any frequency (1Hz to 16kHz with digital rollover) there is no drift. From my understanding the reference clock for pps is the same as system time thus adjusted by ptp protocol for maintaining synchronization.Is my assumption corre
I have connected and an external HS PHY to STM32F427VGT6 through ULPI pins.Configured USB_OTG_HS in Host Only mode for external Phy with parameter Settings asSpeed: High Speed 480MBits/s Enable internal IP DMA: DisabledPhysical Interface: External PhyUse External VBUS: EnabledSignal Start of Frame: DisabledIn NVIC settings for USB_OTG_HS all three available interrupts are enabled. USB On The Go HS End Point 1 Out global interrupt true 0 0 USB On The Go HS End Point 1 In global interrupt true 0 0 USB On The Go HS global interrupt true 0 0 In Middleware Packages USB_ Host, FATFS is configured according to attached image.MCU schematic and USB-PHY schematic is also attached.The problem i am facing is STM32 is not detecting USB and gstate of USB always remain to HOST_IDLE, even if i connect or disconnect pendrive.
Split from RF Communication with Nucleo-WL55JC Boards - Seeking Guidance This is a different question. Hiii,I need to receive the time from the network server. How to fix this issue.Give me the clear steps to fix .
I want to create a new expansion pack. During adding the bundles and components I've got a problem to leave the "Subgroup" empty.Using a dash "-" will be able to apply the component but it raises an validation error during "save and pack". Editing an old expansion package ( I had made a few years ago) , the Subgroup is still optional. What kind of "switch" makes the Subgroup as mandatory?
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.