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,I am working on a project to read the magnetic field with the IIS2MDCTR chip. Actually, I am replacing a read switch with this accelerometer. I use the IIS2MDCSensor Arduino library. After testing with the magnet, I set the threshold to 10000. Enabled the interrupt on all axes in pulsed mode and routed it to the INT pin to get my microcontroller. (STM32U385VGT6) interrupted. When I close the magnet from the z-direction, I get the interrupt. But when I bring it closure from an angle, it does not change the pin status. I tried printing the ODR register values. I saw one, two, or three register values go beyond the 10000 threshold. But I do not get the interrupt. But when I move from the z direction, I am getting the interrupt even when only one axis exceeds the threshold. Can somebody explain the situation and advise me to understand this behaviour?
My LSM6DSVD component and a spring-driven mechanical button are mounted on the same circuit board, approximately 5cm apart. I have secured the circuit board to a table to ensure it does not rotate at all. When I press and quickly release the button, the gyroscope's measurement output spikes to as high as 4 rad/s. As shown in the graph below.
I am trying to flash the STM32H753I-EVAL-2 board with a .hex file generated from STM cube IDE version 1.14.0. The code is build without error, but while loading it using the STMCube Programmer, I am getting the following errors:Error: Failed to download Segment [1]These are the options that I have selected while starting the programming : External Loader selected: M29W128GL_STM32H743I_EVALKIndly help.
Hello, everyone. Can anyone tell me how? I want to do something while STM erases a sector, Since it is STM32F401, it takes too long to erase a sector. What can be the best solution?
Hi All, Trying to setup timer triggered DMA for the STM32H7S3V8T6 micro and cannot seem to get it workingI have tried a number of things and eventually resorted to asking chatGPT but so far no dice... What I want to achieve1. Timer 1 toggles CH1 output (PA8) this works 2. I want the DMA to trigger off of the TIMER_CH1 and shove the word into GPIOA->BSRR to toggle the GPIOA pins 0,1,2,3Here's my main. c code - really stumped as to what is causing this to not work... Any thoughts?? /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : STM32H7S3 GPIO output driven by TIM1 using GPDMA1 linked-list ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include <stm32h7rsxx_hal_dma_ex.h> /* Private variables ------------
STM32C071GBU6 PA2 (pin 8 on the UFQFPN28 device) is configured as ADC_IN2. What voltage can be expected when the pin is unloaded?
I would like to test UART Bootloader on my NUCLEO-C092RC.System Bootloader mode can be selected pressing the BOOT (B3) pushbutton while resetting the STM32C092 mcu through RESET (B2) pushbutton and without the ST-Link interference removing JP2, JP4, JP6, JP7 jumpers, right?UART2 on PA2 (TX) and PA3 (RX) port-pins is one of the UARTs handled by System Bootloader, right?UART2 is already connected as Virtual Com Port (VCP), so it can be used with bootloader through CN1 USB-C connector, right?Furthermore, BOOT0 pin must be enabled for boot mode selection in the User Option Bytes, right?Now, my STM32C092 mcu has nBOOT_SEL bit just cleared in Opton Byte and my simple led blinking application is running. If I keep BOOT pressed while I press and release RESET, my led blinking app still start running and STM32CubeProgrammer does not connect with the target.Is my procedure correct? How to start NUCLEO-C092RC in System Bootloader through BOOT pushbutton?And UART2 as VCP is available to test
Does anyone know if there are any software stacks available through ST that support DALI 2 colour tuneable (DT8) control gear devices (LED drivers). I can see that ST have a third party offering from MBS Solutions that claims to offer full DALI2 support but after contacting them they say that it doesn't support any DT8 control gear commands except RGBWAF - which none of my clients are asking for ...
Hello,Does anyone have any firmware for interfacing with the L9780 wideband controller. I am planning on using a LSU 4.9 but any sensor configuration would be useful.Any information is appreciated. Thanks,
Hello,I have strange behavior with reset, with reset pin, NVIC_SystemReset() or then IDWG fires the MCU just stops and do not restarts with debugger connected or without, when debugger is connected and toggle reset there text is displayed what address is out of scope, where to search for problems ?Reset pin is connected to 100nF capacitor, oscilloscope do not detect any activity on RST pin then NVIC_SystemReset() or IDWG firing, to connect with cubeProgrammer or upload code from cubeIDE I have to keep reset low and then turn on power, later until power is not disconnected there is no problems to connect and upload code many times.If before power applied reset is keept low and then released the code do not loads, but I can connect with debugger and upload code.If at power up reset is not low then code starts normally, the FSBL and then APPLI starts like expected.The main problem about reset problems what IDWG do not restarts MCU, MCU just stops.
Hello I’m currently working on a design that uses the L9338 Quad Low-Side Driver and would like to perform circuit simulations in LT spice (or any compatible simulator). Could you please provide the SPICE model for the L9338?If it’s not available publicly, kindly suggest an alternative part with a similar function and an available SPICE model for simulation purposes. Thank you for your support. Best regards,Anusree T V
Title edited to be clear that this is on a NUCLEO-F303ZE board.Hello all.I'm trying to write a simple message via UART to Putty using stm32f303ze microcontroller. I'm using USART2, via ST-link. All the configurations have been confirmed (baud rate, COM port, bits, etc.) And they are right. I even tried using the STM32 Cube IDE Terminal with no luck. Now I'm not sure if the problem is the UART I'm using, or I'm doing something wrong in the code.Also I'm not sure about the UART that support VCP in STM32F303ZE microcontrollers. However I tried all the USART, and the were no response in the Terminals. Below is the simple message I'm trying to send and the full code./* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights re
HIUsing stm32f303veh6.Changed the option bytes with the CubeProgrammer. 2.20.0 to override the BOOT0 signal. ( its floating )nBOOT1 - > uncheckedBOOT_SEL -> unchecked I see that the address on start is 0x1FFFF.. and my FW on flash does not run. For debug, I I did some external wiring of the BOOT0 signal to GND, and now my FW boots fine.Looked in Errata for know issues, but could not find any related. Any reason for Option Bytes not to work?
I have been attempting to interface a STM32U575 mcu to a dual HYPERRAM/Flash memory set up in multiplexed mode as shown in the following image taken from the STM32 Octo-SPI AN5050 application note. I am trying to implement a POSIX based RTOS and have thus been trying to create this setup in my project devicetree as follows: &octospi2 { pinctrl-0 = <&octospi_pins>; pinctrl-names = "default"; status="okay"; flash: ospi-nor-flash@0 { compatible = "st,stm32-ospi-nor"; reg = <0>; size = <DT_SIZE_M(512)>; ospi-max-frequency = <DT_FREQ_M(50)>; spi-bus-width = <OSPI_OPI_MODE>; data-rate = <OSPI_STR_TRANSFER>; status = "okay"; }; hram: ospi-nor-flash@1 { compatible = "st,stm32-ospi-nor"; reg = <1>; size = <DT_SIZE_M(512)>; ospi-max-frequency = <DT_FREQ_M(50)>; spi-bus-width = <OSPI_OPI_MODE>; data-rate = <OSPI_DTR_TRANSFER>; status = "okay"; }; }; and I have also tried: &octospi2
Hello,Regarding the STM32N657, I'm not using the internal SMPS. My question is: Do we need to put capacitors on the 6 VDDSMPS pins or can they be left as no connect? Same question on the VLXSMPS pins... do we need the capacitors on these pins, or can they be left as no connect?Also, on the STM32N657-DK board, there is a snubber circuit on the VLXSMPS pins, why?Finally, when I say "No connect", I assume these pins are connected internally, so it does not require an external link on the PCB when not used. Is this correct? (this will probably make the routing of the PCB easier)We are dealing with a very Very VERY small PCB, and saving the space used by 12 x 0402 makes a difference.thanks
Hello Everyone,I am facing an issue with my MCU entering low-power mode.My idea is to freeze the Independent Watchdog (IWDG) counter in STOP mode so that the MCU will not reset due to the IWDG counter elapsing.From my understanding, this can be achieved by clearing bit 17 (IWDG_STOP) of the FLASH_OPTR register, if I am right. As per the reference manual, in STOP mode, the IWDG can be automatically frozen depending on the configuration of the IWDG_STOP bit in the FLASH_OPTR register.So, the IWDG should not reset the MCU during STOP (sleep) mode, correct?If both assumptions are correct, could you please share the steps or example code to:Configure the IWDG to operate (or be frozen) in STOP mode, andSet up the FLASH_OPTR register appropriately for this behaviour?
I'm using SPI3 and TIM3's PWM CHANNEL 1 on PB4.after HAL called __HAL_RCC_SPI3_CLK_ENABLE(), the PWM output disappeared...I want to know how to fix this.
I want to read a linear tape encoder. If I use only one function, it works; when I use two functions, it doesn't work properly and the motor vibrates. When I use a flag, both functions work properly. Why?Thanks./* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * 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 this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes --------------------
Hi,When configuring a DMA channel in Circular mode with the LL code generator for STM32H523, the generated initialization code is incorrect.It creates a DMA Link Node (LL_DMA_LinkNodeTypeDef) on the stack, which is invalid since the DMA continuously accesses this structure. The link node should be placed in persistent memory instead.Additionally, the generated code does not set the source address, destination address, or block length when the link node is created, although these can be manually set later.Regards,Peter
Hello,I'm using the STM32N657 processor and have the HEXASPI device running at 1.8V. VDDIO2 is connected to 1V8 supply (which affects: PO[5..0] and PP[15..0]The FMC is placing the A23 line on pin PO1 (this is the only option for the FMC-A23) and the FMC device is running at 3.3V. Can I place a pullup to 3.3V on PO1, or will this affect/blow the GPIO connected to 1.8V -OR- do I need to place a voltage translator on that pin?
Hello,I want to use the buffer program feature of my IS29GL064 NOR flash in order to increase the programming speed.For this I replaced HAL_NOR_Program() by HAL_NOR_ProgramBuffer() in the NOR flash demo and got a memfault. Did some debugging and doubt the code, especially because I found this post hereBUGS: HAL_NOR_ProgramBuffer() is riddled with them Has the reported bug, if any, been already fixed ?Second, I wonder if my ISSI flash is supported because of the following comment in stm32h7xx_hal_nor.cThis function must be used only with S29GL128P NOR memory.IMHO all devices which support the necessary commands, e.g. NOR_CMD_DATA_BUFFER_AND_PROG, should be able to use this feature and HAL function.Any hints, news, updates or comments?Thank you
Hello everyone,I’m working on a project using the STM32WB55RG microcontroller with FreeRTOS, and I’m trying to put the MCU into STOP Mode 2. The system is supposed to wake up regularly using the RTC.I’m using LL libraries to configure the power registers for STOP Mode 2. However, when I reach the _WFI() instruction, the MCU does not actually enter stop mode—it simply continues normal execution instead of waiting.Has anyone experienced a similar issue? Are there any specific configurations, prerequisites, or FreeRTOS-related considerations I might be missing?Any suggestions or debugging tips would be greatly appreciated.Thank you in advance for your help!Here is my code piece: void EnterStop2Mode(uint32_t seconds){HAL_RTCEx_DeactivateWakeUpTimer(&hrtc); // Ensure wake-up timer is resetuint16_t rtc_counter = RTC_CalculateWakeUpCounter(seconds);HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, rtc_counter, RTC_WAKEUPCLOCK_RTCCLK_DIV16);__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_0);LL_PWR_SetPowerMod
Hello,I have an STM32G431 here that sends messages to a PC via MIDI. These are translated into OSC messages by a bridge and then interpreted by lighting control software. I would like to eliminate the intermediate step via the bridge and transmit the messages directly as OSC. My own research has shown that this is possible in principle if the controller acts as a network adapter via USB. Unfortunately, I couldn't find any examples for the G4. There seem to be a few examples of people configuring an F4 as a USB network adapter. Unfortunately, I haven't been able to integrate these examples into Cube IDE and get them to run on the G4. I have also tried to integrate a TinyUSB stack. Unfortunately, this was also unsuccessful. Therefore, I wanted to ask if anyone else has examples for me in which RNDIS has been integrated on the G4, or tips on how I can get closer to a solution.Thank you in advance.
Hi, I am using three STM32 devices for CAN communication:HardwareDevice A: STM32G431 (FDCAN)Device B: STM32F303 (Classic CAN)Device C: STM32H7A3 (FDCAN)SetupA sends a continuous sequence of commands to B.B processes each command and replies to A over the same CAN bus.One specific command requires B to perform a synchronization sequence with C (also over CAN).While B is synchronizing with C, A continues to send commands to B.IssueDuring the B↔C synchronization, B intermittently misses some frames from A (i.e., A transmits, but B does not process/see a corresponding message).The failure is not immediate: A↔B + B↔C run together fine for a while (sometimes short, sometimes long), then a frame from A is skipped.When the synchronization with C is disabled, A↔B runs reliably with no missed frames.CAN ID from A to B: 0x12CCAN ID from B to A: 0x12DCAN IDs between B and C (sync purposes): 0x2BC, 0x2BD and 0x2BEAs you can see from the inserted can config the sampling point for 3 devices is a
Hello ST Community,I am currently working on a custom board based on STM32MP257FAI3, derived from the STM32MP257F-EV1 evaluation board.We initially built our own custom image and successfully enabled several peripherals (SPI, USART, Timers, ADCs, and Interrupts) and tested on evaluation board as well.Now, while adapting the configuration for our custom hardware, I have modified all pin assignments according to the alternate functions listed in the datasheet and reference manual.Most of the pins are configured correctly and appear as expected in the system.However, I’ve noticed that certain pins (for example, PZ7 and PZ8, which were used for LPUART1 on the EV1) and some other pins in list are still shown as “consumer = kernel” in the output of: gpioinfo -c /dev/gpiochip11even though I have:Removed their references from TF-A, U-Boot, and Linux kernel device treesDeleted their entries from the corresponding pinctrl and pinmux configurationsDespite these removals, the
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.