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
Hello, I am testing SPI5 TX by GPDMA on an STM32N6 device and I found behavior that seems inconsistent with the reference manual. MCU / Environment MCU: STM32N647X0H Toolchain: STM32CubeIDE 2.1.1 CubeMX / CubeN6 version: STM32Cube_FW_N6_V1.3.0 Issue summaryI configured SPI5 as: Master Simplex TX-only Software NSS SSI set high I configured GPDMA1 Channel0 as: Memory-to-peripheral Source = TX buffer Destination = SPI5->TXDR Transfer length = 8 bytes TX pattern = A5 5A A5 5A A5 5A A5 5A Observed behavior If I write data directly to SPI5->TXDR by CPU, MOSI outputs correctly. If I use GPDMA for SPI5 TX, SCK may appear, but MOSI stays low / no valid TX data is output. I reduced the project to a minimal LL test case and the behavior is reproducible. What I already verified Same SPI5 pin configuration is used in both tests. CPU TX path works with the same SPI configuration. TX buffer content is correct in memory (A5 5A ...). DMA source addres
Hello,According to Table 246 in section 27.3.3 Signal Routing of the STM32U3 Reference Manual, I should be able to configure ADC1_IN6 as an ADC input when using OPAMP1, or ADC1_IN13/ADC2_IN9 when using OPAMP2 such that the output of the opamps are routed internally to the input of the ADC.However, in CubeMX configuration for this device, enabling the Opamp in any capacity "red's out" the option to use the corresponding ADC input for any of these combinations. In this example, OPAMP1 is set to PGA Not Connected, and I am unable to configure the ADC input on IN6.Am I doing something wrong here, or is this simply a bug related to the recent release of this product?Thanks!CubeMX version: 6.17.0OS: Ubuntu 24.04.4Device: STM32U3C5CIUxQ
Hi community.TLV230adc5140 - SAI 4CH(TDM) - STM32 - USB_FS_ 4CHmic - Window(LInux RP5) I reuse partly code from memsmic1 project to create 4 microfone audio device. Everything look well for channel 1 and 2 I got some trouble whit CH3 and CH4. Please help whit wrong channel mapping for channel 3 and 4. It is mapped on channel 1 and 2 on usb interface. One can see it on attached picture. Here is TLV switched off, SAI(DMA call back) reused for 4 sin generator 1,2,3,4 kHz for every supposed channel. Here you see the picture.Where i am wrong?
Hello,I'm working on a project to increase the detection range of the STHS34PF80. During my tests with different LPF and Threshold settings, I noticed that TPRESENCE_L often drops to 0 and stops updating entirely.It feels like the internal algorithm is "absorbing" the signal or the filter is too aggressive.Does changing LPF settings require a specific reset sequence to prevent this?Are there known limitations when trying to push the range beyond 2.2m using software parameters?Any help would be greatly appreciated. Thanks!
Hi everyone, I am working on a dual-core project using the STM32H747XI. I am implementing a custom Tickless Idle mode in FreeRTOS on the Cortex-M7 (CM7) core using LPTIM1 as the wakeup source. I’m facing a specific issue regarding the interaction between D1 and D2 domains: The Scenario: CM4 is running a continuous task (intended to stay active). CM7 enters low-power mode via vPortSuppressTicksAndSleep. If I use HAL_PWR_EnterSLEEPMode(), everything works perfectly—CM4 keeps running, and CM7 wakes up as expected. If I switch to HAL_PWREx_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI, PWR_D1_DOMAIN), the CM4 core seems to "die" or freeze as soon as CM7 enters the DStop state. Is it physically possible for CM4 to continue executing code if the D1 domain is in DStop (CM4 is using only LPTIM1 on D3 and timers on D2)? Code snippet used on CM7: _weak void vPortSuppressTicksAndSleep(TickType_t xExpectedIdleTime) { // Generated when configUSE_TICKLESS_IDLE == 2. // Functio
How to configure the sysTick_Handler(), when we are setting the HCLK 386MHz in CubeMX and systemClock() is generated, but while configuring sysTick(), uint32_t SystemCoreClock = 64000000; already there in system_stm32h7xx_dualcore_boot_cm7_cm4.c(void)SysTick_Config((SystemCoreClock) / 10000);Will it effect mine overall MCU speed and performance, because after all I'm using FMC NAND Flash to communicate with the external Micron Flash, because there I need to calculate the clock cycles need to the write enable (WE), Setup time, Address Latch Enable (ALE) time etc, will be effected, or it is completely independent, should I only consider FMC_CLK which is coming from PLL clock source 2.
Dear sir / madam The UltraLibrarian WBA5M (Module) footprint is flawed. Potentially it can screw the module under reflow.Those center GND pads are not placed correct. I noticed when comparing the ST dev-board module. see image..
Hi all,I noticed that when using the encoder, the motor undergoes an alignment phase during which it completes a rotation until it reaches the position where the Index Z signal is triggered.I was wondering if it's possible to skip this alignment phase by adding the Hall sensors (like with the B-G473E combined with the STEVAL-LVLP01 board), and if so, what should I specify in the Workbench or in the Code?Regards,Jules
I bought STM32F4DISCOVERY. But in the STMcube IDE, i see only STM32F407G-DISC1 board. Are STM32F4DISCOVERY vs STM32F407G-DISC1 same? Can I select STM32F407G-DISC1 and create a project in the IDE and use STM32F4DISCOVERY hardware to run the project? Will it create any issues?
Split from STM32CubeIDE missing “STM32 Project” and CubeMX after fresh installation - that issue was resolved.This is a new issue.The new version 2.1.1 appears pretty useless even after trying to make a project with the separate cubemx. From the IDE you cannot then build the project. It just sits there. I would hope that the IDE is at at capable of building and compiling the project but it appears that is no longer the case.Did you employ someone from microsoft to break it. It was working perfectly before hand. New->STM Project->.....->build->debug. I will revert back to 1.19 to avoid wasting more time and just use an older CubeMX as that was the only reason I upgraded Please leave working software alone or simply improve it and not break it for no reason
I am currently working on an STM32 TrustZone project and trying to implement the following flow:NonSecure world running↓Calls Secure_add()↓Secure world executes↓Returns value 8↓UART prints the result in NonSecure worldHowever, I am facing an issue while jumping from the NonSecure world to the Secure world. The expected secure function execution is not happening properly.If anyone has faced a similar issue or has suggestions regarding NSC gateway configuration, linker settings, or TrustZone function calls, please share your insights. this much i am getting the outCMSE_NS_ENTRY uint32_t Secure_add(uint32_t a, uint32_t b){return a + b;} ------------------------ My Nsc.c entry logic for(int i = 0; i < 5; i++){printf("NONSECURE WORLD RUNNING\r\n");printf("I am amritha\r\n"); //for(volatile int d=0; d<500000; d++);}uint32_t result;printf("Before Secure_add\r\n");result = Secure_add(5,3);printf("Before Secure_add\r\n");printf("Secure result = %lu\r\n",
From Figure 12.STEF033 cannot be used for the case Ilim=1A?Rlimit is valid when the value is more than 120 ohm?
Hi, I'm using a STM32F072's DAC to output a SIN and a COS wave. The problem is I can only output values up to approx. VDDA / 2. The DAC drives unity gain amplifiers to drive a 50 Ohm load. The DAC is connected directly to the amps, using the buffer does not help. VDDA = 3.3 V. Here, CH4 is connected directly to the DAC output via a 10:1 probe. The black things on the scope inputs are 50 Ohm termination, so the CH2 and CH3 signals having only half the amplitude of CH4 is expected. All channels are DC coupled. I'm writing to the DAC using the DHR12L1/2 registers (using the STM32Cube HAL): uint16_t value = (uint16_t) (ltbDacSinLut(ltb_dac_ch1_counter_) ^ 0x8000) & 0xFFF0; HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_L, (uint32_t)value);where ltbDacSinLut returns values in the range of [-32768, 32767]. Dividing the value by 2 before writing to the DAC results in undistorted SIN / COS output, but of course the output swing
Hello ST team,I am facing a boot-time crash in OP‑TEE on an STM32MP257DAI3.The system boots through BL2 and BL31 successfully, but OP-TEE triggers a data abort followed by a SERC exception, leading to a panic at <stm32_serc_handle_ilac>.I would appreciate guidance on correct RIF/RISAF configuration for OP-TEE and how to trace SERC exception ID's to actual peripheral .Here is my OPTEE error logWARNING: This OP-TEE configuration might be insecure! WARNING: Embeds insecure stm32mp_provisioning driver ..... I/TC: Platform stm32mp2: flavor PLATFORM_FLAVOR - DT stm32mp257f-ev1.dts I/TC: OP-TEE ST profile: secure_and_system_services D/TC:0 0 call_initcalls:40 level 3 check_ta_store() D/TC:0 0 check_ta_store:418 TA store: "early TA" D/TC:0 0 check_ta_store:418 TA store: "Secure Storage TA" D/TC:0 0 check_ta_store:418 TA store: "REE" D/TC:0 0 call_initcalls:40 level 3 early_ta_init() D/TC:0 0 early_ta_init:56 Early TA 80a4c275-0a47-4905-8285-1486a9771a08 size 46235 (compressed, unco
As the subject states, when I try to run the AI model from the original demo on the STM32N6570-DK board, the screen turns black and the LEDs switch to red.A few days ago, I attempted to run my own AI model. Using STM32CubeProgrammer, I selected the external loader MX25UM1245G_STM32N6570-DK (I believe this may have been incorrect). Then, in the Erasing & Programming section, I uploaded my .bin file, set the start address to 0x70380000, and started the programming process.After that, I tried to debug the STM32N6570-DK Getting Started Object Detection project in STM32CubeIDE. However, I encountered an issue in main.c with the error:#error "PostProcessing type not supported"which persists.Later, I decided to restore the original demo. I erased the external memory using STM32CubeProgrammer,then downloaded the original demo .hex file ("STM32N6570-DK Out-of-the-box demo binary"), and followed the provided instructions.The demo now runs on the board, but when I try to launch the orig
Hello st community!Does anyone managed to get a csi-2 camera working with Nucelo n657 can provide his project as reference, im trying to explore the DCMIPP but I'm getting lost so if any code provided so i can follow along.Thanks!
I am using the STEVAL-MKI238A kit with the LIS2DUX12 chip. This is connected to an NRF52840DK and interfaced using Zephyr's lis2dux12 driver. The eval kit is connected to the SPI3 device using its default settings. I am running an SPI clock of 1Mhz and the VDD and VDIO pins are supplied 1.85V+GND from a shared power supply with the nrf52840dk. The Zephyr lis2dux12 driver is hard coded to use SPI mode 3, so CPOL+CPHA.The lis2dux12 driver fails its INIT sequence by mismatch of the WHO_AM_I readback. The device seemingly returns 0x0C.I have connected a logic analyzer to the pins of the eval kit shows this sequence:- 0x01 is written to register 0x3E to wake the device up from sleep- Once the CS signal is disabled, 50ms passes before the next CS enable to allow the sensor to wake up- A read request is made to register 0x8F (bit 7 read + 0x0F)- The clock idles for 48.5µs before pulsing for the response- The sensor effectively pulses 0000.1100b- However the sensor seems to attempt to set
I notice there is now a github repo with FSM examples; very useful!However, in comparing what I have been successfully using, for example, for shake detection on the LSM6DSV (or LSM6DSV80X) where 30 lines are written to page 0x7A: _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0xC0 | 0x20 | 0x02); // write to CONFIG_A (three thresholds, two masks, two short timers) _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x00); // write to CONFIG_B _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x1E); // write to SIZE (30 byte program) _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x00); // write to SETTINGS _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x00); // write to RESET POINTER _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x00); // write to PROGRAM POINTER _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x66); // write to THRESH1 LSB _i2c_bus->writeByte(i2cAddress, LSM6DSV80X_PAGE_VALUE, 0x3E); // w
Hello,Can anyone tell me how to measure pulse width with the HRTIM? I need to measure a very short pulse from my time domain reflectometer. I am thinking of using the NUCLEO-H753ZI board with the STM32H753ZI MCU. All I know about measuring pulses with the HRTIM is that I need to use the external event registers and that the minimum pulse width must be >2.5 ns. Any help would be greatly appreciated.
Hello everyone!I am trying to get a custom board based on an STM32WBA5MMG to join my existing ZigBee network. As a first test, I have created a basic project in CubeMX, that configures STM32_WPAN to generate a ZigBee project with one OnOff-Endpoint and sets up USART2 for logging. When I generate a CMake-based project and try to compile it in VSCode with the STM32 extensions installed (without making any changes to what CubeMX generated), I get a bunch of linking errors and the build fails:[build] /Users/dg/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: warning: /Users/dg/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v8-m.main+fp/hard/crtn.o: missing .note.GNU-stack section implies executable stack [build] /Users/dg/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-non
Hello,I am having some hard time to connect my nucleo-wl55jc1 to any LNS, even though i checked that Device, Join, and App EUIs are all correct and there is no mismatch, but whichever LNS I try, I always get the same result First, I tried with an indoor RAK gateway, these gateways use MAC version 1.0.3, and the nucleo example uses version 1.0.4 Then I tried using MeteoScientific LNS and Helium network, could not join as well. Finally I tried to connect LORIOT to my RAK gateway, and they successfully connected, but still the nucleo could not join the server, and the gateway did not transfer any packets. Even though the steps are fairly simple, I don't know what is the problem here what is the meaning of "Event received: RESET" in the nucleo serial logs?
I am trying to download the windows version of the IDE but I can't get it to work. Either the download button doesn't do anything or it's just not there. I've tried with different email accounts, different web browsers, different networks but that didn't do it. I've looked on here and it was suggested to disable browser extensions like ad-blockers and such and I've disabled all of them and still nothing. I would appreciate any help.
Hello STM32 Community,I am stuck in a critical situation with my STM32H533RE custom board and need help recovering it. I have exhausted all methods I know.- Hardware Setup: - MCU: STM32H533RE (custom PCB, not Nucleo) - ST-LINK: External ST-LINK V2 (Firmware V2J46S7) - BOOT0: carry out the cia test point - USB: DP/DM routed to test points (wires soldered for access) - SWD: SWCLK , SWDIO , NRST (Pin 2) connected to programming header- TrustZone Configuration - Configured Secure and Non-Secure world using STM32CubeMX - Secure peripherals: SPI1, SPI3, UART4, ICache, DCache - Flash watermarks configured for secure/non-secure regions- What Happened (Step by Step) 1. Device was originally in **Open state (0xED)** — everything worked fine 2. I could connect via SWD in Normal mode and read all memory including secure regions 3. I attempted to transition
Hello People, I’m trying to make tracing on a Board containing either a STM32H743 or a STM32H747 work and it drives me crazy. I need to debug a custom build board from our company, where I have a uVision Project for it and a circuit board, but no Cube-Project. It is important to debug UI with timestamps, so that we can measure how long the UI takes. First of all, I tried to debug it with Ozone. I downloaded the tracing example for the STM32H743 Eval Board and tried tracing on the Eval Board, which worked. So I planned to do tracing on our own hardware on a very minimalistic Project to check to make it work. I than generated a very minimalistic Cube-Project to count a value and to trace it and generated a uVison-Project from it. I somehow made it work to trace it in Ozone, as far as I remember correctly I used the pex-File for it. But unfortunately, I don’t know what I did wrong, the tracing does not capture any data any longer. I also tried the same with
Where can I download the STM32H503 Nucleo schematic?
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.