Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi,I am working on STM32G474CET mcu. I am trying to use VREFBUFF voltage for ADC channel referance voltage. My configuration looks like the following. When i run the code, it stuck in the HAL_SYSCFG_EnableVREFBUF function. Whenever i check the 'tickstart' variable it remains 0. /** * @brief Enable the Internal Voltage Reference buffer (VREFBUF). * @retval HAL_OK/HAL_TIMEOUT */ HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void) { uint32_t tickstart; SET_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR); /* Get Start Tick*/ tickstart = HAL_GetTick(); /* Wait for VRR bit */ while (READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRR) == 0x00U) { if ((HAL_GetTick() - tickstart) > VREFBUF_TIMEOUT_VALUE) { return HAL_TIMEOUT; } } return HAL_OK; } When i try the same configuration on empty project, it worked fine. So i can see its not about hardware. What am i missing?
I'm having trouble creating multiple screens, at the moment it has more than 5 screens and they all work fine with the code (void FrontendApplicationBase::gotoMainScreenNoTransition() ) but when I try to add another screen, TouchGFX doesn't generate the Transition declaration code for the screen new screen but and does not declare this in the FrontendApplicationBase.cpp class: Instead, for all other screens, it generates the following: void FrontendApplicationBase::gotoMainScreenNoTransition() { transitionCallback = touchgfx::Callback(this, & FrontendApplication::gotoMainScreenNoTransitionImpl); pendingScreenTransitionCallback = &transitionCallback; } And the FrontendApplicationBase.hpp doesn't have a void gotoScreen1ScreenNoTransition();; Any ideas would be helpful. *This post has been translated from Chinese to comply with the ST Community guidelines.
Hello .. Anyone can kindly advise where to download STM32F446ZE nucleo board schematic diagram. thx.
Hello,I'm currently developing on the STM32H750-DK board using TouchGFX. By default, the TouchGFX Designer configures the display for RGB565 color depth, but I would like to use RGB888 (24-bit) color to achieve better image quality and color accuracy for my UI.I tried modifying the LTDC and DMA2D initialization functions manually via STM32CubeIDE to set the appropriate pixel formats, but the result was a distorted or corrupted display output. It seems like just changing the pixel format in the LTDC config isn't enough.Could someone please help me with the correct procedure to enable RGB888 on this board? Specifically, I'm looking for:Required changes in TouchGFX Designer or the generated code to support RGB888.Proper configuration of LTDC and DMA2D (e.g., pixel format, blending, buffer alignment).Any changes needed in the framebuffer settings or HAL display driver.If there’s an example project or reference implementation that demonstrates RGB888, that would be very helpful.Thanks in ad
Hello All,I got Classic CAN running on the FDCAN3 module of STM32G474CE device using MXCube and other example projects for STM32G474 devices.Problem is, all these example codes have a fixed baud rate of 1Mbps. My application requires thebaud rate be configurable. Until now, I have not been able to find any table / calculator on the internet that could calculate the bit timing register values for me, based on kernel clock and required baud rate etc... Does anyone here have any clue on this?
Hello,I am making a new project by importing the .ioc file of example code "Ux_Device_CDC_ACM" of STM32U5G-DK2. All the .c files of USB_stack are also copied from the example project. Both, example project and My project, look same. My project builds also successfully. But no COMM port is being formed after loading the project to STM32U5G-DK2 whereas, COMM port is being formed with Example project.What could be the reason ? Please help. With regard,Sudarshan Chaudhary
Hi ST Community, I am currently trying to evaluate if I can use EXTI GPIO IRQ handlers (function executed at USER BUTTON press) in combination with the STOP3 sleep mode.Firstly, I would like to request, if this is supported by the u5 CPU. Based on the reference manual, only a WKUP interrupt can wake up the CPU from STOP3 mode. So is the following scenario realizable?1) CPU configures EXTI GPIO (USER BUTTON) with IRQ handler/function2) CPU goes into STOP33) User presses USER BUTTON4) CPU leaks STOP3 (WKUP interrupt)5) CPU executes EXIT GPIO IRQ after wake up6) CPU goes pack to STOP3 and waits for next wake up7) <infinite loop from 2.> Or are the WKUP and EXTI GPIO interrupts exclusive? (only one can occur).---Unfortunately, it seems that this sample is not covered by the cube IDE samples.Or have I overlooked one? So I have looked at the sample GPIO_EXTI sample (https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/NUCLEO-U575ZI-Q/Examples/GP
Hi EveryOne, I have made a custom board with STM32H7B0 and W25Q128 . where W25Q128 has to hold the user application . I hoped that i can change OSPI in STM32H7B0 to a QSPI config and work with W25Q128 ( which will only work with SPI or Qspi) . I can't able to select QSPI config ( which is mentioned as it is already activated ) in Octal SPI parameters . i'm using firmware version :FW H7 1.12.1 since this is a personal one i can't change the W25Q128 to another OSPI supported flash memory IC. Is there any example or any other way to make W25Q128 (changing OSPI to single SPI or using any one SPI communication) as a external memory to hold user application for STM32H7B0.
Hi everyone,I am working on a project where I need to interface an external ULPI PHY (FUSB2805) with the STM32H745 for high-speed USB communication using USB CDC. This is my first time working with an external USB PHY, and I am facing some difficulties.My setup:MCU: STM32H745External PHY: FUSB2805 (connected via ULPI) with Type-C USB connectorIDE: STM32CubeIDEWhat I have done so far:In STM32CubeMX, I have selected the USB HS mode and configured it as CDC class.Under USB HS settings, I have selected external PHY.I followed the hardware design guidelines, and my schematic for connecting FUSB2805 to the STM32H745 as datasheet guidelines.The USB connection results in a "Unknown device: Descriptor request failed" message when connecting to a PC.Issues:--> The USB device is not recognized by the host (shows an error message: "Unknown device: Descriptor request failed").--> I'm unsure if there are any specific additional settings required for proper ULPI PHY communication, or if I have
Hi ST Team,I'm using the EVSPIN32F0601S3 development board and attempting to control a BLDC motor via Motor Control Workbench 6.3.0 and Motor Pilot 6.3.0.Everything connects successfully when I open Motor Pilot — the board is detected, and parameters are correctly loaded. However, as soon as I press the "Start" button to run the motor, Motor Pilot immediately disconnects from the board. There's no error message aside from the disconnect itself.What I've tried so far:Verified UART connection (using STLink onboard)Ensured the power supply to the board and motor is stableReflashed the firmware generated by WorkbenchTried different USB cables and portsRechecked motor parameters (voltage, current, sensor type, etc.)Environment:Motor Control Workbench & Motor Pilot 6.3.0EVSPIN32F0601S3 with STSPIN32F0601BLDC motor (sensorless)Windows 10It seems like the firmware crashes or resets when the motor is commanded to start, leading to a loss of communication with Motor Pilot.Has anyone else exp
I have a custom board with an STM32H730 and a LAN8710A PHY, operated in RMII mode. The board is a new design, based on an older board but with some differences (the older board has an STM32H750). My short-term goal is to prove out the hardware -- a response to a ping would be sufficient for this.I have no prior experience with the STM32 family. I set up a project with STM32CubeIDE, following the Ethernet video from ControllersTech. I'm at a point where the firmware initializes without error, and seems to correctly set up the PHY. But then I run into problems.With the board plugged into the building LAN and a scope connected to the RX lines of the PHY, I see activity on those signals. There is, however, no activity on the TX lines going from the processor back to the PHY. And of course there's no response to a ping.We're outputting a 50 MHz clock from MCO1, and feeding that into ETH_RMII_REF_CLK and into the PHY clock input. That sign
Sorry if this is extremely basic, as part of our program we had to install(?) RTOS on our boards to do some of the labs, but we had to reinstall ST-Link after. Now the board refuses to debug. I'm getting these logs:xPack Open On-Chip Debugger 0.12.0+dev-01850-geb6f2745b-dirty (2025-02-07-10:08)Licensed under GNU GPL v2For bug reports, readhttp://openocd.org/doc/doxygen/bugs.htmlDEPRECATED! use 'gdb port', not 'gdb_port'DEPRECATED! use 'telnet port', not 'telnet_port'DEPRECATED! use 'tcl port' not 'tcl_port'Info : auto-selecting first available session transport "dapdirect_swd". To override use 'transport select <transport>'.adapter speed: 100 kHzStarted by GNU MCU EclipseInfo : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connectionsInfo : STLINK V2J45M31 (API v2) VID:PID 0483:374BInfo : Target voltage: 3.217255Error: Unable to set adapter speedInfo : clock speed 100 kHzError: SRST errorInfo : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x
Hello,I'm working with the STM32N6570-DK board and trying to merge two example projects provided by ST:Project 1 (DCMIPP):https://github.com/STMicroelectronics/STM32CubeN6/tree/main/Projects/STM32N6570-DK/Applications/DCMIPP/DCMIPP_ContinuousMode Project 2 (USB CDC):https://github.com/STMicroelectronics/STM32CubeN6/tree/main/Projects/NUCLEO-N657X0-Q/Applications/USBX/Ux_Device_CDC_ACM While merging, I added the following files from Project 1(DCMIPP) into the Project 2(USB CDC) project in Keil: 1 . libn6-evision-awb_keil.a 2 . libn6-evision-st-ae_keil.aHowever, I’m encountering the following build issues:Build target 'Ux_Device_CDC_ACM'armclang: warning: ../../../../../../Middlewares/ST/STM32_ISP_Library/evision/Lib/libn6-evision-st-ae_keil.a: 'linker' input unused [-Wunused-command-line-argument]armclang: warning: argument unused during compilation: '-mfloat-abi=hard' [-Wunused-command-line-argument]armclang: warning: argument unused during compilation: '-mcmse
Hello,After loosing days trying to implement paho mqtt with lwip and freeRTOS on a nucleo-F207ZG, I restarted from scratch and try do implement it in bare-metal mode.After a few hour of debug, using wireshark and mosquitto on a PC :- Connecting to the broker as anonymous works- Connecting to the broker with user/pwd fails.Wireshark shows that there is no user/pwd on the CONNECT packet and the associated flags are reset.The official mqtt_client_connect() looks quite strange : it does not take care of the eventual user/pwd provided in argument (mqtt_connect_client_info_t *client_info)Flags are set to MQTT_CONNECT_FLAG_CLEAN_SESSION, and user/pwd are never used by this function. Is the provided MQTT file is just a demo file with limited functionalities ?Thank youRegards
以上就是我配置的所有内容。您能指出我的配置有任何问题吗?根据上述配置,我的设备现在在开机时无法在计算机的设备管理器中检测为 USB 设备。Edit: That's all I have configured. Can you point out any issues with my configuration? With the above configuration, my device is now not detected as a USB device in the computer's device manager at boot time.
Hi,I'm working on an STM32G491RE-based project where we need to configure 10 GPIO input pins as external interrupts. Each of these pins is on a different port and mapped to a unique EXTI line (EXTI0 to EXTI10), so there’s no conflict in EXTI line usage.Due to current hardware limitations, we're unable to physically test all these pins simultaneously. However, I’d like to know: is it valid and supported to configure and enable all 10 EXTI lines in the firmware?Thanks in advance!
Thanks.
Same: Target unknown error 32From the STMCubeIDESTM32CubeIDEVersion: 1.19.0Build: 25607_20250703_0907 (UTC)OS: Windows 11, v.10.0, x86_64 / win32Java vendor: Eclipse AdoptiumJava runtime version: 21.0.3+9-LTSJava version: 21.0.3Flashing a Nucleo N6Example Uart Console AppDid do the stlink firmware update, seemed to work.Flashing other boards works...
When I call the tx_event_flags_create() function, the code returns an error at the following line: else if (event_control_block_size != (sizeof(TX_EVENT_FLAGS_GROUP))) { /* Event flags group pointer is invalid, return appropriate error code. */ status = TX_GROUP_ERROR; }I'm not sure why this would be a problem since I only have one TX_EVENT_FLAGS_GROUP defined in my program as far as I can see and the size of the struct passed in should match. Is there anything I could possibly be missing here?
Hi, Is anybody use IAR with STM32H750B-DK board? I am new to STM32H750 and the discovery board. I am trying to run the FreeRTOS_ThreadCreation sample code using IAR embedded workbench with I-jet debugger, with configuration of XIP_QSPI_InternalSRAM. I first load the boot code from ExtMem_boot project to the internal flash memory. Then load the project of FreeRTOS_ThreadCreation to QSPI flash memory at 0x90000000. The code was loaded correctly, and I was able to step into the code at beginning. But the code always crashed at SystemClock_Config() -> HAL_RCC_ClockConfig() -> tickstart = HAL_GetTick(). After that the CPU cannot stopped. But after all these steps, if I power down and power on the board, I actually saw the LEDs blinked as they are supposed to, so code in the QSPI flash memory is running correctly. What is wrong with the I-jet then? Thanks for any ideas, thoughts, suggestions.
Hi Mr/Mrs,I have one problem about flash software for Stm32F103C8T6. When I compile and flash software for the first time, everything is OK. But, I have changed code and compile successfully then software can not flash to board. I see that there is one different point about SWDIO. At second time, it is “No target device”. I have tried switch Boot 0 into 1 and software flash success. I also tried with new target board and issue is similar. Here, I have used ST-Link V2 mini for Stm8, Stm32 and target board Stm32f103c8t6 via Keil C IDE.Could you please help me check and give for me some tips to resolve this problem? Thanks so much!
Am I seeing this right? According to the datasheet, the STM32F413xG/H only maps USART3_RX to PB11, PC5, PC11, and PD9. All four happen to not exist in the STM32F413CG/H variants with the UFQFPN48 package!Bit weird this doesn't seem to be noted anywhere. I guess this 10 UART chip is really a 9.5 (or fewer?) UART chip in the 48 pin package? Extra keywords: STM32F413C STM32F413CH
Hello hope some one can shed some light please,I have a STM32F446RE board with SPI1 setup for 8pin SPI FRAM memoryI have written my own firmware using DMA / SPI1 to read and write to this FRAM ICThis is a very fast no volatile memory IC that does not have the limitations of standard FLASH memoryReading and Writing continuously SPI1 40MHz speedIt does not require or use Block / Page / Sector , polling, time delays for write etc.Its just continually allows write at very high speed, so eliminates all the pain of poor endurance, latency of normal serial flash memory. Can I find an external flash loader routine for this type of memory so I can use STcube programmer to load the FRAM with my custom data, of course not ???? Could someone please advise in very basic steps how to create a flash loader for my ST32446 I have tried looking at various flash files / github etc. but there is so much code relative to page size, block size, sector size etc. None of that is appl
I have Nucelo-F303RE but needed easy access to the pins and needed to keep track of their names, but so just sharing a pic of what I came up with: Note you will need two socket headers with long pins of size at least 1x19 (in my case I used 2x20 cause I didn't have any 1x19 ones) that will access the outer columns. The pins unfortunately don't quite line up perfectly into the breadboard like this, so the socket headers are slightly non-vertical, but at least it works and gets access to outer columns over the breadboard. And make sure you have a good fine-point pen for writing the pin names small and legibly onto the sticker or tape. I wish they included such a set of pre-labeled stickers with the board.
I am trying to setup a local MQTT over a local network with port 1883 and B-U585I-IOT02A using the Nx_MQTT_Client example project. I have followed the steps in :https://community.st.com/t5/stm32-mcus-embedded-software/how-to-connect-stm32u5-b-u585iot02a-using-mqtt-to-local-mqtt/td-p/62128However I still get error: x10005 NXD_MQTT_CONNECT_FAILUREI have tried modifying the generation of code in CubeMX to not require crypto and TLS for the example project however the compiler screamed even more at me. Anybody managed to succsesfully setup MQTT over local network?I disabled firewall on my broker and attempted the communication across other networks, still same error.in my app_nextduo.h file I have set: #define MQTT_PORT NXD_MQTT_PORT // defined as 1883 non-tls in the client .h file#define MQTT_BROKER_NAME "" /* MQTT Server */ // I put the IP here in the form "192,xxx,xxx,xxx" have also tried using construct IP(192, XXX, XXX..)#define USER_DNS_ADDRESS IP_ADDRESS(1, 1, 1, 1) /
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.