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 can use a motor profiler with a custom board, but can I use a motor pilot with the same software? Is it possible to use a motor pilot with a custom board?
STM32MP151 is a PTP slave clock, and the master clock is correctly determined and configured. In the same network, multicast, E2E, and one-step configuration modes are used. Run ptp4l,Output prompt: "Received SYNC without timestamp". the actual SYNC message of the main clock has a hardware timestamp.Other relevant information can be found in the info1. log file.STM32MP151 is the PTP slave clock IP: 192.168.1.251, the PTP master clock IP: 192.168.1.3, Captured data packet shows that the master clock has a timestamp, and the slave clock DELAY_REQ has no timestamp.翻译搜索复制
I hope to achieve the scrolling effect like the file browser of Windows. I attached a demo video.
Hi all,I am implementing a protocol over I2C that requires the STM32 part to act as peripheral and respond to host data reads. I get two types of read transactions: random access, where the controller sends the peripheral address with the WRITE bit set, then a memory address to begin reading, then another start and the peripheral address with the READ bit set. And sequential reads, where the controller doesn't specify an address, it just starts reading. To handle this I need to maintain a "next read address" internally. Here's a diagram of the sequential read:I am using HAL APIs successfully and driving this from FreeRTOS. I'm testing it with an Aardvark debugger standing in for the controller and an Analog Discovery 2 watching the bus and decoding it. My task turns on listen mode. I get the expected calls to HAL_I2C_AddrCallback(). I can successfully distinguish the two types of transactions, get the memory address with HAL_I2C_Slave_Seq_Receive_IT() with FIRST_FRAME, and se
Hello, I'm currently designing a BDC-motor controller with the STSPIN840 and was wondering how low I can go with the current sensing resistors to minimize the losses across those resistors. Especially at higher currents in parallel mode the resistor losses would become quite large when staying in the region the eval-board is dimensioned. Is there a minimum sense voltage that I should stay above or is it going to be stable no matter how low I push it (assuming the reference voltage is reasonably stable)?Can I use like 50mOhms there? That would result in a reference voltage of 0.15V when using the 3A limit, so I could probably get away with a single 0.5W sense-resistor.
Hello! I’m aware that the question I’m asking may have many correct answers since everything depends on the application and specific needs, but I’d like to know which Unit Testing tool you recommend. Ideally one that is easy to use, adapts well to different environments, and is robust. Any recommendation is welcome, as I’m just about to start exploring this world. Thanks!
Hi All,I'm currently trying to interface with a VL53L4CD sensor using the ULD provided by ST. I understand that it is required to write your own code in the "platform" files to interface with the API, but I cannot seem to get my I2C implementation writing into a buffer. It is probably really trivial, but here is the code:In main.c: status = VL53L4CD_GetSensorId(dev, &sensor_id); if(status || (sensor_id != 0xEBAA)) { printf("\r\n VL53L4CD not detected at requested address \n"); return status; }And in plaform.c:uint8_t VL53L4CD_RdWord(Dev_t dev, uint16_t RegisterAdress, uint16_t *value) { uint8_t status = 255; /* To be filled by customer. Return 0 if OK */ /* Warning : For big endian platforms, fields 'RegisterAdress' and 'value' need to be swapped. */ HAL_I2C_Mem_Read_IT(&hi2c1, dev, RegisterAdress, 2, (uint8_t*)&value, 2); status = 0; return status; }The function "GetSensorId" has index of 0x010F, which is successfully sent to the device. Data being read ba
I purchased the EVALSTGAP2HS board for evaluating STGAP2HS gate drives. I'm disappointed in the available documentation for this board, but finally I deduced that the only correct way toconnect devices is as shown in the figure I'm a bit puzzled by the location for the designators, and what appears to represent the courtyard for the MOSFETs... For quick and dirty evaluation, is this how you would place the leads ? Thanks :)
The default clock settings in CubeMX are:High Speed Clock (HSE): BYPASS clock sourceLow Speed Clock (LSE): Crystal/Ceramic oscillatorThis causes the MCU to go into Error_Handler() after going into SystemClock_Config()How to fix:Change High Speed Clock (HSE) to Crystal/Ceramic oscillatorLow Speed Clock I think should be disabled.
Hello, We are currently integrating the SPSB081 PMIC for voltage and wake-up management in a Body Control Module (BCM). The PMIC is interfaced with an NXP S32K312 MCU via SPI.System Setup:MCU: NXP S32K312 (100-pin package)PMIC: SPSB081Communication: SPISPI Configuration: CPOL = 0, CPHA = 0, 32-bit framesSPI communication has been verified and basic register read/write operations are working correctly.Issue: Watchdog Runtime ConfigurationWe are trying to perform runtime watchdog configuration and set the watchdog window to 160ms. However, we would like to confirm the correct SPI command sequence required for modifying the watchdog configuration during runtime.Request:Confirmation of the correct SPI register write sequence required for runtime watchdog reconfiguration.Any recommended configuration example for setting a 160ms watchdog window.Debug guidance in case watchdog failures occur when using SPSB081 with S32K312.Thank you
I'd like to move from mickledore to the current ST offering on scarthgap. We are using the STM32MP157D.We require a web browser, and WebKit worked well for us on mickledore using QT5.Since QT has been spun out to a plug-in and it is unclear how well-supported it is (ST's documentation seems lagging), I decided to go with Weston/Wayland and use a simple GTK/GDK app.Westion is working - the GPU `/usr/local/demo/bin/weston-st-egl-cube-tex` runs nicely. Simple apps using GDK are also working.Sadly, though, the app embedding a WebKit view has a hard-to-describe random flickering issue. It renders the page but then randomly overlays a white screen that occasionally flashes on and off. Anyone able to offer some experience:- Has anyone got a lightweight browser working on the STM32MP1 using the GPU and the recent ST scarthgap releases?- Or got QT6 working on STM32MP1. Did you use the ST's "QT plug-in"?- Any advice for configuring webkitgtk3 (found in meta-oe)? 
Hello,I have ordered a X-NUCLEO-PLC01A1 for my Nucleo Board F767Zi.I should receive it soon but I would like to understand it as much as possible.This is why I try to find some example projects but I cannot find any.In addition, I have tried to download X-CUBE-PLC1 extension from this link https://www.st.com/en/embedded-software/x-cube-plc1.html but it seems that the extension is not available anymore. Please could you help me to get started with this X-NUCLEO-PLC01A1.Thank you
Hi all,this issue is related to: https://community.st.com/t5/stm32cubemx-mcus/cmake-project-generation-with-cubemx-cubeai-fail/m-p/770680/highlight/true#M31054. , where it was solved by updating from STM32CubeMX V6.12.0 to STM32CubeMX V6.13.0. However, I have STM32CubeMX V6.16.1, so the error might have reappeared.Background: I try two write code for an STM32N6 and use a CMake project for this. For the setup, I used the following tutorial: https://community.st.com/t5/stm32-mcus/how-to-debug-the-stm32n6-using-vs-code/ta-p/833499 and I can compile + flash the code and get a blinking LED, so the CMake project itself is working correctly.However, when I export a neural network to the Application using CubeAI, CubeMX generates wrong relative paths in Appli/mx-generate.cmake. More specifically, all paths related to CubeAI have one "../" more than needed. Example: ----------------set(ST_Src${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/ST/AI/Npu/ll_aton/ll_at
Using various STM32 MCUs, I have a intermittent bug occuring in malloc() where it returns a nonsensical address for no apparent reason.After hours of digging I managed to find some some source code for newlib from https://sourceware.org/newlib/for newlib-4.5.0.20241231 which at least let me step into the internals of malloc to try and find the problem but as thats a slightly different release to the one used by STM32CubeIDE the bug mutated to something less frequent.My main problem currently is trying to find an issue list \ bug tracker for newlib, so I can see what issues others are having with it. Usually I end up on a site like github and their issue tracker, which is great, but for newlib there seems to be a myraid of git repos and sourceware.org with primitive mailing lists, some being long in the tooth.It would also have helped if ST Micro indicated exactly which version of newlib they embed into STM32CubeIDE (and\or provided the source code for it too). &nbs
STM32F072RBT6 ADC Channels IN0–IN13 Always Read 4095, IN14–IN15 Work NormallyI have 5 boards based on STM32F072 Peripherals connected SPI1(ATM90e36 Running at 3.3V and 3.3V spi pullups using 10k), i2c1(ADS1115 running at 5v and 5V pullups using 10k), Uart1,Uart2,Uart3 (all in async mode) , 9 internal ADC channels and other pins as GPIO attaching the snapshot of my config.ISSUE : PC0,PC1,PC2,PC3,PA0,PA1,PA4 pins always reads 4095 and PC4 and PC5 reads 170-180 counts PC0-PA4 channels is connected to pressure sensor in this way Signal ── 4.7kΩ ── PC0 (ADC input) ── 10kΩ ── GND signal expected is 0-4.5VPC4, PC5 are Pulled down using 4.7k (Series resistor for NTC).directly reading VREFINT channel gives 4095 but it should be around 2000 Hardware sanity checks:GPIO toggle toggles the respective pinGPIO Read give the actual digital readingusing EXTI it triggers the isr.physically measure all pin voltages they are at 0 Observation : Out of 5 boards 4
Hello, When using the STSPIN32G4 to drive a three-phase bridge for BLDC control, the MOE pin is automatically set to 0. Reading the internal driver status register of the STSPIN32G4 shows the VDS bit is set to 1. I have already set a sufficiently high reference voltage (2V) on SCREF, but this fault persists, preventing my driver from starting normal operation. Hardware has been inspected with no short circuits found, and the lower arm voltage monitored by the op-amp shows no signs of overcurrent. I've placed a 220uF 35V ceramic capacitor on the DC bus and connected an 18V zener diode, with the bus voltage at 12V. The MOSFET used is AGM12N10AP. The BLDC operates at 12V with a rated current of 1.8A. What solutions are available? *This post has been translated from Chinese to comply with the ST Community guidelines.
Hello every people. I am new member. We have issue . We have one computer ( PC ) , it is working normaly, but when we setup for other devices , SMT32cube programmer not working. Plz caution , one PC working normaly, we received from custommer. New device although we setting , they are not working.They show error :Error unable to read device id from rom tableError ST-LINK error DEV_CONNECT_ERRPlz help us.Thank very much Tra cứuDịchCài đặtĐang tìm kiếm ...
I have a project that uses different MCUs. 99.99% of the code is common for all, so I have different .project, .cproject and .ioc files for each, and use CubeMx to handle the hardware initialization.Currently, it requires manual building: Close the project, copy and replace the files, open the project, trigger code generation and compile.Now I'm trying to automate that.Replacing these files in a script and calling the compiler (headless build) is the easy part.This compiles correctly when the code was already generated with CubeMX.org.eclipse.cdt.managedbuilder.core.headlessbuild -import C:\projects\my_project -build my_project/ReleaseHowever, I was unable to automate CubeMX generationI tried using CubeMx from CubeIDE, and also standalone version, with the same results:C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\STM32CubeMX.exe C:\ST\STM32CubeIDE_1.7.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.3.0.202107141111\STM32CubeMX.jarIf I only run this, it load the config
I am trying to follow getting started document for X-LINUX-GNSS1At Step 4.Add a layer (recipes-gnss1).of section 5.2.1 I am getting below error. ERROR: Layer meta-gnss1 is not compatible with the core layer which only supports these series: scarthgap (layer is compatible with mickledore)
Hello everyone,I've been working on getting Ethernet working on the STM32H750B-DK discovery board with TouchGFX and LwIP. After extensive debugging, I suspect a hardware issue and would appreciate your advice on confirming this.What Works ✓TouchGFX display runs perfectlyUSART3 debug output works (Tera Term shows messages)PHY communication works (we get "Link established!")The Problem ✗The Ethernet MAC peripheral itself appears completely dead. We've tried:1. Direct MDIO Access WorksSuccessfully read PHY registersPHY responds and reports link upThis proves MDIO/MDC pins are working2. ETH Peripheral Shows No Life ETH DMACSR after reset: 0x00000000 ETH DMACSR after system reset: 0x00000000Reading ETH->DMACSR always returns 0This register should never be 0 on a live peripheral3. What We've TriedSoftware attempts:Enabled all ETH clocks (__HAL_RCC_ETH1MAC_CLK_ENABLE() etc.)Forced and released peripheral resetTried system-level reset via RCC (RCC_AHB1RSTR_ETH1MACRST)De-init and re-ini
18:15:49 **** Incremental Build of configuration Default for project STM32F100C6T6B **** make all Cannot run program "make": Launching failed Error: Program "make" not found in PATH PATH=[C:/ST/STM32CubeIDE_2.1.0/STM32CubeIDE//plugins/com.st.stm32cube.ide.jre.win64_3.4.200.202601091518/jre/bin/server;C:/ST/STM32CubeIDE_2.1.0/STM32CubeIDE//plugins/com.st.stm32cube.ide.jre.win64_3.4.200.202601091518/jre/bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility;C:\Users\tunca\AppData\Local\Microsoft\WindowsApps;C:\ST\STM32CubeIDE_2.1.0\STM32CubeIDE] 18:15:49 Build Failed. 1 errors, 0 warnings. (took 142ms)I prepared my project in version 1.19. At work, I opened it in version 2.0 and compiled it once.Now I
Hi,I'm working on a piece of code using UART, where I need to send a byte of information right after the negative edge of that line is detected. Basically, my dev kit is connected to a 1-wire device through a simple 2 N-FET transistor for the TX side and directly to RX. Additionally, I have another GPIO connected to the 1-wire interface to detect, via interrupt, when the 1-wire device pulls the line down (start bit). The 1-wire device releases the bus right after the start bit.The problem that I'm facing is that the timing at which the byte is sent by the MCU is very inconsistent, with a delay that is not tolerable by the application. I've tried several things with no improvements: - Send UART command using non-blocking mechanisms (interrupt and DMA) - Making the GPIO interrupt the one with the highest priority - Disable interrupts before sending UART command and enabling afterwards i.e.: __disable_irq() a
Hello,I am working on a UVC (USB Video Class) project using a Nucleo-H755ZI-Q board and Azure RTOS USBX.I have successfully tested the ux_device_video (FS) example on the board. Now, I am trying to migrate this example to High Speed (HS) using an external USB3300 ULPI PHY.[Current Status]Hardware: Nucleo-H755ZI-Q + USB3300 (ULPI interface).Software Stack: X-CUBE-AZRTOS-H7 (USBX).Enumeration: The device is correctly recognized as a "Camera" in the Windows Device Manager without any yellow exclamation marks.Issue: When I open the Windows "Camera" app, it fails with the following error code:0xA00F4243 <CameraReservedByAnotherApp>(0xC00D3704)[Modifications Made]Modified the USB configuration to use High Speed with external PHY (ULPI).Updated the USBX descriptors (Device Descriptor, Configuration Descriptor) to support HS, including the Device Qualifier Descriptor.Ensured the ULPI pins are correctly configured in the HAL initialization.[Observations]The FS version works perfectly. The
I would like to use MDMA on Cortex M4 to move data from DDR to SRAM in order to overcome the SRAM size limitation, especially in Ecosystem 6 secure context when a SYSRAM bank is dedicated to OPTEE.My idea is to move to DDR some data structures used by code running on Cortex M4 and, when needed by the code, to use MDMA to move such data from DDR to SRAM and then to unload such same structures from SRAM to DDR.I found that MDMA is the preferred way to move data DDR <-> SRAM, but it isn't supported by STM32 MCUs Embedded Software.https://wiki.stmicroelectronics.cn/stm32mpu/wiki/MDMA_internal_peripheral#Software_frameworks_and_driversDo you have any suggestion about how to proceed ?
I am working with the Teseo-LIV3F GNSS module, I would need to know whether the velocity field it produces, which is a module, is calculated over the x and y dimensions only or x,y and z Thanks for your 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.