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 have been using the hrtim hardware on a prototype board with STM32G474RE and have noticed what might be a possible regression in CubeMX. Purpose:We are a group of students currently trying to develop FOC from scratch for controlling a BLDC-motor, this is a part of a bachelors thesis. As a part of developing the FOC we decided to use six-step commutation to start the motor before the FOC takes over. During the part of developing the commutation we have notice some strange behaviour between cubeMX versions.The problem:We are experiencing signal inversion with V6.17.0 of cubeMX with the exact same files pulled from the git repo. Either the migration fails for some reason or there is some sort of regression when it comes to the the configuration in CubeMX.6.16.1:HRTIM1 with slave-timers A,B,E are configured to output 6 PWM-signals with dead time configuration and complementary mode for CH2 of each timer.The output on the logic analyzer is as expected. It shows a duty cycle of
Hello all,We are bringing up DDR4 memory on a custom STM32MP257D-based SOM. We have made significant progress but are now blocked on a specific PHY training failure that we cannot diagnose without access to the Synopsys PHY firmware streaming message documentation. We would appreciate any help interpreting the failure and identifying the root cause.Board OverviewSoC: STM32MP257DAK3 (VFBGA424)DRAM: 2× Alliance AS4C512M16D4A-62BIN (DDR4-3200, 8 Gbit × 16, 1.2V, VPP 2.5V)Topology: 32-bit bus, 2 GB total, single rank, soldered downPMIC: STPMIC25APQR (I²C7)Reference HSE: 40 MHz crystalTool chain: STM32CubeMX 6.16.1, STM32CubeIDE 2.0.0, STM32DDRFW-UTIL, STM32CubeProgrammer 2.22Bring-up StatusWe are using STM32DDRFW-UTIL with verbose PHY messaging enabled (hdtctrl = 0x05, custom g_waitfwdone.c patched to decode major messages and dump streaming messages).Power Rails (all verified by HW measurement)VDD_DDR: 1.20 V :white_heavy_check_mark:VTT_DDR: 0.60 V :white_heavy_check_mark:VREF_DDR: 0.60 V
I am trying to use the LIS2DUX12 on the STEVAL- MKI109D and use MEMS studio to merge a MLC config I developed and an example FSM config. I have the merged file, but how do I run/test the config onto the board and see if it works?
Hi All, In my application, I am using the STM32L451RCT6 and trying to configure COMP2 with the internal Vref as a reference (specifically 3/4 Vref). For some reason, it never worked. I was only able to get it working when using DAC_CH1 or an external source as the reference. After a few days of troubleshooting and research, I finally found a relevant block diagram along with an important note in the reference manual (page 532). The thing is, there are no mentions or explanations of this behavior in the reference manual, datasheet, or errata other than this. Could you confirm whether the STM32L45x series actually supports using the internal Vref as a comparator reference or am I facing some other issue here? Thank you!
I am using the Analog Devices EVAL-ADE9430 Evaluation board for testing one of their devices. The Evaluation board uses the NUCLEO-144 STM32F413ZH processor. I am using the Keil uVision development setup to run and debug code. I am specifically concentrating on the SPI Bus Driver and the timing. I have no previous experience with STM Devices and how the SPI transfers happen in the processor. so I apologize a head of time. The Analog Devices ADE9430 uses a a 16-bit CRC (CRC-16-CCITT) and from what I originally read the STM32F413ZH processor supports 32-Bit CRC (CRC-32-CCITT). Diving deeper into the NUCLEO-144 STM32F413ZH processor manual section "29.4.2 CRC calculation" indicates "The SPI offers CRC8 or CRC16 calculation depending on the data format selected through the DFF bit." When the DFF bit (SPI_CR1 bit 11) is 0 it uses CRC8, when the DFF bit is '1' it uses CRC16.https://www.st.com/resource/en/reference_manual/rm0430-s
Hello,I have been trying for some time now to connect a Raspberry Pi 7" screen to my STM32MP157F development kit, as the screen that comes with it is too small for my purposes. I do not have a large amount of experience with embedded systems or working at the Linux kernel level. I have been referencing the display wiki page, however I have not been able to get the screen to output anything, only for the backlight to turn on. I have been plugging in the 15 pin connector into the 20 pin CN4 port on the board, which is stated to work on the wiki. I have seen this adapter referenced online, but I would rather not have to order it if not necessary as I am on a time crunch. I have tried many different device tree configurations, in addition to the example given on the wiki. I am at a loss here, and would greatly appreciate any guidance. Below is snippet from my device tree, which I have modified from the wiki. &dsi { status = "okay"; ports { port@0 { reg = &
Hello, Can someone pls help me fill this information out for STM32H753VIH6? Thank you. Model NameCheck Group1 (注1)2 (注2)3 (注3)4 (注5)Ministerial Ordinance Article Number第6条第一号イ第6条第一号ロ第6条第一号ハCheck ItemsPresence or Absence of Radiation-Hardened DesignDesign IntentRated Operating Temperature Range (°C) Whether or not compound semiconductors are used (Note 4)Maximum Clock Frequency (Note 4) (MHz) Determination Criteria(i) Total Ionizing Dose: (Applicable) ≧ 5x10³ Gray (Si)(ii) Dose Rate: (Applicable) ≧ 5x10⁶ Gray (Si)/s(iii) Neutron Flux (1 MeV equivalent): (Applicable) ≧ 5x10¹³ (particles/cm²)Is it designed for civil automobiles or railway vehicles?(i) (Applicable) > 125°C(ii) (Applicable) < -55°C(iii) (Applicable) = -55 to 125°C(Applicable) = Formed from compound semiconductors(Applicable) > 40(Filling Example) ABCxxxxx-No0~85(Compound)30STM32H753VIH6 &nbs
I am having difficulties with initializing a SD Card.I am making use of the generated code to initialize the card:void MX_SDMMC1_SD_Init(void) I measured with a scope and I am getting 400KHz clock. All the pull-up resistors are correct and voltage is correct.Within the SD_PowerON() function, the function to send the MD8: SEND_IF_COND is called, but I get no response from the card. HAL Error Return is timeout.I tried a differ SD Card as well.Any suggestions where to start checking for potential issues?static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) { __IO uint32_t count = 0U; uint32_t response = 0U; uint32_t validvoltage = 0U; uint32_t errorstate =0U; #if (USE_SD_TRANSCEIVER != 0U) uint32_t tickstart = HAL_GetTick(); #endif /* USE_SD_TRANSCEIVER */ /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); if (errorstate != HAL_SD_ERROR_NONE) { return errorstate; } /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ err
Hello,the STM32G474RBTx CubeMX Clock Configuration ADC1_2 and ADC3_4_5 are swapped - the ADC1_2 Mux is actually referring to the ADC3_4_5 Mux, at least when it comes to the subsequent divider options in the respective ADC configurations.Setting ADC12 Mux to PLLP with e.g. 48.57 MHz allows me to put ADC3_4_5 into ASYNC_DIV_1, whereas the ADC3_4_5 Clock Mux is set to SYSCLK with 170MHz. ADC12 cannot use ASYNC_DIV_1 or 2, even though they should be able to.It also happens the other way around.I am using CubeMX 6.17.0 with the G4 package version 1.6.3
I am trying to debug AI application via FSBL (generated itself in STM32cube AI studio) , I have attached the debugger settings and Problem hereby. I had added some printf statements also in between , whose Teraterm output I have attached.Kindly help. RegardsChanchal
Hello,I am testing FP-SNS-BLEMESH1 on two STEVAL-MKBOXPROA boards.Setup:Board: STEVAL-MKBOXPRO AFirmware: BlueNRG-Mesh Sensor Demo v2.1.3Library: BlueNRG-Mesh Library v01.14.000Bearer: PB-ADVOne board configured as Embedded ProvisionerOne board configured as Sensor Node (unprovisioned device)Issue #1 – Embedded Provisioner cannot discover unprovisioned nodeThe provisioner starts scanning correctly, but no unprovisioned device is found.At scan step, the console reports that no unprovisioned device is nearby, even when the second board is physically next to the provisioner.The sensor node logs show:DIAG: PB_ADV_SUPPORTED=1 PB_GATT_SUPPORTED=1 BEARER_INFO=3 Unprovisioned device BlueNRG-Mesh Sensor Demo v2.1.3 BlueNRG-Mesh Library v01.14.000 BLE Stack Initialized & Device ConfiguredSo the node appears to advertise correctly as unprovisioned.Issue #2 – ST BLE Mesh mobile app crashes/stops after provisioningSince Embedded Provisioner could not discover the node, I switched to the ST B
I use STM32CubeIDE on Linux Ubuntu (and to a lesser extent on MacOS and Windows, but I don't recall having a problem on the last 2 operating systems). About once or twice a day, at random, several of the keys such as <backspace> and <enter> and <delete> stop working. All the alphabetical and number keys work as normal. If I switch to a different application all the keys are working, but when I switch back to Cube the problem continues.I solve the problem by saving my work, shutting and relaunching Cube. Is this a bug in the application?
Hello, ich set up my project with CubeMX for a CAN-FD (1 MBit/s / 4,8 MBit/s) and a Display for communication. Now i have the problem, that the SCK Signal for the communication looks more like a sawtooth signal than a rectangle. Also the SPI-Prescaler for the baud rate does not affect this signal. i am really confused. I need to use the 48 MHz HSE for my 4,8 MBit/s data phase for CAN-FD. I use an NUCLEO-C092RC and a LCD Display with ILI9341 (library from Mauro De Vecchi) Thanks for the help
Hello everyone,I'm using the stm32G0 USB Host with firmware package V1.6.3.There is an issue with H2D control transfers, where the USB Host stack send a second OUT packet before sending an IN packet on the last packet.I wrote a usb dfu host class that uses USBH_CtlReq.From this picture on the left we can see the PC sending a DNLOAD packet to the stm32h7, first the OUT packet followed by an IN packet.On the right we can see the stm32G0 host sending an OUT packet followed by another OUT packet, before sending an IN packet. The device here is the stm32f4, which for some odd reason allows this (every single stm I tried allows this except h7, tested stm: F4, F7, G0, H5, L5). So my update actually works on every single stm except on the stm32h7.But in the middle picture, the host is still stm32G0, but the device is an stm32h7, which after receiving the second OUT packets NAK's it.From the picture, I would say that the stm32h7 is in the right here. It see that it got an OUT packet, which
I get this issue in the booting process of Linux. Then nothing else happens, except outputs from Optee. F/TC:? 0 pta_scmi_ocall:207 Posting MSG message on channel 0 root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or F/TC:? 0 regulator_set_voltage:202 vddcpu 800000uV does not contain a /dev. Question:I assume that this is a common issue for the MP2 platform. Is there anyway I could fix this? Extlinux.conf perhaps? I have the same clock settings as DK.See attached file.
Hello. Please check if there are any issues with the settings as shown below. PB4 : SPI1_miso PB3 : SPI1_sck PD6 : SPI1_mosi Thank you.
Hello,I have a custom board based on the STM32U5A5 microcontroller. I am trying to run a fingerprint reader sensor over USB on this board. For this project, I am using USBX Azure RTOS.The configurations I made on the CubeMX side are as follows:High Speed Clock: Crystal/Ceramic ResonatorLPUART1 for UART communication:Mode: AsynchronousBaudrate: 115200 Bits/sPB10 -> LPUART1_RXPB11 -> LPUART1_TXUSB_OTG_HS Mode and Configuration:Internal HS PHY -> Host OnlyPA11 -> USB_OTG_HS_DMPA12 -> USB_OTG_HS_DPActive_VBUS -> DisableNVIC Settings -> USB OTG HS Global Interrupt: EnabledPA9 GPIO Output enabled for USB power (I verified that the device is powered correctly.)THREADX Mode and Configuration:Core: EnabledUSBX:Core System -> EnabledUX Host HS -> Host CoreStack HS: EnabledHost Controllers HS: EnabledHID:Core: EnabledKeyboard: EnabledMouse: EnabledClock Configuration:OTG HS Clock Mux: PLL1P enabled and set to 24 MHz (I also tried 16 MHz)Project Manager:Toolchain: STM32C
Hi everyone. I have a problem with my U5A5ZJ-Q core board. The mounted microcontroller is STM32U5A5ZJT6QU. The project is to drive a QUECTEL em05 LTE modem. I need to configure the USB port exposed by PA11 and PA12 in Host mode. I am using the standard Host libraries in Middlewares and also the files in the USB_Host folder. I am trying to configure everything without success. I can't find exact written procedures to do this. Has anyone had problems? Has anyone tried? The problem is with the initialization of the USB Host port. It remains in reset mode and the CSRST bit never returns to 0. Below is a portion of the serial log that I printed on the monitor. " [CLK] Enabling HSI48...<CR><LF>[CLK] HSI48 RDY=1<CR><LF>[CLK] CLK48 <- HSI48 (via __HAL_RCC_CLK48_CONFIG)<CR><LF>[USBH] Init...<CR><LF>[LL] USBH_LL_Init (FS)<CR><LF>[HCD] Enter HAL_HCD_Init<CR><LF>[MSP] AFRH(GPIOA)=0x000AA770 AF_PA11=10 AF_PA12=10<CR>&l
Original post: https://community.st.com/t5/stm32-mcus-products/stm32h7-flash-crc/td-p/887279 Github: https://github.com/STMicroelectronics/stm32h7xx-hal-driver/blob/1501be883dae6f202c1d3f856ee6b11407dc257d/Src/stm32h7xx_hal_flash_ex.c#L733 HAL_StatusTypeDef HAL_FLASHEx_ComputeCRC(FLASH_CRCInitTypeDef *pCRCInit, uint32_t *CRC_Result) { ... ... FLASH->CRCCR1 |= FLASH_CRCCR_CLEAN_CRC | pCRCInit->BurstSize | pCRCInit->TypeCRC; ... ... }|= will not program the expected burst size if the reset value is not b00. It looks like on reset the value is b01 (16 flash words). So if user try to set to burst size of 4 flash words (b00) it'll remain set to b01.
The only documentation on the Product Page is the Data Brief - which is extremely brief!This marketing presentation gives overall dimensions (even those aren't in the Data Brief):It tells us that it "can be soldered or plugged on a host board" - but there's no pinout or footprint details.
Hi all,I have a board designed around the STM32MP153FAD (TFBGA257, 10×10 mm, 0.5/0.65 mm pitch, 257 balls). Since the MP153 does not include a DSI controller or GPU, I did not connect any DSI-related power pins or signals. Due to stock shortages, I am now considering switching to the STM32MP157FAD, which shares the same TFBGA257 footprint.My question is: can the STM32MP157FAD be used on this board without connecting the DSI-specific power rails?The DSI power pins that exist on the MP157 but were not populated on my design are:VDD_DSI — DSI I/O supplyVDD1V2_DSI_REG — output of internal 1.2 V DSI regulatorVDD1V2_DSI_PHY — 1.2 V supply for DSI PHYVDDA1V8_DSI — 1.8 V analog supply for DSIMy concern is whether the MP157 will operate correctly (for non-DSI use cases) if these pins receive no supply. (Unused pins are floating right now, is that correct or should I connect it to GND)I have attached my current schematic for reference.Any guidance would be appreciated.Best regardsRegards
I'm using STM32CubeMX 6.17.0 with NUCLEO-U575ZI-Q, it generated the following code:/* Initialize COM1 port (115200, 8 bits (7-bit data + 1 stop bit), no parity */ BspCOMInit.BaudRate = 115200; BspCOMInit.WordLength = COM_WORDLENGTH_8B; BspCOMInit.StopBits = COM_STOPBITS_1; BspCOMInit.Parity = COM_PARITY_NONE; BspCOMInit.HwFlowCtl = COM_HWCONTROL_NONE;The comment is wrong, the UART has 8 bits of data instead of 7 bits.
Hello,When I try to import the sample project “OEMiROT_Boot”, I get exit code 255. Error:2026-05-20 15:46:46.511 [Error] [ide-project-convert] ENOENT: no such file or directory, copyfile 'C:\Users\devst\STM32Cube\Repository\STM32Cube_FW_H7RS_V1.3.0\Projects\NUCLEO-H7S3L8\Applications\ROT\OEMiROT_Boot\STM32CubeIDE\utput.ld' -> 'd:\Projekte\Test\test\NUCLEO-H7S3L8_OEMiROT_Boot\utput.ld'2026-05-20 15:46:46.567 [Error] [ide-project-convert]: Project conversion failed with exit code: 255.It must also be possible to convert projects with multiple contexts and multi-core support, This must be made a priority
I am running the Analog Devices EVAL-ADE9430 board and noticed if I enable CRC checking reading 32 bit registers fail while 16-bit registers always pass. I trace it down to the AFERead16BitBuffer() function not returning a status after reading the register over the SPI bus. This allows 16 bit register reads to work all the time while 32 Bit registers fail all the time (that's another story). See line 12 below: HAL_SPI_Receive(&hSPI, (uint8_t *)&pData[0], 2 * numSamples, SPI_TIMEOUT); uint32_t AFERead16BitBuffer(uint16_t addr, uint16_t numSamples, uint16_t *pData) { int32_t status = SYS_STATUS_SUCCESS; cmdBuffer[0] = (addr >> 4); cmdBuffer[1] = ((addr & 0x0F) << 4) + 8; HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_RESET); status = HAL_SPI_Transmit(&hSPI, (uint8_t *)&cmdBuffer, 2, SPI_TIMEOUT); if (status == 0) { HAL_SPI_Receive(&hSPI, (uint8_t *)&pData[0], 2 * numSamples, SPI_TIMEOUT); } HAL_GPI
STM32N6 Nucleo boardCubeMX V6.17.0CubeIDE V 2.2.1Hi,First of all, disclaimer: I don't know the toolset or the STM32N6 very well, so I'm trying to get up to speed. There are some really good tutorials posted here which have helped me greatly, but I can't find a really good description of how to debug a FSBL_RUNL application on the N6. Given that some of the initialisation is performed by the FSBL, I wanted to download both FSBL and Appli in a single debug session, set breakpoints in both and run through FSBL into Appli. I can do it, but it currently consists of a hack:When 'DEBUG' is defined, extern 'BOOTStatus_TypeDef JumpToApplication(void);' in my FSBL 'main()' and call it instead of 'BOOT_Application()'. It works as long as the Destination Address is set to base address 0x24000000 in CubeMX, otherwise, the vector table address is incorrect (Not sure why the Unsecured Alias is used?) and any checks on Flash are turned off. It is a hack because 'JumpToApplication()' clearly isn'
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.