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
Hi,I bought the STEVAL-DRONE02 and STEVALFCU001V2 last week. But I couldn’t download the Android app ST BLE Drone on my smart phone which has Android version 14. Which Android version does ST_BLE_DRONE support?I checked with Google and it say:The ST BLE Drone application supports Android 4.4 and higher. It acts as a Bluetooth Low Energy (BLE) remote controller designed to work with evaluation boards like the STEVAL-FCU001V1.
Hello, I'm experiencing a flashing issue with an STM32G071G8U6: STM32CubeProgrammer (ST-LINK, SWD, Normal mode) returns "Unable to get core ID" / "No STM32 target found", even though the measured target voltage is correct (~2.93–2.97V, see attached screenshot). I'm also attaching the MCU pinout and SWD connector schematics for reference. I'd like to know what possible causes could explain a total loss of SWD communication despite the correct current voltage, and whether there's a test that could confirm an internal MCU failure before concluding the component needs to be replaced. Best regards
I’ve been working on a small TMC2209 driver for STM32F4 using bare-metal/CMSIS, without HAL.The driver currently supports: UART half-duplex through function pointers TMC2209 register read/write CRC calculation GCONF configuration IHOLD/IRUN current control CHOPCONF configuration Microstep configuration Direction control Enable/disable VACTUAL for testing Current calculation from mA to the TMC2209 CS value The motor is working correctly, and I’m now mostly interested in feedback on the driver architecture, API design, abstraction and code quality.This is a learning project, so I’d really appreciate honest criticism and suggestions from more experienced embedded developers.What would you improve or change in this driver?https://github.com/embeddedrafo/tmc2209_driver
Hello,I'm trying to write an application with TrustZone enabled that uses the LTDC peripheral.My application:boots into secure worldconfigures the LTDC peripheral and its interrupt, as well as the relevant GPIO pins, as non-secureswitches to the non-secure world.In the non-secure world, I configure the LTDC, passing a buffer placed in non-secure SRAM and start drawing. However, the screen stays black.I'm able to access the LTDC registers from the non-secure world, so it seems that the permission settings for the MCU are correct. My guess is that for some reason the LTDC peripheral itself does not have permission to access the SRAM, am I missing some other settings?
I’m trying to set an alarm occurring on the 5 minute marks. However, after I set the alarm and try to read it back I always get 0 minutes and no interrupts. My code without the error handling is as follows. Status = HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); Status = HAL_RTC_DeactivateAlarm(&hrtc, RTC_ALARM_A); // Deactivate before setting /** Enable the Alarm A */ sAlarm.AlarmTime.Minutes = 5 * (((sTime.Minutes + 5) % 60) / 5); sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY | RTC_ALARMMASK_HOURS | RTC_ALARMMASK_SECONDS; sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL; sAlarm.Alarm = RTC_ALARM_A; Status = HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BIN);What am I missing?Thanks
I am attempting to setup a new Hello World project on the STM32N6 using the following: FreeRTOS running two tasks, a timer, and a semaphore A couple of hardware timers A USART The PSSI doing 16 bit bi-directional transfers The BSP packageRunning the debugger I getfollowed by a Hard Fault:The code is running on a Nucleo-N657XO-Q development board. My development tools are: STMCube 6.18.1 STM32Cube_FW_N6_V1.4.0 IAR 9.60.4Something not correctly setup or a bad board?
Hi, I am developing an I3C target application that responds to I3C private messages from the controller. The application starts by registering the Tx callback.static void I3C_TxCompleteCallback(hal_i3c_handle_t *hi3c); // The callback is registered during initialization hal_status_t status = HAL_I3C_TGT_RegisterTxCpltCallback(hI3C, I3C_TxCompleteCallback); if (status != HAL_OK) { SWD_printf("HAL_I3C_TGT_RegisterTxCpltCallback failed.\n"); return status; }The target responds to the controller: hal_status_t status; hal_i3c_handle_t *hI3C = mx_i3c1_gethandle(); status = HAL_I3C_TGT_Transmit_IT(hI3C, I3C_TxBuffer, 8); if (status != HAL_OK) { SWD_printf("HAL_I3C_TGT_Transmit_IT: %lx\n", status); return status; }The controller receives 8 bytes of data and the data is correct but the TxComplete callback does not trigger on the target side.I placed a breakpoint inside the HAL I3C_Tgt_ISR show below./** * @brief Interrupt Sub-Routine which han
Hi, We're hitting intermittent Ethernet RX corruption on the STM32N657 in RMII mode with a LAN8742 PHY. On some cold boots the receive path is broken for the whole session: the MAC flags incoming frames with the dribble bit (RDES3.DE) and error summary (ES), or drops them entirely, and the MMC alignment-error counter climbs while the CRC-error counter stays at zero. TX is fine. It never recovers on its own, and how severe it is varies from board to board. It's not tied to auto-negotiation, link state or speed — it's set the moment the MAC comes out of reset. The key point: we can reproduce it with the PHY in internal digital loopback, so there's no cable and no link partner involved. Frames leave the MAC on the RMII TX pins, loop back inside the PHY, and come back on the RMII RX pins. Since it still corrupts there, the problem is in the MAC↔PHY RMII digital interface and the shared 50 MHz REF_CLK, not in the cable/magnetics/analog side. What fixes it is a MAC-only reset (RCC
Hello All, I’m working with a STUSB4500 chip and have hit an issue right from the get go. For reasons I can’t see, the chip is not being powered when connected to a USB-C source. Probing VDD shows continuity to VBUS, and probing GND shows good continuity to the power source GND. I’ve attached my schematic below. Any ideas where I messed up?
Hey I came across this thread: Rotate text at any angle, where @Romain DIELEMAN mentioned a custom widget called TextArc (TextArc.cpp/hpp) demonstrating arbitrary text rotation.Unfortunately, the original demo files/links seem to be missing or broken. Does anyone still have a copy of this TextArc widget, or can ST re-upload the sample project?If this demo is no longer available or compatible with recent TouchGFX versions, what is the recommended approach to render/rotate text at arbitrary angles today?Thanks in advance!
Hi, I'm working on a ESL project using STM32WB09. In order to reach greater distances, is it possible to use the CODED PHY ? Thank you
I programmed the STM8S208RB Nucleo board to blink the LD2 LED (connected to pin C5). The `main.c` file is attached. I loaded the file with the `.19` extension using STVP. The file loaded successfully (Image_1.jpg), but LD2 did not blink. LD2 started blinking only after I closed STVP. However, it stopped working when I disconnected and reconnected the USB cable. When I checked the Program Memory using STVP, I saw different, shorter code (Image_2). Why Nucleo board is behaving this way?I am using Win 10 and STVP 3.4.1
The STM32G441KB datasheet is still watermarked with DRAFT , seems to be latest version, DS12960 Rev 5.That can make a user a little unsure… 😉
Hi everyone,I'm working on an STM32 project using STM32CubeMX and noticed that initialization code is generated for peripherals that I don't always use.Is there a recommended way to configure CubeMX so that only the required peripheral initialization code is generated?Thanks!
Hello,ST Customer Support advised me to post this question in the ST Community.I am planning to use a NUCLEO-WL55JC1 (MB1389) as a transmitter in Japan. According to the official ST Japan certification list, this board has Japanese radio certification number 018-210191:https://www.stmcu.jp/technical/hint/no-119/The Japanese certification database shows the following information: Emission designation: G1D Frequencies: 920.6 to 928.0 MHz Channel spacing: 200 kHz, 38 channels Antenna power: 16.0 mW However, the Avnet Japan product page states that the certification applies only to LoRa and Sigfox modulation:https://www.avnet.com/japan/products/product-highlights/stmicroelectronics-nucleo-wl55jc/I need to determine whether certification 018-210191 also covers custom 2-FSK or 2-GFSK transmission.Could an ST employee or someone familiar with the certification documents please clarify the following? Does certification 018-210191 cover 2-FSK or 2-GFSK transmission? If it does, what are
Hi all,I am Jacopo and I am working on a project using STM32U5G9ZJ and I updated to the latest firmware package (STM32Cube_FW_U5_V1.9.0) with STM32CubeMX.I noticed that with the new package the call to HAL_ADC_Start fails to actually start the conversion if used with ADC4. Digging inside the function code I noticed that the call to LL_ADC_REG_StartConversion(hadc->Instance) got moved a couple of lines with respect to the previous version. This means that when the check for ADC4 passes nothing is done, and moving the function call back fixes the problem.Is this a bug? For now I fixed it by manually calling LL_ADC_REG_StartConversion after HAL_ADC_Start, but this is less than ideal.Thank you. Jacopo
Setup:MCU: STM32WB5x (WB55 in particular)Performing OTA firmware update over BLE, using a custom OTA service/characteristics (based on the STM32WB Cube OTA support), sending firmware in chunks after the device reboots into OTA/bootloader mode.Client app: Android, iOS appProblem:During an OTA session, if the connection between the client and the device is interrupted (e.g. chunk write failure or stuck, or the client fails to resume sending data) while the device is already in OTA mode, the device gets stuck — it stays in OTA mode waiting for the remaining firmware data, but no new connection can be established to resume or restart the transfer. The device appears to remain advertising/connectable at the BLE stack level in some cases, but the OTA session itself cannot be recovered or restarted from the client side once this happens, effectively bricking the update flow until a manual power-cycle.Question:To make the OTA process self-recoverable, I'm considering adding a timeout mechanism
Hello everyone, stse_ReturnCode_t stsafea_verify_entity_signature( stse_Handler_t *pSTSE, PLAT_UI8 slot_number, stse_ecc_key_type_t key_type, PLAT_UI8 *pSignature, PLAT_UI8 *pSignature_validity) this is the declaration of the function, my question is:against which hash/payload does the function verify the signature? Thanks,Giorgio.
We are interested in incorporating the STSAFE-A120 authentication chip (part number: STSAFA120S8SPL05) into our current design. However, the available datasheet lacks the necessary details for firmware development. We would highly appreciate your help and guidance on this matter.
Hi I didn’t find any topic or help for the porting of the X-cube-NFC06 to a nucleo 144 f439zi. I’m writting down all the setup I used to achieve this porting with succes, maybe that will help someone one day. IOC configurationsSPI: prescaler 16 (5.25MBits/s) / CPHA 2 edge (info from example and can be found in st25r3916b datasheet) do not enable NSS from cubeMX instead configure PD14 as GPIO_OUTPUT and name it SPI1-CS. IRQ: rising edge / no pull / don’t forget to activate IRQ from NVIC (exti line3 interrupt) *ETH peripheral is using PA7, instead of PA7 I used PB5 as SPI1_MOSI pin. U just have to use a jumper wire to wire up PB5 to D11 (old PA7).Code modificationsAfter generating the code, you should be able to compile without any trouble. If you program the nucleo, you will be facing this : The program isn’t giving any error but, it’s stuck in a infinite “loop”. If you measure with a multimeter btw GND and ST25R_IRQ pin you will constantly have a high lvl (we don’t want this). Here is
I want to use the 2-wire Direct Test Mode defined in Bluetooth Core Spec Vol. 6 Part F for RF testing of my STM32WBA custom board.I've already tried BLE_TransparentMode. While HCI / ACI commands work, DTM commands don't respond.Is it impossible to control with 2-wire DTM commands in BLE_TransparentMode?Please let me know if there's any way to do this.
Hello,I have a Nucleo-WB09KE.I cannot connect normally to the Board using the Programmer. Only Hotplug is working ?!?. Any idea ?What I already tried: - Connect with hotplug and mass erase. → Flash is blank. - Update the Programmer and the Driver to the latest one. - connect via mode ‘normal’ ’under rest’ failed
We have device that has Stm32F405RG T6 Microcontroller. We have been using DFUSE Demo tool to update image.we have bootloader app (custom bootloader) and main app.we flash bootloader + app to device using STLINK JTAG.Custom boot loader checks for certain button to decide if jump to app or remain in DFU mode to upload new image to device.This works fine with DFUSE demo tool but when we use StmCubeProgrammer (after updating to stm32bootloader usb driver)it can detect the device in DFU mode on USB but only in read-only mode, we can not write any bin file back to device.
Hello,I am trying to create a custom AI model and run inference on the NPU of an STM32MP255F.At the moment, my goal is only to verify the model creation workflow. Therefore, inference accuracy is not important yet.Environment Target device: STM32MP255FInference engine: NPUNumber of training images: 116 (mouse images)Steps1. Dataset creation with RoboflowAnnotated all images. Resized images to 256x256. Exported the dataset in YOLOv8 format.2. Training and export with UltralyticsTraining:yolo detect train data=data.yaml model=yolov8n.pt epochs=100 imgsz=256Export:yolo export model=runs/detect/train/weights/best.pt format=onnx imgsz=256 quantize=8 data=coco83. Conversion with ST Edge AI Developer Cloud Uploaded the exported model to ST Edge AI Developer Cloud. Selected the platform: "STM32 Microprocessors embedding Cortex-A loaded with X-LINUX-AI" Executed Optimize. However, the following error is displayed and no .nb file is generated:Error while generating optimized file. Generation
Board: STM32MP257F-EV1 (also relevant to STM32MP257F-DK)Tool: ST Edge AI Developer Cloud, ST Edge AI Core 2.2.0The "Optimize" step (NBG generation) consistently fails with:"Error while generating optimized file. Generation does not contain any output."Model details:- Architecture: torchvision.models.mobilenet_v2(weights=None, num_classes=100)- Trained from scratch on CIFAR-100 (100 classes), PyTorch 2.5.1+cu121- Input: 3x224x224, output: 100 classes- Quantized on-platform to INT8, per-tensor (per-channel disabled)Attempts (all fail identically):1. Original export, opset_version=122. Simplified via onnx-simplifier (0.4.36) - only reduced redundant Constant nodes (176->108); Conv/Clip/Add/Gemm counts unchanged3. Re-exported with opset_version=174. All used random-value calibration (no .npz calibration dataset provided)No "Show terminal" or detailed log option appears for this specific error on the Optimize step.Control test (works fine):Imported mobilenet_a050_pt_224_qdq_int8_image_cl
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.