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'm trying to program a custom board equipped with an STM32WBA23CE.I've tried wiring it from a Nucleo board (MB1801D), but the programming is failing.CN3 pin5 -> Custom Board VDDpin9 -> PA13pin11 -> PA14Even when I press Connect in CubeProgrammer, an error dialog appears. It works normally when I disconnect the wiring to the custom board, so it doesn't seem to be an issue with the application or the Nucleo board.The custom board does not have 32 kHz support.Are there any resources or descriptions that might be helpful regarding this method?
I purchased a brand new Nucleo board. plugged it into my computer, USB device detected, please update firmware; yes; then the process stopped “Error 33” Now my BRAND NEW nucleo board seems bricked. Is there any recovery mode? I have tried several times on STM32 Cube Programmer; The board is detected, Does anyone have any suggestions? - This does not bode well for my first introduction to ST. What a flaky system. I have changed cables etc, several different combinations, changed USB ports, rebooted, all of the standard stuff. It seems as though the Nucleo board’s serial number is being detected. The firmware update process starts, runs for a few seconds, several red LED flashes, then halts and gives error 33.
I’m looking for a replacement of MT53E1G32D2FW-046 WT:C because it’s out of stock.So, I have found Samsung K4FBE3D4HM-TFCL LPDD4. From what I can see, it’s compatible with MT53E1G32D2FW-046 WT:C:Same voltage Same package Same pinout Single rank Follows JEDEC standardAre there anything else I need to know before making an order of that LPDDR4 memory?
Why does STM32MP257F-DK not having EMI-filters on RX lines for USB 3.0?Can it be like a common standard that the transmitter TX should always have:AC capacitors ESD protection EMI-filteringAnd the RX does not need anything of those, because it’s assuming that their transmitter already having these implemented?This picture is from mb1605-mp257f-c01-schematic.pdf
Hello,I noticed that in the STM32Cube_FW_H7_V1.13.0 distribution, the folder \Drivers\CMSIS\DSP\Lib has disappeared.Is there a document available that explains how to compile these libraries, and what are the options and defines to set for an STM32H743?Thank you.
I’m starting FOC code generation for H5 using MCSDKBlocks I am configuring in MC Workbench include , STMH563ZI (Nucleo Bd) and IHM07M1 (Power module), and motor. I noticed the PWM configuration is not for general purpose, it is specifically configured for L6230 in IMH07M1.But I’d like to configure PWM for general purpose, such as for the STEVAL-LVLP01 board I have evaluated already, is this possible? Please let me know and thank you for your consideration.
Dear Team,I would like to request access to the Amazon FreeRTOS code supporting OTA functionality on STM32 platforms.I am currently working with STM32 boards and am specifically interested in evaluating and developing OTA-based solutions using Amazon FreeRTOS. I understand that access to this codebase is currently restricted, and I would like to be considered for whitelisting.Requested Access For:Amazon FreeRTOS OTA code for STM32 platforms (e.g., B-L475E-IOT1A, NUCLEO-H743ZI, P-NUCLEO-WB55, STEVAL-STWINKT1B, X-NUCLEO-BNRG2A1, STEVAL-STMODLTE)Purpose:I am working on embedded development involving BLE and cloud-connected applications and would like to integrate OTA update capabilities into my STM32-based projects.Please let me know if any additional information is required to process this request.Thank you for your time and support.Best regards,Ravi
Hi ST expertSTM32G473cbt6 and STM32G474cbt6 are pin-to-pin compatible, can their software projects be designed into one project?
Hello everyone.I will use my MCU to acquire big amounts of analog data and transfer them to a host using UDP.As DTCM is 128K and SRAM1 is 368K I would like to store those data in SRAM1. As an exercice I’m trying to configure LwIP in SRAM1.I’ve followed many tutorials (MPU is, I beleive, set correctly) :with a cache protected region where all the LwIP data should be (normally it should only matter when I’ll run this program) I’ve also configure ETH to point to this area :And Lwip is also configured with this same areaAnd the flash script is also set :But when I compile the code directly after importing from cubeMX, I get :Data are not in SRAM1, they are in the DTCM.Am I missing something ? Do I have to set some options in the compiler ?Also I’m a bit surprised to see that 4 descriptors x 32 bits = 0xa0 (0d160) ??? Or F777 descriptors are 40 bits ?Thanks to anyone who will take some time to help me.Best regards
Hi, i would like to use relative path to firmware. UI has option to enter “Firmware Relative Path” but only option is to select trough Browse dialog and resulting paths in cmake are absolute. There is no way to enter path manually, as UI applet for that is read-only.Also i have noticed, that clone of firmware without submodules causes CubeMX to error out with cryptic message on code generation.
Hi, i have custom cmake configurations in my project. I have managed to make a selection trough “CMake: Select Configure Preset”. Unfortunately it is really easy to debug wrong configuration on debug launch, as you have to remember to switch configuration from command palette.
I need to use 2 image sensors for tracking proposes, it would be nice if I could sync the two cameras.I see that provide configurable GPIOS with signals like PWM/ PULSE/ VSYNC/ START OF FRAME.Is there any application note/ reference design, on how to sync two image sensors ? Do I need an external PWM for this? or one sensor can be master (to generate pulse) and to provide clock to Slave sensor?Also I would like to now if the two sensors can have the same clock source to sync MIPI clock.Thank you.
Hello,We are designing a custom board using the STM32MP157FAC1 device and need to provide one USB 2.0 High-Speed port.Kindly refer to the attached block diagram snapshot and review the proposed USB interface architecture of our custom board.Please verify whether the implementation is correct and let us know if any modifications or additional recommendations are required for reliable USB 2.0 High-Speed operation.Regards,PS
Hello,We use MB1551 TFM example project on our industrial board. For technical reason, we have modified the card entry point from USART1 to USART3.(TFM\TFM_SBSFU_Boot\Src\low_level_com.c, “COM_INSTANCE”)(TFM\TFM_Appli\Secure\Src\low_level_com.c, “COM_INSTANCE”)The log of SBSFU doesn’t appear on UART target.So next, we are trying to debug TFM SBSFU of a STM32U585 project as shown in this tutorial : We use the SBSFU script “regression.sh” and flash SBSFU, loader, secure and unsecure application with “TFM_UPDATE.sh”.The JTAG connection works correctly to open CubeProgrammer and read option byte for example.Finally, we set the tutorial debug configuration and launch the debug without error. Debug launch but stop with this message :After, we can only stop the simulation or terminate it. We have couple of questions.First of all, can we come to the conclusion that our MCU is booting ?Secondly, Is it possible to change USART1 to USART3 as we did ?Why do we have break point before the debug s
In position control mode, when the commanded angleand motion time are not properly matched, the motor speed sometimes exceeds the maximum speed limit. For example, if the motor’s maximum speed is 3000 RPM, after executing the command the motor speed may reach 4000 RPM. Its not generating error that this motion cannot be executed.
Post edited by ST moderator to follow the community rule to post a code snippet: How to write your question to maximize your chances to find a solutionI need to use scan sequence of 3 ADC channel and DMA transfer of the 3 ADC value .The 3 channel are:sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;sConfig.Rank = ADC_REGULAR_RANK_1;sConfig.Channel = ADC_CHANNEL_VREFINT;sConfig.Rank = ADC_REGULAR_RANK_2;sConfig.Channel = ADC_CHANNEL_15;sConfig.Rank = ADC_REGULAR_RANK_3; but doing this the HAL_ADC_ConvCpltCallback is called only once. if I change the ADC_CHANNEL_15 with ADC_CHANNEL_VREFINT everything is working correct. Why ?
I am using STM32H753ZI and trying to bring up Ethernet (LAN8742, RMII) using HAL + lwIP in NO-RTOS mode. I generated the code using STM32CubeMX with ETH enabled (RMII) and lwIP enabled (WITH_RTOS disabled, static IP). The PHY link comes up and RJ45 LEDs blink, but the board does not respond to ping and no ARP entry is created on the PC (Destination Host Unreachable). I have placed ETH descriptors and RX buffers in D2 SRAM, enabled MPU and D-Cache, verified RMII_REF_CLK to PA1, selected the LAN8742 PHY driver, and I am calling MX_ETH_Init(), MX_LWIP_Init(), and processing lwIP in the main loop. The FreeRTOS-based STM32H743 Ethernet example works, but I specifically want a HAL-only .
Hello Team, We are currently investigating an issue related to the SPI communication between the STPM34 sensor and the STM32F4 microcontroller.At system startup, all values measured by the STPM34 remain stuck at zero. Even when voltage and current are injected using an OMICRON test bench, no measurement values are received or displayed.Several tests were performed:If we power up the system and confirm that the issue is present, then electrically restart only the board containing the STPM34, the communication recovers correctly and the measured values are no longer stuck at zero.We also soldered wires on one of the SPI buses (SPI1). Since there are two STPM34 devices on the board, two SPI instances are used to communicate with each sensor. The purpose was to verify whether the communication between the sensor and the STM32 was correctly established.Interestingly, simply soldering wires on this SPI bus makes the issue disappear for this instance. However, on the second SPI instance,
Hello, I am working and trying to boot Nucleo - STM32H533RE board. I could successfully boot board using one stage bootloader OEMiROT, but I want to board to boot board with two stage boot path that to to without using STiROT.Looking at wiki page, I could see this can be achieved on Nucleo board I have, but there is no working example in the latest STM32Cube_FW_H5_V1.6.0 package I have.I could see boot path example for STiROT + OEMuROT example but no example for OEMiROT + OEMuROT.I need to know whether I can achieve booting of Nucleo STM32H533 board with desired boot path i.e. OEMiROT + OEMuROT (as encircled with blue color) and if yes is there any support with relevant data available?Regards,Satish
{ "type": "jlinkgdbtarget", "request": "launch", "name": "STM32Cube: Launch JLink GDB Server", "origin": "snippet", "cwd": "${workspaceFolder}", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ], "liveWatch": { "enabled": true, "samplesPerSecond": "4" } },Under this configuration, the prompt indicates that the attribute "liveWatch" is not allowed.
Is there a version based on the STM32G4 available?Is the firmware package available for download?Best regards
After I configure EP1 to the double‑buffered mode, debugging reveals an issue inside stm32g4xx_hal_pcd.c. At line 1761, the endpoint register value is read. After executing PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex); to clear the interrupt flag, the actual register content has already been updated. However at line‑1906, (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); still receives the register value captured before interrupt‑flag clearing. This triggers incorrect conditional judgements inside the HAL_PCD_EP_DB_Transmit() function.Probable root‑cause: When transmitting data for the first time under double‑buffered setup, USB_EPStartXfer populates both buffers by default. After Buffer‑0 finishes transmission and triggers an interrupt, the program reads register data at line‑1761 of stm32g4xx_hal_pcd.c. Right after this read operation, Buffer‑1 also completes its transmission and updates the endpoint register. Since HAL_PCD_EP_DB_Transmit uses the stale register value obtained earli
Have been fighting ST-LINK_gdbserver over the last few days and am hoping that someone can shed some light. I'm using JetBrains CLion with the ST-LINK gdb server. I have this configured in the "Debug Servers" setting. I want to get my ITM / printf calls to appear in my "MCU Console" window in CLion. So I have my SWO Enabled, I specify my clock (400Mhz / STM32H743), my divider (1000, should give 400kbaud data coming out), and my TCP port for the SWO data to appear on (59999). I've overridden my `_write` function to push to the ITM_SendChar function. I press debug, JetBrains compiles, runs the ST-LINK_gdbserver, passes in the correct flags, "-z 59999 -a 400000000 -b 1000 ", and the GDB then connects to the GDB port (61234 - default). However I don't see any SWO output via ST-LINK_gdbserver. If I run the STM32_Programmer_CLI in a separate terminal window with "./STM32_Programmer_CLI -c port=swd -swv freq=400 portnumber=0", it successfully connect
The code I’ve written in main.c for a program on NUCLEO H7S3L8 works perfectly fine, but on NUCLEO F767ZI goes into hardfault mode when reaching line 455 “mfcc_compute(mfcc_left, audio_buffer_16bit_left, mfcc_feature_left);” (more precisely, inside this function, at line 263 “float last = (float)audio_data[0] / (1 << 15);”). Can someone tell me how to solve the problem? I’ve declared arrays static to not go into stack overflow. Can someone tell me how to solve the problem? (Int_mic_F7 is the project for NUCLEO F767ZI while audio.zip is the project for NUCLEO H7S3L8)
I have the STM32U595QJI6 installed on a custom PCB sharing its VDD supply line with other components, when the PCB is to go into standby, the command HAL_PWREx_EnterSHUTDOWNMode() is used to put the STM32U595QJI6 into shutdown mode.The PCBs standby current is as expected, however, when the VDD supply line is at 3.3V, and the STM32U595QJI6 gets colder (locally cooling just the STM32U595QJI6 to 0℃) the standby current starts to increase roughly 3 times higher.When the VDD supply line is at 3V, this does not occur, and the standby current decreases as the temperature decreases as expected.When the PCB is running, the running current also decreases when it is cooled to 0℃ as expected, regardless of if the VDD supply line is 3V or 3.3VAll the pins are in an analog state, except the PWR_PUCRx and PWR_PDCRx , which are in a default state.What could be the cause of this current increase in shutdown mode, under the specific conditions of a 3.3V VDD supply line, and a temperature decrease to 0℃
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.