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
(STM32L476RG+X-NUCLEO-NFC07A) I use Android ST25 (ST25AndroidApp-V3.12.2) to communicate with NFC7(STM32L476RG) by FTM.Click FTM demos of Menu ST25DV Demostrations on Android ST25 APP, and click Send data to tag, 1000 bytes by default, the Transmission/Reception success with showd 1000/1000 bytes as showed in image below:but the show exception "Command failed" from mDataReceived = mFtmCommands.sendCmdAndWaitForCompletion(...)of source_ST25AndroidApp-V3.12.2\app\src\main\java\com\st\st25nfc\type5\st25dv\ST25DVFtmDemoActivity.javathe frimware is built bySTMicroelectronics\ST25NFC_Embedded_Lib_ST25R3911B_1.8.0\Projects\STM32L476RG-Nucleo\Applications\X-NUCLEO-NFC07A1\FTM\STM32CubeIDEand the uart console shows successAfter build and run (with ST25FTM_ENABLE_LOG enabled), the uart log as below---------------------------------------- *****Welcome to x-cube-nfc7 example***** ---------------------------------------- 10988: RxState = ST25FTM_RX_INIT_RECEPTION 10992: F
Hello, I just started in stm32 system, I want to ask for stm32N6 series can use other camera module? such as camera product from Arducam where the product is made for raspberrypi systemwhich uses CSI-2 interface, here product link : https://www.arducam.com/product/64mp-quad-camera-kit/Thankyou
I've reported a STM32CubeMX bug, but I am afraid that there is no one to look at it. Is there any better place to report bugs/issues? Things I've reported are quite a blocker for me and I really need to know if there is anyone working on it, or I'll have to find a workaround.Thanks.
Hi All, I have been using SPI1 over DMA2 on Zephyr RTOS recently to read my external flash. I had done similar thing on Bare metal / FreeRTOS based program. Both of them work fine. However, there is a problem in Zephyr based implementation of its driver compared with what i developed on Bare Metal. I configure the SPI1 to use its full possible clock 42MHz on both platforms. On my bare metal platform it runs at full 42Mbps but on Zephyr it starts giving read errors. However, if i reduce the clock to < 42MHz (to which zephyr driver forcelly rounds it down to 21MHz) it works fine.Here is my dts node of spi1 for my development board: &spi1 { pinctrl-0 = <&spi1_sck_pb3 &spi1_miso_pb4 &spi1_mosi_pb5>; pinctrl-names = "default"; clock-frequency = <42000000>; // 42MHz dmas = <&dma2 2 3 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_MEM_INC | STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_1_4>, <&dma2 3 3 (STM32_DMA_MEMORY_TO_PERIPH | STM32_DMA_M
The main website states:"STM32CubeIDE integrates STM32 configuration and project creation functionalities from STM32CubeMX to offer all-in-one tool experience and save installation and development time. "https://www.st.com/en/development-tools/stm32cubeide.html However, @Aimen1 writes here:"STM32CubeIDE is now independent from STM32CubeMX."https://community.st.com/t5/stm32cubeide-mcus/stm32cubeide-2-0-0-released/td-p/857110 This caused us some useless troubleshooting trying to see why the installation didn't contain everything that was expected.Perhaps the main website can be updated, and/or a notice can be added in the CubeIDE that it will no longer generate the .ioc files for projects.
Hey, I am running into issues with a custom PCB based on STM32H743IIT6.Using IS42S32400J-6TLI as SDRAM, with an LCD screen. Using TouchGFX and DMA2D deactivated.A hard fault is encountered after entering Model:Tick()Hard Fault Error Detected at: Debug stack view: LTDC:SDRAM - only 16 data bits used:TouchGFX: MCU: Any suggestions what could be causing this Hard Fault error?
I am using below component toolsMCU: STM32H750IBT6IDE: STM32CubeIDE Version: 1.20.0GUI: TouchGFX Version: 4.26.0SDRAM: IS42S32400J-6TLIFLASH: MT25QL512ABB8ESF-0SIT (QUADSPI) I have made my own external loader that proves works for the QUADSPI IC using this video: https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-moocs/external_QSPI_loader.html Thank you in advance!
Hey,I am using STM32H750IBT6 with MT25QL512ABB8ESF-0SIT QSPI flash IC for external memory and IS42S32400J-6TLI as SDRAM, on a custom PCB with an LCD screen. Using TouchGFX.QSPI pinout is as follows:I've edited the FLASH_Id script - added as a .c file as an attachment.I would prefer to not use a bootloader, but if that is the only way or quickest way to get this working then please let me know. I have looked at using external loaders but as the pin out of my QSPI is slight different, external loaders will not be compatible. My code compiles but it does not flash: Under 'ASSETS_FLASH', ExtFlashSection does appear as expected after loading images onto TouchGFX. If you have any suggestions why I can not flash the external QSPI flash IC, please let me know. Additionally, within STM32CubeProgrammer I can connect to the MCU. I can successfully mass erase the flash too. Thank you for any assistance in advance!
I am running into issues with a custom PCB based on STM32H743IIT6.Using MT25QL512ABB8ESF-0SIT QSPI flash IC for external memory and IS42S32400J-6TLI as SDRAM, with an LCD screen. Using TouchGFX. I am getting this error. Any ideas what could be causing it? Thank you in advance!
Hi, I followed the guide at the following link:https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502and I've run an example gently posted here that is similar (the link was posted on the comments of the guide):https://github.com/YousefDessouki/STM32_N6_NuceloBoardwithNPU.gitWhen I run the model posted on github on my Nucleo it's all fine and it will print output results on PuTTY console.However, when I try to change the neural network with one of those used for speech enhancement posted at the following link:https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/speech_enhancement/stft_tcnn/ST_pretrainedmodel_public_dataset/valentini/stft_tcnn_medium_sigmoid_257xsl_float.onnx https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/speech_enhancement/stft_tcnn/ST_pretrainedmodel_public_dataset/valentini/stft_tcnn_medium_sigmoid_257xsl_qdq_int8.onnx(I need to run a speech enhancement model for a project
I'm trying to establish communication with FDCAN and view the signal via PCan View, but nothing appears on the screen. There are no errors in the connections. These are the codes: /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2026 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 ---------------------------------------------------------
CubeMX does not generate sourcecode completely for the chosen STM32H723.Even for a minimum System, several CMSIS includes are not present.Please see my IOC file.CubeMX Version 6.16.1CubeIDE Version 2.0Firmware STM32Cube_FW_H7_V1.12.0 gepatched to 1.12.1A similar file which includes LwIP also has many LwIP files not included.Please help ....
Hi all,I am currently trying to merge the STM32N6 VENC_SDCARD Project with my Codebase that is based on the STM32 Modelzoo Object Detection (https://github.com/AlexGraefe/STM32N6CameraEvaluation). However, naively copy-pasting the code does not work. For most resolutions, the generated h264 streams are wrong and for the others, the code crashes at weird places e.g., when leaving a function. As the only difference between my code and the VENC_SDCARD example is the linker script, I was wondering if wrong memory allocations might be the reason for this. The heap in the object detection example is placed on AXISRAM1, which might too small. However, I am unable to place the heap onto other parts of the RAM (internal or external), without the program crashing directly upon startup.Copying the linker script provided by VENC_SDCARD also does not work as then, I run into compilation errors stating the code uses too much RAM (as buffers for images are placed in different regions).Moreover,
I use STM32F407 with internal PHY What external elements need I for connecting USB flash to MCU?
I am experiencing a segmentation fault when clicking a toggle button inside a ScrollList container.I have a ScrollList (alarmsSelector) populated with a custom container type called alarmsItem. Each alarmsItem contains a toggle button. When clicked, the button should invoke a callback defined in the parent view (alarmSettingsView).The callback is initialized in the view constructor as a member variable:alarmSettingsView::alarmSettingsView(): settingsChanged(false), saveAlarmsChangesOption(SAVE_ALARMS_CHANGES), alarmsItemAlarmSelectedCallback(this, &alarmSettingsView::alarmsItemAlarmSelectedCallbackHandler) { }In the view// alarmSettingsView.hpp protected: touchgfx::Callback<alarmSettingsView, const int8_t> alarmsItemAlarmSelectedCallback; void alarmsItemAlarmSelectedCallbackHandler(const int8_t itemIndex);The callback is assigned to each visible item inside ScrollUpdateItem:void alarmSettingsView::alarmsSelectorScrollUpdateItem(alarmsItem& item, int16_t itemIndex) {
Starting from the release in November 2025, STM32CubeIDE and STM32CubeMX will be available exclusively in their standalone versions. STM32CubeMX will no longer be integrated inside STM32CubeIDE. Instead, the two tools will be interoperable in the same way as with IAR EWARM, Keil MDK-ARM, and STM32Cube for VS Code. The current integration of these two tools may seem compelling in the early prototyping phases of a project. But the integration leads to heavy/poor performance, stability issues across OSes and monolithic updates. It is time for STM32CubeIDE to go back to its roots and focus on Edit / Compile / debug. What the STM32CubeIDE (2.0) evolution will bring to you: Greater flexibility in code development thanks to purpose-built, standalone tools. Updateability: Offering the possibility to use any version of STM32CubeIDE with any version of STM32CubeMX. Separating STM32CubeMX and STM32CubeIDE a
HiCan anyone please show me an example of a working USB CDC Host sending the SetControlLineState command? This hasn't been implemented in the STM32 HAL drivers/middleware but it should be a simple thing to add.SetControlLineState is used to signal the Host is ready to receive data from the CDC device. I tried adding and calling my own routine after the USB enumeration completes:USBH_StatusTypeDef USBH_CDC_SetControlLineState(USBH_HandleTypeDef *phost) { phost->Control.setup.b.bmRequestType = USB_H2D | USB_REQ_TYPE_CLASS | USB_REQ_RECIPIENT_INTERFACE; phost->Control.setup.b.bRequest = CDC_SET_CONTROL_LINE_STATE; phost->Control.setup.b.wValue.w = 3U; phost->Control.setup.b.wIndex.w = 2; phost->Control.setup.b.wLength.w = 0; return USBH_CtlReq(phost, 0, 0); }The transmitted data appears to be correctly formed but the phost->RequestState appears to get stuck on CMD_WAIT expecting a reply from the device which I understand is not part of the CDC proto
Hi, I've installed TouchGFX designer 4.26.0 on my laptop and i see a difference in behaviour to the previous versions.The problem is that we want to update our IAR project ewp file as we change or add new items in our designer. However we have issues when we do. At the moment our designer makes the following change<option> <name>IlinkAdditionalLibs</name> <state>$PROJ_DIR$\psi_board_lib.a</state> <state>$PROJ_DIR$/../../lib/touchGFX/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a</state> </option>changes to <option> <name>IlinkAdditionalLibs</name> <state>$PROJ_DIR$\psi_board_lib.a</state> <state>$PROJ_DIR$/../../touchgfx/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a</state> </option>That would not be a problem if the new folder "$PROJ_DIR$/../../touchgfx/touchgfx/lib/core/" was not empty after every build.I've tried to set the files back into that folder but every tou
TFT-LCD driver:void touchgfxDisplayDriverTransmitBlock(const uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h) { static uint16_t old_x0=0xFFFF, old_x1=0xFFFF, old_y0=0xFFFF, old_y1=0xFFFF; IsTransmittingBlock_ = 1; uint16_t x1 = x + w - 1; uint16_t y1 = y + h - 1; // Set columns, if changed if (x != old_x0 || x1 != old_x1) { parameter[0] = (x >> 8) & 0xFF; parameter[1] = x & 0xFF; parameter[2] = (x1 >> 8) & 0xFF; parameter[3] = x1 & 0xFF; send_cmd(DCS_SET_COLUMN_ADDRESS, parameter, 4); old_x0 = x; old_x1 = x1; } // Set rows, if changed if (y != old_y0 || y1 != old_y1) { parameter[0] = (y >> 8) & 0xFF; parameter[1] = y & 0xFF; parameter[2] = (y1 >> 8) & 0xFF; parameter[3] = y1 & 0xFF; send_cmd(DCS_SET_PAGE_ADDRESS, parameter, 4); old_y0 = y; old_y1 = y1; } send_cmd(DCS_WRITE_MEMORY_START, NULL, 0); send_data((uint16_t*)pixels, w * h); } int touchgfxDisplayDriverTransmitActive(void)
Hi, I am trying to transition from cubeIDE to the VSCode workflow, and am having trouble getting intellisense working. I'm relatively inexperienced with this (I appreciate that cubeIDE 'just worked' in this regard, and I never had to deal with figuring out how to configure this). I've tried starting from a relatively vanilla state - I only install the STM32CubeIDE VSCode extension pack. I *think* I need to also install the C/C++ extension from MS in order to get/enable intellisense for developing stm32 projects (?)Within my project, some things seem to work - I can right-click on some functions and see/jump to definitions. In other cases, I see errors about undeclared variables/defines/macros or other miscellaneous "problems", none of which the compiler actually complains about. I'm confused why this seems spotty within the project. Then, I have an out-of-project shared code area. I've set this up relatively simply (there are no "library" CMakeLists.txt files in this area, ju
Post Edited by ST moderator to apply source code formatting to comply with the community rule: I wonder if any one can help me.The rtc Cal freq produced by the init code below produces on 490Hz. The RTC clock is loosing about 55 sec in 20 minutes.Is there a way to increase this freq without replacing the crystal? static void MX_RTC_Init(void) { /* USER CODE BEGIN RTC_Init 0 */ /* USER CODE END RTC_Init 0 */ RTC_TimeTypeDef sTime = {0}; RTC_DateTypeDef sDate = {0}; /* USER CODE BEGIN RTC_Init 1 */ /* USER CODE END RTC_Init 1 */ /** Initialize RTC Only */ hrtc.Instance = RTC; hrtc.Init.HourFormat = RTC_HOURFORMAT_24; hrtc.Init.AsynchPrediv = 127; hrtc.Init.SynchPrediv = 255; hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; if (HAL_RTC_Init(&hrtc) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN Check_RTC_BKUP */ /* USER CODE END Check_
Hello,I am back to working on testing a custom PCB with the ST25R3916B chip included on it! This custom hardware is setup for the differential antenna connection. The coil to be attached to this custom PCB is different than the one included on the eval board for the ST25R3916B chip. The pads for the matching components are all included but the components still need to be calculated for the coil. I have access to a VNA and can follow the procedure for matching... Regarding the matching component calculations...I have reviewed the AN5276 application note and have some questions &/or statements to confirm. In general I don't fully understand the "target impedance" to match antenna to. For my application I'm trying to maximize power transfer through a wire wound TX coil. Under section 3.2 in AN5276..."The impedance matching is the most important factor to determine the power consumption...higher target matching impedance less power is
Hi,I am using Nucleo-L476RG. My I want to send data over SPI every 20000ms and during this 20000ms MCU will goes in sleep/standby mode. I want to keep track time of last 2 SPI data transmission.But the issue is HAL_GetTick() reset after waking up from standby mode. so not able to track the time between last two data transfer.
Hi, I am looking to use AEK-POW-BMSWTX battery management system for EV related battery management experiments. Please let me know if I can use AEK-POW-BMSWTX with STM32 microcontroller boards. Also please let me know if any other boards are required to perform experiments with AEK-POW-BMSWTX. Thanks and regards
1. Run StmCubeMX and then chose upgrade in Ubuntu2. After download it error with something alike it cannot unzip the file. Reason:1. it seems CubeMx uses the .installationinformation hidden file in its folder to find the installation folder.INSTALL_PATHt\00$.....<your patch>/STM32CubeMXt\These are settings in a binary format, so there are some weird character. Anyhow it cannot be changed by user.Solutions:1. Move CubeMX back to where is was installed (not desired) after upgrade, move it back where it is desired.2. Remove and Reinstall CubeMX Suggested fix:1. Make CubeMx upgrade process install folder agnostic.
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.