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
Greetings! I am using the LIS2MDL magnetometer in continuous mode (10 Hz) with hard-iron offset and interrupts enabled. (Full settings: CFG_A: 0x90; B: 0x0A; C: 0x50; INT_C: 0xE5) And I am trying to detect a magnetic object coming near the device. The interrupt threshold I have currently set is 80 (int). The sensor is powered with a stable 1v8.When I leave the sensor to measure and wait for an interrupt in an environment with no stimuli, the sensors that I have at hand all seem to generate weird false impulses out of thin air. They appear in the form of bit/byte flips, that happen only on the MSB part of the 16-bit data block.For example, if I am constantly reading the sensor values (at 10 Hz, same as sensor), there is a possibility that I will read the false vector value from the axis registers. The raw values for the X axis would look like: "0x0028; 0x0027; 0xFF28; 0x0029". As far as I have observed, this has only happened on the X axis (for the ~50 recorded instances, only one
error updating STM32CubeIDE 2.1.1 see attachment.
Hello ST Community,I’m working with the STM32 Nucleo-N657 board and need a way to execute my application after flashing to external memory without manually toggling the BOOT1 jumper on the board.What I’m Doing Now:BOOT1 jumper is set to HIGH for development (DEV boot mode)I have a simple LED blink application built with GPIO configured in the FSBL context The code runs as expected in DEV mode (debug mode of STM32CubeIDE)I then flashed the signed binary in external memory using STM32CubeProgrammer and External Memory loader for Nucleo-N6 board at address 0x70000000. Then, I switched BOOT-1 jumper to LOW and reset the board. The code runs as expected from external memory.Problem:I have N6 board connected to a remote PC and won’t always have physical access to toggle the BOOT1 jumper and press reset.I would like to know:Is there a programmatic or configuration-based way to run the program automatically after flashing, without needing to change the BOOT1 jumper man
Hello,I am using a STM32WL55 UFQFPN48 in an application. I am only using the high power output (up to +22 dBm) and only plan on transmitting with this device.I want to transmit in the 420-440 MHz range, but there does not seem to be any load-pull analysis data from within AN5457 which would give output impedance at this frequency. I can only find data for higher bands. Is this data found somewhere else? I would like to use it for simulation and calculation.Best
Hi,We were attempting to control a high-voltage BLDC motor using the EVSPIN32G06Q2S1 evaluation board. While following the Getting Started procedure described in UM3394, the board got damaged during the power-up stage.Below are the steps we followed and the observations we made.Steps performedGenerated firmware using Motor Control Workbench.Flashed the firmware to the evaluation kit using the Nucleo board’s ST-Link.The digital section was powered using the 3.3 V supply from the ST-Link.Power-up observationsWhen only AC power was applied, the power stage turned ON, but the logic section was not powered.When VDD was supplied via ST-Link (3.3 V) and AC power was applied, the board was damaged:The 5 A fuse (F1) blew.The 0 Ω resistor (R29) burned.VDD and GND are now shorted.QuestionsCould someone clarify the correct power-up sequence for this board when using ST-Link for programming?What is the purpose of R29 shorting the logic ground and power ground ReferencesUser Manual: UM3394Eval
Dear, @halfhalf Post Edited by ST moderator to apply source code formatting and translate from Chinese to English to comply with the community rule:Best regards,Gyessine------------------------------------------------------------------------------------------------------------The STM32G474R datasheet does not mention the BOOT1 pin.If the BOOT0 pin of STM32G474R is set to high, where does the program start?If the BOOT0 pin is set to high and the BOOT1 pin is set to high, the program starts from SRAM. Is the program size limited by the size of SRAM? If a bootloader program and a main program are written, with the bootloader starting at address 0x20000000 and the main program starting at address 0x08000000, can this solve the issue of jumping from SRAM at 0x20000000 to flash memory at 0x08000000, so that the main program size is only limited by the size of flash memory?----------------------------------------------------------------------------------------------------------
Hi, everyone.I'm trying to configure I2S in a STM32H523CET. I'd like to activate MCLK signal, but I can't find how. I'd also like activate external clock input for I2s (AUDIOCLK signal). The CubeMX says:"Audio Clock Input is not available.To enable it, one of the following RCC Mode(s) or IP(s) have to be configured from the Pinout TAb:-EnableExtClockForSAI1"But again, I can't find where to activate that.
Hello.I'm trying to work with the B-G431B-ESC1 board.I've assembled a prototype consisting of the specified board, a T-Motor MN3510-13 KV700 motor, a 13*4.4L propeller, and a 4S battery. I'm using MC SDK v6.4.1.At first glance, everything seems to be working fine. The motor starts with the specified propeller and runs fine up to about 7500 RPM.Then problems begin as the RPM increases. Depending on the battery's discharge level, i.e., the bus voltage, at certain RPMs the program seems to lose control of the motor. The motor revs up, and RPM, current, and power fluctuate. I understand that at such RPMs and under such a load, the modulation index is high and approaches 100%. I'm essentially starting to hit the limit. But this response doesn't satisfy me. Previously, I tested this motor with the same propeller and battery using the STEVAL-ESC001V1 board. I approached the same limit, but there were no oscillations. The motor simply stopped accelerating when it reached a certain RPM. For exa
Hi, Im using the L9963E for a Battery Management System. I noticed that the device has a register called "FSMstatus". I don't understand if reports the current status or the previous status. For example, if the device is in SLEEP, in order to read the FSMstatus register, I have to wake it up, and the device goes to the NORMAL state. Now the FSMstatus reports the SLEEP or NORMAL state? Unfortunately I cannot try the code.
I'm faced with connecting a (piano) keyboard to an MCU using a number of columns and a number of rows.The principle is shown in the attached photo. I've read approaches where the coulmns are pulled to low while the rows are inputs that are sensed.Am I right that with the given arrangement it would be appropriate to set the columns to "HIGH" and sense the rows whether they are "HIGH"? Excuses, forgot to say which MCU: it's an STM32F103C8T6 here.The diodes are common practice to avoid so called "ghost hits" when multiple contacts are actuated.
Hello,I was working with STM32CubeIDE version 1.8.0 on a project. I just download version 1.9.0, trying to import the project.In the importation Wizard, when selecting the correct directory, the project name is displayed, but when clicking "Finish", the importation window close, and nothing append.Is this a known issue? Is there something to do to make it work?Thank youAntoine
Hello community ,I am going to do 9 axis sensor fusion (6axis accel and gyro + 3axis magnetometer) and got across to the MEMs-Studio suite. I've bought STEVAL-MKI109D for motherboard and STEVAL-MKI217V1 as the shield. STEVAL-MKI109V3 is out of stock at that time.I pluged the USB for STEVAL-MKI109D with mounted STEVAL-MKI217V1, but the STEVAL-MKI217V1 isn't recognised but was recognised as STEVAL-MKI197V1 instead. The features of 6axis are fine but I need to test the 3axis mag also. Here are my software setting.STEVAL-MKI109D firmware was updated to v 0.8.14MEMs Studio 1.4.2
Can you help me to finde the Part number in the foto BEV GP 344.
Hi, I am looking for a microcontroller in the STM32F103 series or a similar Cortex-M3 series for my satellite research. I need a specific type (full part number would be best) that has been used on a satellite that has already flown in space. Thank you.
Good day,I want to measure the VBAT voltage of a STM32WL31 using its ADC. I setup the ADC channel as follows using the ST HAL driver:ADC_ChannelConfTypeDef ConfigChannel = {0}; ConfigChannel.Channel = ADC_CHANNEL_VBAT; ConfigChannel.Rank = ADC_RANK_1; ConfigChannel.VoltRange = ADC_VIN_RANGE_3V6; ConfigChannel.CalibrationPoint.Number = ADC_CALIB_POINT_1; ConfigChannel.CalibrationPoint.Gain = LL_ADC_GET_CALIB_GAIN_FOR_VINMX_3V6(); ConfigChannel.CalibrationPoint.Offset = LL_ADC_GET_CALIB_OFFSET_FOR_VINMX_3V6(); if (HAL_ADC_ConfigChannel(&hadc1, &ConfigChannel) != HAL_OK) { Error_Handler(); }I seem to be getting correct ADC measurements (actual=3.0V, adc_measured_&_converted=3.15V), but the detail seems to be sparsely documented in the device datasheet and manual, so I just want to check a few things: Q1: I am not sure how the calibration point number relates to the measurement - when would one use ADC_CALIB_POINT_2 etc? Q2: What is the reference voltage used by the
Hello Team,We are developing custom board using STM32N657X0H3Q MCU. I could not find information regarding GPIO status in datasheet during boot mode, sleep mode, stop mode and standby mode. It will be helpful for us if you can share information with us.Thanks
Hello everyone,I am developing a firmware for an **STM32U5** microcontroller using Azure RTOS (ThreadX / USBX). I am implementing a USB Composite Device with two classes: **CDC** (Virtual COM Port) and **MSC** (Mass Storage Class). The MSC is interfaced with an eMMC using an 8-bit bus for data communication.I am facing a persistent issue that I cannot seem to resolve: the device drops the USB connection after about 5 to 10 minutes of operation. By debugging the code, I noticed that the disconnection is triggered because the device eventually calls the HAL_PCD_DisconnectCallback() function.My main concern (and source of confusion) is that this behavior is highly OS-dependent. For instance, on my dual-boot PC, the device works flawlessly without a single disconnection on **Ubuntu 22.04**, but it consistently crashes/disconnects on **Windows**.### What I see on Windows (Event Viewer)Right before the disconnection occurs, Windows throws several SCSI timeout errors in the Event Viewer. Spec
Hello,I'm trying to start using STM32CubeIDE for VS Code 3.7.0I have tried to follow the instructions to set up an example project via STM32CubeMX and those to setup an empty project.In both cases I end up with an apparently unconfigurable project, seeing just this:Clicking on "Configure" does not result in a change.Just trying to build the project anyway results in CMake telling me that it cannot find the C Compiler. Any hint welcome.Many thanks,Titus
Hi ST,I understand that CubeIDE (clang-based) code-completion cannot coexist with Microsoft C++ IntelliSense. However, it seems that once IntelliSense is disabled (which is presented as the default option), it also stops working for other non-STM32 C++ projects permanently.I wasn’t able to figure out how to re-enable it, disabling Cube IDE extension was not helpful. After about 30 minutes of trying, I ended up reinstalling VS Code- which probably isn’t the best or recommended solution.Moreover, it looks like Cube IDE extension modifies default use settings. Even after disabling Cube IDE extension code colors look much different than originally, and code formatting does not work.What is the proper way to handle this situation? I really would like to use Cube IDE extension but only occasionally.Please do not alter my default VS code settings for C/C++!Thanks,ThomasHere is the message I get trying to format other, non-cubeide project C code after disabling cube ide extension.Here is how c
Dear ST Team,I Need the clarification can I use YT9218MB in place of RTL8211F-CG ,Please recommend me , If we can then we need to use OpenWRT
STM32CubeMX 6.17.0 STM32CubeCLT 1.21.0 which provides GNU Tools for STM32 which provides a toolchain with GCC 14.3 and newlib 4.5.0. STM32CubeH5 1.6.0 (as downloaded by STM32CubeMX) STM32H563 With these tools, you can easily generate a project which uses ThreadX as RTOS and NetX Duo as network stack by point and click in STM32CubeMX. In this case, the project is generated to use CMake and the GCC toolchain. NetX Duo requires some random numbers even for non-cryptography use cases. E.g. this code for allocating a random ephemeral TCP port so that the other endpoint doesn't think an old socket is reused when the MCU restarts for some reason: Middlewares/ST/netxduo/common/src/nx_tcp_client_socket_bind.c: UINT _nx_tcp_client_socket_bind(NX_TCP_SOCKET *socket_ptr, UINT port, ULONG wait_option) { ... /* Determine if the port needs to be allocated. */ if (port == NX_ANY_PORT) { /* Call the find routine to allocate a TCP port. */ port = NX_SEARCH_PORT_START + (UINT)(((
Hello everyone, I am trying to bring up a NetX Duo TCP Server on the STM32H755ZIQ Nucleo board using Azure RTOS ThreadX + NetX Duo, but I keep running into issues during initialization and runtime. Unfortunately, I haven't been able to find any fully working examples for dual-core H7 devices using NetX Duo. Most examples online are either for single-core MCUs or for different boards. Here is what I am trying to achieve: STM32H755 Nucleo board M7 core running ThreadX + NetX Duo Basic TCP server (listening on a port, accepting connections, sending/receiving data) Using STM32CubeMX for configuration LwIP is NOT used — only NetX Duo Ethernet driver: nx_stm32_eth_driver (CubeMX generated). It seems like the current CubeMX-generated NetX Duo code for the STM32H745/H755 series might be incomplete or not fully compatible. My questions: Has anyone successfully created a NetX Duo TCP Server project on the STM32H745/H755 Nucleo boards? Is there an official working example
Hi everyone,I'm currently validating a custom board featuring the STM32MP257 interfacing a single 16-bit DDR4 at 2133MT/s (Point-to-Point topology). I am using the ST-provided Excel tool ("Examples of DDR memory routing on STM32MP2 MPUs") to extract the Die-to-Ball Package Trace Lengths (mm).I’ve run into a few specific SI conflicts regarding the hardware guidelines, primarily driven by my PCB stackup. Due to routing density, my Address/Command (A/C) signals are split across two different layers:L6 (Bottom Layer): Microstrip. Outer solder mask is 0.6mil (Dk 4.85) over a 3.91mil 3313 Prepreg (Dk 4.4). Effective Dk is much lower due to air exposure.L3 (Inner Layer): Stripline. Sandwiched between a Core (Dk 4.6) and Prepreg (Dk 4.5). Effective Dk is approx 4.5.This leads to the following questions:1. Balancing Physical Length (mm) vs. Electrical Delay (ps): The ST guideline dictates an A/C to CLK_P/N equalization of +/- 140 mils (3.55 mm). However, if I strictly match the physical length
Hello dear community!I've migrated from F7 to H7, everything fine so far.To save CPU time I don't want to use HAL for sending two SPI bytes.My F7 transmit SPI code was very simple and perfectly working :SPI6->DR = byte_0; SPI6->DR = byte_1;But on the H7, the same code doesn't work :SPI6->TXDR = byte_0; SPI6->TXDR = byte_1;In both F7 and H7 projects, this is always working (but time-consuming) :HAL_SPI_Transmit(&hspi6, const_cast<uint8_t*>(buffer), 2, 1000);Do you know why bypassing HAL is not possible on the H7 ?Thanks!Jean
Good morning everyone,i am having a problem after i copied the example from the example project folder to another location.i am using STM32CubeIDE 1.5.0. i opened this project C:\Users\Admin11\STM32Cube\Repository\STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE_LLD\BLE_LLD_Chat\STM32CubeIDE i build it, ran it, without any issue. the board worked correctly as it should. However, when i copied the said folder "STM32CubeIDE" to my desktop to make some changes according to my requirements, i opened a new instance of IDE, chose a different workspace, chose the project on my desktop C:\Users\Admin11\Desktop\NewFolder\STM32CubeIDEclicked build, i got this error how do i fix it? is there any other way to modify the example code according to my own requirnment without changing the original code in the example? or can i change something to get rid of the error?your help will be appreciated :)Thank you in advance
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.