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 all! I need some rubber ducking help here. I have got hold of a B-U585I-IOT02A dev board, where I'm trying to get learn and get to know the STM32 family. I have got a lot of things working, but the ADC1 is giving me a hard time: Here is my MX config: IN1 enabled, and expecting the data to be stored in the DR register. PC0 is selected as ADC1_IN1: Global interrupts are enabled: So far, so good( I think ). my application code: /* Running in my main while(1) loop */ // Other stuff before here if (StartConv) { if (HAL_ADC_Start_IT(&hadc1) != HAL_OK) { /* Start Conversation Error */ Error_Handler(); } StartConv = 0; } HAL_Delay(10); And when above is executed, I can see that I'm getting a interrupt and call to my own ConversionCallback function: void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle) { /* Get the converted value of regular channel */ adc_raw = HAL_ADC_GetValue(AdcHandle); printf("ADC Raw Value: %lu\r\n", adc_raw); // Retrigger convertion
Hi everyone,I am working on STM32H723 (H7 series) using HAL, and I am facing an issue with ADC1 + ADC2 dual regular simultaneous mode.Configuration DetailsMCU: STM32H723HAL based projectADC1 = MasterADC2 = SlaveMode: ADC_DUALMODE_REGSIMULTDualModeData: ADC_DUALMODEDATAFORMAT_32_10_BITSResolution: 12-bitScan mode: DisabledContinuous mode: DisabledTrigger source: TIM2_TRGO (rising edge)DMA: Circular modeADC3 runs independently (also TIM2 triggered) and works perfectlyDual mode started using:HAL_ADCEx_MultiModeStart_DMA(&hadc1, (uint32_t*)g_adc12_packed_buffer, TP_DMA_BUFFER_SIZE); Buffer unpacking: uint32_t packed = g_adc12_packed_buffer[i]; uint16_t adc1_raw = packed & 0xFFFF; uint16_t adc2_raw = packed >> 16; Observed BehaviourWhen I apply voltage to ADC1 input:Both ADC1 and ADC2 values changeBoth show identical values (mirrored)When I apply voltage to ADC2 input:No change in readingsADC2 does not respondWhen inputs are floating (level shifted mid-sca
Hello I've been trying to recreate the DCMIPP_SnapshotDecimation example with STM32CubeIDE, I have been running into several issues. I have solved most of them, I am encountering a memory error while debugging my code. I was able to flash and debug the original example successfully on the STM32N6570-DK. However, when I try to read a value from the AXISRAM address (0x34200000), it fails: (address does not exist and unable to reconnect to target device). AXISRAM3 which it should be the address 0x3420000 is activated and initialized in the main. Initialization of the signal processor and starting the DCMIPP pipeline was passed without any problem:if( ISP_Init(&hcamera_isp, &hdcmipp, 0, &appliHelpers, ISP_IQParamCacheInit[0] ) != ISP_OK ) { Error_Handler(); } if( HAL_DCMIPP_CSI_PIPE_Start(&hdcmipp, DCMIPP_PIPE1, DCMIPP_VIRTUAL_CHANNEL0, BUFFER_ADDRESS, DCMIPP_MODE_CONTINUOUS ) != HAL_OK ) { Error_Handler(); }But, trying to access the buffer addr
Hello,I'm working on a projet where I need to drive 4 (or 2 x 4) GPIO at the same time with high speed on the STM32U545RE.I'm trying to use the DualQuad SPI (with OSPI) but I can't have the clock working...At first I tried to write a code with a send only type of frame (with no instruction and no address) but nothing was working.Now I tried to use the example code from a STM32L5 but nothing seem to be working either. Can you if someone already tried to do that ? BR,Loïc
Hi,I am using the M95P08-IXMNT/E flash memory IC and I am unable to identify the Pin-1 orientation on the package.The device does not appear to have any visible:dot/dimplechamferlaser markingbeveled cornerI checked carefully under light and magnification, but I still cannot find any Pin-1 indication.Could anyone please help with:How to identify Pin-1 on this package?Any package photos/reference images?Whether some lots come without visible Pin-1 markings?Thanks.
Hi all,I'm looking for a free library or source C code to develop and application for DALI master manager with STM32F7 board.I didn't find anything ....Any suggestion?Many thanksFabio
I use STM32U5A9J-DK to plot a graph containing a series of V-I data. I have tried static graph widget and was succeed, but it somewhere doesn't meet my need: the label can only show int, if x data range is -0.6~0.6V, I can only scale them to -600~600, in mV unit, (but I want to show unit in V); besides, my data sequences may have the same x value with different y, e.g. (-0.6,2) (-0.2,5) (0,3) (-0.2,2) (-0.6,1), data like this can't be plotted on static graph, it only accepts monotonous x value. I need my graph showing the original data points (need no scaling) and allowing same x value with different y values, Any other way I can build a graph fitting my requirement? I use touchgfx 4.26.1, seems no canvas function ?!I mean like drawing the plot below, with a lots of on the same graph, and allow me to active/inactive the plot, each plot is a regression
Hi Everyone,I am working on a project with TouchGFX. I'm working with STM32U5G9ZJT6 and I have an external RAM APS12808L-OBM-BA connected via HSPI (Fclk-hspi 100 MHz) in mapped mode. The project is working, but the image animation are not working well. To solve it I have decided to increase the HSPI frecuency.The APS12808L-OBM-BA memory can operate at up to 200MHz. However, when I exceed 118MHz, I can't map the memory. You can see a picture below reading the memory after mapping (you see "?").I have changed the memory read latency (MR0 and MR4) to increase the Fmax.I need all of suggestions for this issue.Thanks in advance all
Dear ST team.(related :Re: UART of NUCLEO-WB09KE UART signal no found - STMicroelectronics Community)I am testing with NUCLEO-WB09KE EVBStarted from the example code ; "BLE_Peripheral_Lite", which is using PB0/PA1 as usuart portI can see the Uart output signal on MB1801, CN3.37. Then I manipulate to code to use LPUART; PB4/PB5 [attached code: BLE_Peripheral_Lite_LPUART1_PB4PB5.zip]But the result is, Uart output signal is still on MB1801, CN3.37(same PIN with USART).Did I do something Wrong? or Missed something?Please Help
Hi, My projet has been working fine until the last week or so where I can no longer debug. When I press F5 I get a "Missing CMSIS_PACK_ROOT" with a notification toast message of "gdb is not running".Nothing has changed in terms of project settings, launch.json, etc. as far as I'm aware. All STM32 extensions and packs are the latest (these might have updated recently - i've tried older versions as a test but that didn't help).Target device is STM32C562.Using ST-Link GDB Server.Windows 11 OSHere is the log of "STM32Cube core" at startup.2026-05-13 08:23:08.715 [Info] Adding STM32Cube CLI path to environment: c:\Users\ZZZ\.vscode\extensions\stmicroelectronics.stm32cube-ide-core-1.3.0-win32-x64\resources\binaries\win32\x86_64 2026-05-13 08:23:09.984 [Info] Configuring CUBE_BUNDLE_PATH environment: C:\Users\ZZZ\AppData\Local\stm32cube\bundles 2026-05-13 08:23:09.985 [Info] NODE_EXTRA_CA_CERTS is not set 2026-05-13 08:23:10.369 [Info] CMSIS_PACK_ROOT=C:\Users\ZZZ\AppData\Local\stm32cube
Can I join a LoRaWAN network only once?so that after a software or hardware reset, i would not need to join the same network once again I am working with LoRaWAN_End_Node_LBM example
If the STM32H743IIK6 is clocked by an external 25MHz clock generator, but we still aim for minimum current consumption until a wake-up is required, what is the lowest achievable current draw assuming everything is powered down except for the external oscillator? Thanx,Eli.
Planning L4981B as PFC controller as pre-stage to our DC-DC Convertor.Will this controller work with 400Hz can it be able to maintain unity power factor in 400Hz line as it does for 50/60Hz?Any other PFC controller recommendations will be appreciated
In the last weeks, I was working on running W25Q256 nor flash chip from vendor Winbond with STM32F746 MCU on a custom board. My guideline in this road is ST's how to run QSPI flash video tutorial (5-part video) and of course some genius guys in the community who's helped me a lot to rewrite the functions of QSPI flash (Init, Erase, Write, Memory-mapped). So far functions tested in the Main.c and I can read the pre-written data on the memory. The next step is to generate (.stldr) external loader file and modify Flash.ld file.according to the video tutorial, I added Loader_Src.c, dev_inf.c, and dev_inf.h files to the workspace but there is a little confusion about flash.ld file that contains memory definitions and all other data and text stuff to assign to specific memory (>FLASH, >RAM, >QUADSPI).for the point of concern, I use STM32F746 with IS42S32400F SD-RAM connected with 2-banks to MCU and of-course W25Q256 NOR-FLASH.how to modify flash.ld file to my specific condition and
The graphical representation shows an internal op-amp amplifying the signal entering the comparator's positive input.However, the STSPIN32G4 positive input comparator cannot be an op-amp output unfortunately and is limited to op-amp positive inputs - see Ref. Manual RM0440 ver 9 (Figure 168).This is misleading, because only non-amplified signals gets to the positive input of the comparator.
When enabling MCE2 for the STM32N6 with the following settings:the generated MX_MCE2_Init crashes here: ContextAESConfig.KeySize and ContextAESConfig.Cipher_Mode are not initialized to any value. After adding: ContextAESConfig.KeySize = MCE_AES_256; ContextAESConfig.Cipher_Mode = MCE_CONTEXT_BLOCK_CIPHER;the function crashes to:HAL_MCE_EnableAESContext cannot be called with MCE_NO_CONTEXT.
I am designing a LED driver board for an industrial instrument and am evaluating the ST1CC40 as a constant-current buck driver for the following application: Application requirements:• Input voltage: 5V DC (regulated)• LED: Cree XLamp XP-L2 white LED• Target forward current: 2.2A• LED forward voltage: 3V at 2.2A, Tj = 85°C From the ST1CC40 datasheet, I have confirmed the following:• VIN range 3V–18V covers our 5V supply • Maximum limiting current 5A covers our 2.2A operating point • INH threshold VIH = 1.2V min is compatible with our 3.3V PWM signal • Duty cycle at operating point: 2.93V / 5V = 58.6% — within range • RSENSE = 97mV / 2.2A = 44mΩ (targeting 44mΩ E96 standard value) I have the following technical questions: 1. With VIN = 5V and VOUT ≈ 2.93V (duty cycle ~58.6%), is there any concern with the internal bootstrap circuit or headroom voltage at this relatively low input voltage/ applicat
Please provide a Linux version of MCSDK. ST already has CubeMX and CubeIDE for Linux and they also run on Java, so I guess it should not be a problem.Or even a better alternative, just provide source code for MCSDK examples in a git repository. It is very frustrating to obtain source code through CubeMX and always having to log in.
Hello,I noticed that the MB1720 High_band Low_power configuration and the MB1720 High_band High_power configuration have different input line differentials. I would like to know, when combining High_band/Low_power nodes with High_band/High_power nodes in the same RF mesh network, what design considerations should be followed and how the part should be designed?Thank you.
Hello!I'm working on an Nucleo-H503RB board and trying to communicate with a LSM6DSO over I3C.I am now able to use ENTDAA to assign a dynamic address to the LSM6DSO.Next, I want to test using SETDASA to assign a dynamic address based on the static address (0x6A) of the LSM6DSO. I followed Getting started with I3C - stm32mcu(4.2 Dynamic addressing using SETDASA CCC section ), but encountered the following issue.Issue:The process stops at RSTDAA and does not continue to SETDASA.I have already verified via I2C that the static address is 0x6A.Question:How can I successfully complete the SETDASA procedure? Full Code:/* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include <stdio.h> #include "target.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------
Hi Technical Support Team,I am working with the Nucleo-H563ZI board and would like to enable the I3C interface within the Zephyr environment.Could you provide a minimal sample project or a reference configuration (Devicetree/Kconfig) to validate the I3C host driver and I3C shell?Thank you for your assistance.----------------------------------------------prj.confCONFIG_I3C=yCONFIG_I3C_SHELL=yCONFIG_I3C_STM32=yCONFIG_USERSPACE=yCONFIG_I3C_RTIO=y----------------------------------------------
:warning:Note: The internal GPIO structure has been simplified for better conceptual understanding. (Components such as ESD protection diodes, pull-up and pull-down resistors, etc., are not shown.):warning:Warning / Disclaimer This analysis is based on my personal study and interpretation of technical documents. Therefore, I cannot guarantee that it fully represents the actual internal behavior of all STM32 microcontrollers. This is a simplified conceptual model for educational purposes.INTRODUCTIONIn this document, we will examine how our code affects GPIO units at the MOSFET level. Our analysis focuses on the MOSFET switching logic in General Purpose Output (Push-Pull, Open-Drain) and Input Mode (Analog and Alternate Function modes are not included in this analysis). I used the following documents as references for this analysis and the visuals:AN4899 Application Note (STMicroelectronics)RM0365 Reference Manual (STM32F3 series)Since this analysis is based on the STM32 architecture, w
Hello,I am working on a project using an STM32H7S3 with an XSPI NOR Flash (ISSI IS25WX064) running in XIP (Execute-in-Place) memory-mapped mode. The firmware is split into two stages: a Bootloader and an Application context executing directly from the external flash.I need to put the flash into Deep Power-Down mode (command B9h) before the STM32 enters Standby, in order to minimize total system current consumption. On wake-up, the Bootloader handles the Release from Deep Power-Down (ABh) before re-entering memory-mapped mode and jumping to the Application.I am struggling to find a clean way to send the Deep power down command from the Application context. The main obstacles are:1. The XSPI handle (hxspi1) lives in the Bootloader context, so the Application does not have direct access to it.2. The Application code runs from XIP flash. This means that aborting the memory-mapped mode (required before sending any command) from code that itself is fetched through that same memory-mapped int
Hello everyone, I have a custom PCB with an RFM69HCW and an STM32L011G4U6, I'm stuck, transmission and reception work fine, but if I want to add an ID, it gets stuck, here are my two INI files, sorry for my English. void RFM69_Init_RX(void) { uart_print("=== RFM69 CAPOT RX INIT (868MHz) ===\r\n"); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET); HAL_Delay(10); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET); HAL_Delay(50); RFM69_WriteReg(0x01, 0x04); // Standby HAL_Delay(10); // === Fréquence 868 MHz === RFM69_WriteReg(0x07, 0xD9); RFM69_WriteReg(0x08, 0x00); RFM69_WriteReg(0x09, 0x00); RFM69_WriteReg(0x11, 0x7F); // Puissance max // Configuration Paquet RFM69_WriteReg(0x02, 0x00); // Packet mode RFM69_WriteReg(0x03, 0x1A); RFM69_WriteReg(0x04, 0x0B); RFM69_WriteReg(0x2F, 0xAA); // Sync Word RFM69_WriteReg(0x30, 0x55); RFM69_WriteReg(0x37, 0x00); // Pas d'adressage RFM69_WriteReg(0x38, 9); // Payload Length = 8 octets (suffisant pour "arm" et "o
Hi everyone,I'm experiencing a frustrating issue while debugging an STM32H755 using STM32CubeIDE v2.0.0.When I launch a Launch Group (or start the debug sessions sequentially), the start point (Entry Point) in main often points to the exact same memory address for both the Cortex-M4 and Cortex-M7 cores (e.g., 0x81013be). This overlap obviously prevents a proper debug session.This behavior seems random. Sometimes it starts correctly, but as I develop and recompile the code, they suddenly end up "stacked" on the same address.Current Setup:IDE: STM32CubeIDE v2.0.0.GDB Server: Manually configured with separate ports (61234 and 61240).Guidelines: I've followed the official dual-core debugging recommendations.Is there a specific configuration or "hidden" setting to prevent the IDE from overlapping these entry points? Or is this a known bug in v2.0.0? It’s becoming quite a bottleneck for my development.Thanks 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.