Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi, I'm already aware of the application note from https://www.st.com/resource/en/application_note/an5354-getting-started-with-the-stm32h7-series-mcu-16bit-adc-stmicroelectronics.pdf but as it does not cover STM32H72*-MCUs, I have to afraid I need to ask it here. I have configured some ADC-stuff for 16 bit data sampling in CubeMX but now get incredible large offsets, even when the ADC-pins are connected to GND directly. That offset is in range 2000..4000 and very instable, means floating about the full range (I except it not to be a noise-problem as for testign the pin is pulled to GND directly). What I have configured in CubeMX: VREFBUF-mode to internal voltage reference Trimming Mode: factory trimming Internal voltage reference scale: SCALE2 (around 1.8V as I expect input voltages in range 0..1,8V) The ADC's are used without oversampling, asynchronous clock-mode, divided by 4. The clock to the ADC's is at 64 MHz (may be too high?) ADC is running in independent mode, no cont
Hi all,I am looking for an advice to how-to sync the back-end signal and the toggle button.For example toggle button by default is OFF, Signal output Low.Clicked button, the button state = ON, Signal output High.View still display the button is ON.Due to some error condition, the signal output is turned off to Low. The View still show button is ON. How can I turn the toggle button to OFF in View in this case?Thank you
A couple questions on using the PSRAM on the STM32H7S7 DK. The "XSPI_PSRAM_MemoryMapped" example configures the XSPI module to have a max transfer length of 0, indicating continuous streaming without wrap can be used. However, the datasheet for APS256XNN only lists wrapping burst modes, no continuous streaming. Shouldn't the MaxTran field be set to match the burst wrap of the part? For example, setting the PSRAM to a 2k burst would be accompanied by:hxspi1.Init.Refresh = 2048;As an cleaner alternative to manual register writes, I also tried using the "External Memory Manager" Middleware to work with the on-board PSRAM, but it didn't work. Is the APS256XNN PSRAM not supported by this middleware?
When working with the DCMIPP Pipe0, what configuration must be done in order to receive a frame? I've followed similar steps as to the provided examples in the N6 1.2.0 repository: DCMIPP init -> sensor probe -> pipe start. I've verified my sensor is streaming and its internal frame counter is incrementing. Although, I've yet to see any frame callbacks. I've matched the weak callback implementation in the provided examples.Also, what should PHYBitrate be set to? This is presumably the per-lane MIPI bandwidth, but I've made that assumption due to lack of clarity in the manual. My sensors MIPI clock should be configured to output about 900Mbps on a 2 lane configuration.Regarding CSI, I've also noticed that both the DLD bit in CSI_PFCR is set to 1 in the MX generated code though the reference manual states it should be set to 0. Noticed a similar discrepancy with the CSI_PCR PWRDOWN bit which is set to 1 by the generated code. The manual states that 1 is "Power down the D-PHY_R
Hi all,I am trying to read/write the EEPROM -24FC64 connected with stm32g474ceux microcontroller. The slave device address is 0x57 (1010 (control code) + 111 (chip select bus) = 0x57). I2c bus speed is 100KHz as set during stm32CubeMX configuration.My C code is as follows:uint8_t Data_write = 0xAA;HAL_I2C_Mem_Write(&hi2c1, (0x57 <<1), 0x00, 2, &Data_write, 1, 100);HAL_Delay(10);HAL_I2C_Mem_Read(&hi2c1, (0x57 <<1), 0x00, 2, &Data_read, 1, 100);So during the debugging, i do not see the sent data (0xaa) at variable Data_read pointer.Can anyone suggest/guide me please what could be wrong here.? Many thanks in advance.
recently i want to control the SWD function manually by external pin level, in F1 HAL library,there are some defintions to configure this,like above, after call __HAL_AFIO_REMAP_SWJ_DISABLE(),when i connect MCU by jlink debugger,it fails, so it means this definition effect,but after call __HAL_AFIO_REMAP_SWJ_NOJTAG(),debugger still cannot connect the mcu,I try some time,then i find, when enable SWD,I must call __HAL_AFIO_REMAP_SWJ_ENABLE(),why this. i have test on stm32f103c8t6 and stm32f103vet6,both show the same result, thanks.brief:why i must call __HAL_AFIO_REMAP_SWJ_ENABLE() not only __HAL_AFIO_REMAP_SWJ_NOJTAG() after i disable SWD
hello... I am using custom board with STM32F103C8T6 with Semtech LoRa module SX1262 for LoRaWAN architecture. Facing lot of issues like files missing. We are using the files from Github link
Hi,I am currently working with the STM32H745I-DISCO development board. Initially, I followed a reference tutorial to successfully implement a basic LED blinking application utilizing both cores—Cortex-M4 and Cortex-M7.Subsequently, I created a GUI-based project using TouchGFX Designer, which I then imported into STM32CubeIDE. The project compiled without errors; however, during the debugging phase, I encountered the following issue:Error in final launch sequence: Failed to execute MI command: load C:\\TouchGFXProjects\\MyApplication_4\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_DISCO_CM7.elf Error message from debugger back end: Error finishing flash operation Failed to execute MI command: load C:\\TouchGFXProjects\\MyApplication_4\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_DISCO_CM7.elf Error message from debugger back end: Error finishing flash operation Failed to execute MI command: load C:\\TouchGFXProjects\\MyApplication_4\\STM32CubeIDE\\CM7\\Debug\\STM32H745I_D
Split from this thread. Hi, I am glad that you have been successful with dumping the extMem_boot to the STM32H750B-DK. I am trying to do the same thing, would you please be so kind and let me know, how did you do that within the CubeIDE ? Any info is much appreciated. Best, Miha PS sorry for my ignorance, if this is written withing the FW files.
Hi everyone, I'm experiencing abnormal power consumption in STOP2 mode with my custom board featuring the STM32WB5MMGH module. According to the datasheet, the power consumption in STOP2 mode should be between 2 and 3 µA. However, my board is drawing around 20 µA. After some troubleshooting, I've narrowed down the issue to the LCD module: when I disable it, the power consumption drops to the expected values. Here's my current LCD module configuration: /* USER CODE END LCD_Init 1 */ hlcd.Instance = LCD; hlcd.Init.Prescaler = LCD_PRESCALER_2; hlcd.Init.Divider = LCD_DIVIDER_27; hlcd.Init.Duty = LCD_DUTY_1_8; hlcd.Init.Bias = LCD_BIAS_1_4; hlcd.Init.VoltageSource = LCD_VOLTAGESOURCE_INTERNAL; hlcd.Init.Contrast = LCD_CONTRASTLEVEL_3; hlcd.Init.DeadTime = LCD_DEADTIME_0; hlcd.Init.PulseOnDuration = LCD_PULSEONDURATION_1; hlcd.Init.MuxSegment = LCD_MUXSEGMENT_DISABLE; hlcd.Init.BlinkMode = LCD_BLINKMODE_OFF; hlcd.Init.BlinkFrequency = LCD_BLINKFREQUENCY_DIV16; hlcd.Init.HighDri
Hi ST Community.I am using an STM32H725IGK MCU on a custom board. My board has a uSD card slot connected to the SDIO pins, and I am using SDMMC1 peripheral. I am also using FatFS to use a filesystem on the uSD card.I can operate the SD card properly most of the time. I can mount, format, create files and folders, and read and write to files. However, sometimes, some operations fail. Normally, it's either f_write or f_lseek. They fail at the low-level disk_read() operation. I do not understand why.I will share my system configuration:- Clock MUX:- SDMMC Parameters:The clock divide factor of 2 gives 32 MHz. I also tried setting the clock to 16 MHz and 8 MHz, but the problem persists.- SDMMC GPIO settings:I also adjusted the output speed of the pins to guarantee the signal integrity is good, but the issue remains.- FatFS defines:- FatFS Advanced Settings:My system also utilizes FreeRTOS, and I use semaphores to ensure that only one task accesses the SD card at a time. I have the FS_REENTR
Hello, I am developing a custom board with the STSPIN32G4 microcontroller.I would like to have more information about the integrated buck converter, as the documentation lacks details.What is the maximum allowed peak current? Output curent 12V : Best regards.
Hi everyone,I have a question regarding SFI Option Bytes for the STM32H753ZI (Nucleo-H753ZI).Question:Which option bytes should I pick, since there are a lot of different combinations available: 1. Generated by TrustedPackageCreator: FLASH_OPTSR_PRG,0x17DEBBF0 FLASH_PRAR_PRG1,0x0000000F FLASH_PRAR_PRG2,0x0000000F FLASH_SCAR_PRG1,0x81000200 FLASH_SCAR_PRG2,0x81000200 FLASH_WPSN_PRG1,0xFFFFFFFF FLASH_WPSN_PRG2,0xFFFFFFFF FLASH_BOOT7_PRG,0x08002400 RESERVED,0x24000810 2. STM32CubeExpansion_RSSe_V1.1.0\Option_Bytes_Template\STM32H7\OB_H742_H743_H753_H750_v3.1.0.csv: FLASH_OPTSR_PRG,0x17DEBBF0 FLASH_PRAR_PRG1,0x0000000F FLASH_PRAR_PRG2,0x0000000F FLASH_SCAR_PRG1,0x81000200 FLASH_SCAR_PRG2,0x81000200 FLASH_WPSN_PRG1,0xFFFFFFFF FLASH_WPSN_PRG2,0xFFFFFFFF FLASH_BOOT7_PRG,0x1FF00800 RESERVED,0x1FF00800 3. x-cube-sfi-v1-5-0\STM32CubeExpansion_SFI_v1.5.0\Projects\NUCLEO-H753ZI\Applications\SFI\OEM_SecureRoom\OptionBytes\ob.csv: FOPTSR_PRG,0x13DEAAF8 FPRAR_P
Hi Dear friends, I am trying to configure H750 to transfer data between internal SRAM and external SDRAM, I got everything setup OK but with some problems (also monitor data bus with logic analyzer). So I checked with ChatGPT, surprisingly, ChatGPT said H750 (actually it said the same thing about H74x) does not officially support memory-to-memory transfer, ChatGPR said use MDMA instead. Before I jump into MDMA, just want to make sure what ChatGPT said is true? Thanks.
Dear STMicroelectronics Community members,I am currently evaluating STM32 microcontrollers for a project that requires strong cryptographic capabilities. Our goal is to implement hybrid encryption, meaning we need hardware support for both symmetric encryption (e.g., AES, DES/3DES) and asymmetric encryption (e.g., RSA, ECC, public key cryptography), along with hashing functions (SHA-1, SHA-2, SHA-3 if available).Specifically, I would like to request:A list of STM32 families and part numbers that include dedicated hardware accelerators for:Symmetric ciphers (AES, DES/TDES)Asymmetric ciphers (RSA, ECC, or other public key accelerators)Hash functions (SHA-1, SHA-224, SHA-256, SHA-3, etc.)Hardware Random Number Generator (TRNG)Clarification on which STM32 series provide a comprehensive cryptographic hardware suite suitable for hybrid encryption schemes (combining symmetric + asymmetric algorithms).Recommendations on the most suitable STM32
Split from this thread. Hello @mƎALLEm , Thanks for the updates. What is Bypass mode? Can you please provide guidance for this? Thanks & Regards, Jignesh Karena
Hello members, Until recently, I was using a G473. There, I ran code from the ccmram. That worked without any problems. Now I have switched to the H533. For performance reasons, I want to run the code in SRAM1 0x20000000 - 0x2001FFF. I want to keep the data in SRAM2. MEMORY { RAM (xrw) : ORIGIN = 0x20020000, LENGTH = 80K /*Ram placed SRAM2 with ECC-Check*/ FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K CCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K /*SRAM1 for code */ } For example, the function: __attribute__((section(“.ccmram”))) void EXTI0_IRQHandler(); is located in the map file at the correct address: .text.EXTI0_IRQHandler0x0000000020000300 0x28 ./Hal/Interface/Interrupts.o0x0000000020000300 EXTI0_IRQHandler The code is copied to SRAM1 in the startup file. However, when I call the function, a hard fault is generated.The PC points to the address: 0x20000302The CFSR register contains: 0x01000000, whichcorresponds to UFSR[8] and means unaligned access. This would match the pc ad
I connected the nucleo board with the cpu using port CN6 using USB-C cable with BOOT0 and BOOT1 set as L and jumper jp2 is set on STLK everything as specified in getting started module in um3300-discovery-kit-with-stm32n657x0-mcu-stmicroelectronics%20(3).pdf. After this I installed tools stm32cubemx,stm32cuben6-v1-2-0 and stsw-link009. After this I used STM32CubeMX to create a new project with the following specifications: commercial part number STM32N657X0H3Q ,secure domain and PO1 as GPIO_Output in section Pinout & Configuration .In project manager I selected only Appli as project Structure with basic as Application Structure and MDK-ARM as toolchain with min version V5.32.After this I generated code and opened the project in keil uvision version 5.36. The code is building without any errors but on flashing I encounter the error Invalid ROM table. The debugger is detectable in Target. Only issue that I come accross is when I'm connecting the board using port CN6 via USB cabl
Hello Team, For STM32H7S7L8H6 part we are planning to use below oscillator in our design. Request you to confirm which parts are more compatible with STM32H7S7L8H6.1) DSC6101ML3B-025.00002) DSC1101CI5-025.0000 Thanks & Regards,Jignesh Karena
Hello ST Community,I am working with the STM32U5G9ZJT6Q MCU, and I have generated the code using CubeMX for USB CDC-ACM (Communication Device Class - Abstract Control Model). The code seems to be running fine as it is entering the main loop without any errors. However, the USB CDC device is not being recognized in the Device Manager on my PC when I connect it.Configuration Details:MCU: STM32U5G9ZJT6QUSB Mode: USB_OTG_HS configured in device-only mode.Middleware: USB CDC-ACM (with SOF enabled).System Clock: 128 MHz & HSE: 16 MHZOperating System: Bare-metal (no RTOS).USB Cables: Using two separate USB cables:One for ST-LINK (for debugging and power supply).One for the application USB (for CDC communication).Issue:The application appears to run without issues (I can see it looping in main()), but the USB CDC device does not show up in the Device Manager on my PC. It seems that the USB is not getting enumerated correctly.Additionally, in Wireshark USB packet capture, only the descripto
Hello Together,I would like to try out the STM32CubeMonitor-RF (V2.15.0) with the NUCLEO-WBA55CG board. I downloaded the stm32cubewba mcu package (V1.7.0) and flashed the .bin file from the BLE_TransparentMode example to the board with the STMCubeProgrammer (V2.20.0)(start address: 0x08000000).When starting the STM32CubeMonitor-RF, however, the message "Device under Test not responding" appears. I then loaded the project with the STM IDE (V1.19.0) and selected the BLE_TransparentMode project for my board via the Example Selector when creating a new STM32 project.The same error message appears on the RF Monitor. Do I have to integrate the BLE stack separately?Where can I find the BLE stack?I have noticed that the loaded project structure in the IDE differs from the one from the ST Wiki for the transparent mode. The file "ll_sys_hclk_client.c" and the two libraries "LinkLayer_BLE_Full_lib.a" and "stm32wba_ble_stack_full.a" are missing in the middleware. Thanks for the
Hii have issue with my nucleo -n657x0-q board, i couldn't connect to it neither ST-LINK or UART the Boot0,Boot1 jumpers are 1,0 respectively. Any idea?
I'm using a NUCLEO-H755ZI-Q board. I tried to read following address.TEMPSENSOR_CAL1_ADDR (0x1FF1E820UL)TEMPSENSOR_CAL2_ADDR (0x1FF1E840UL)But I can't. it causes HardFault interrupt.I also tried to read the area from Debugger.Debugger said Failed to execute MI command:-data-evaluate-expression *((short*)0x1FF1E820)Error message from debugger back end:Cannot access memory at address 0x1ff1e820 But it is possible from Cortex-M7. I tried other System Memory area, But I can't.I think Cortex-M4 cannot access System memory area without special sequence.How do I access the area form Cortex-M4? Someone, please help me.
Hi, I'm using STM32L0 MCU, My system uses MSI as the main system clock, but my USART is to use HSI to be able to wake up from stop mode. My system will enter stop mode for power saving. I am confused about the settings, before enter stop mode, we have to set system clock after STOP mode using HAL API: __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_MSI); // Set system clock as MSI after stop __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_HSI); // Set system clock as HSI after stop so that USART able to wake up the MCU void PreSleepProcessing(uint32_t *ulExpectedIdleTime) { *ulExpectedIdleTime = 0; // WFI is called within next function #ifdef TEST_LP_MODE HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, 0); #endif if (g_diableStopModeFlags == 0) { while(__HAL_UART_GET_FLAG(&huart1, USART_ISR_BUSY) == SET); // Make sure that no UART transfer is on-going while(__HAL_UART_GET_FLAG(&huart1, USART_ISR_REACK) == RESET); // Make sure that UART is ready to receive
We need some help with cable replacement feature. Our project using WB1M as a client device, sharing data over UART. Android application must be server. STBLESensor_Android source code not include any sample code with Cable replacement feature. Were we can get one?
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.