2023-07-24 11:11 AM - edited 2023-07-24 11:22 AM
Dear STM32 Bluepill Community,
I recently acquired an STM32 Bluepill development board and have been attempting to establish a communication link with my computer via the USB interface. Unfortunately, my computer is not recognizing the COM port associated with the STM32 Bluepill.
Here are the steps I've taken so far to troubleshoot the issue:
Checked the USB Cable and Connection: I have verified that I am using a functional USB cable and ensured that it is properly connected to both the STM32 Bluepill and my computer.
Installed the STM32 Virtual COM Port Driver: Following the guidelines provided by STMicroelectronics, I downloaded and installed the STM32 Virtual COM Port Driver corresponding to my operating system (Windows) and architecture (64-bit).
Checked the Device Manager (Windows): After installing the USB driver, I opened the Device Manager on my Windows computer to verify if the STM32 COM port is detected, but unfortunately, it is not appearing in the list of Ports (COM & LPT).
Despite these efforts, I am still unable to establish a connection between my STM32 Bluepill and my computer. I am seeking assistance from the community to help me identify the potential causes of this issue and find a suitable solution.
Has anyone encountered a similar problem with the STM32 Bluepill not being recognized as a COM port on Windows? If so, how did you resolve it? Are there any additional troubleshooting steps that I should follow to ensure successful communication between the STM32 Bluepill and my computer?
Note: on windows 11 OS
Your guidance and expertise in this matter would be greatly appreciated.
2023-07-24 11:27 AM
The STM32F1 needs functional USB CDC device firmware on-board to work. This would likely come in the form of an Arduino loader of some sort, or something you explicitly built for the task.
The on-board ROM based System Loader can manifest as a "STM32 BOOT" type device with BOOT0=HIGH which would be a USB DFU Device.
Watch for boards with fake MCU's and without functioning 8 MHz crystal
2025-04-26 4:16 PM - edited 2025-04-26 4:16 PM
My newer version Bluepill (the one with USB-C connector) displayed as "Unknow USB Device" Under Windows 10 Device Managers, instead of as USB DFU Device", when boot0=high, boot1=low. Any comments?
2025-04-26 5:52 PM
It's possible that this isn't an authentic STM32F1 part. STMicro isn't going to support counterfeit devices.
Have you loaded/installed STM32 Cube Programmer? That might pull drivers or .INF for the VID/PID of the USB device.
What does Device Manager report as the VID/PID of this Unknown Device?
2025-04-27 9:44 AM
=========================== USB Port4 =========================== Connection Status : 0x02 (Device failed enumeration) Port Chain : 2-5-1-4 Properties : 0x00 IsUserConnectable : no PortIsDebugCapable : no PortHasMultiCompanions : no PortConnectorIsTypeC : no ConnectionIndex : 0x04 (Port 4) Device Manager Problem : 43 (CM_PROB_FAILED_POST_START) Used Endpoints : 0 ======================== USB Device ======================== +++++++++++++++++ Device Information ++++++++++++++++++ Device Description : Unknown USB Device (Device Descriptor Request Failed) Kernel Name (PDO) : \Device\USBPDO-12 Device ID : USB\VID_0000&PID_0002\7&1B010A0F&1&4 Hardware IDs : USB\DEVICE_DESCRIPTOR_FAILURE Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0140 (GUID_DEVCLASS_USB) Driver Inf : C:\Windows\inf\usb.inf Legacy BusType : PNPBus Class : USB Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB) Enumerator : USB Location Info : Port_#0004.Hub_#0005 Address : 4 Manufacturer Info : (Standard USB Host Controller) Capabilities : 0x64 (Removable, SilentInstall, RawDeviceOK) Status : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 43 (CM_PROB_FAILED_POST_START) Address : 4 EnhancedPowerMgmtEnabled : 0 Power State : D3 (supported: D0, D3, wake from D0) ---------------- Connection Information --------------- Connection Index : 0x04 (Port 4) Connection Status : 0x02 (DeviceFailedEnumeration) Current Config Value : 0x00 (Configuration 0) Device Address : 0x00 (0) Is Hub : 0x00 (no) Device Bus Speed : 0x01 (Full-Speed) Number of open Pipes : 0x00 (0 pipes to data endpoints) Data (HexDump) : 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 ................ 00 00 00 ... --------------- Connection Information V2 ------------- Connection Index : 0x04 (4) Length : 0x10 (16 bytes) SupportedUsbProtocols : 0x03 Usb110 : 1 (yes, port supports USB 1.1) Usb200 : 1 (yes, port supports USB 2.0) Usb300 : 0 (no, port not supports USB 3.0) ReservedMBZ : 0x00 Flags : 0x00 DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher) DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher) DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher) DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher) ReservedMBZ : 0x00 Data (HexDump) : 04 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 ................ ---------------------- Device Descriptor ---------------------- bLength : 0x00 (0 bytes) -------------------- String Descriptors ------------------- String descriptors are not available (because the device has problem code CM_PROB_FAILED_POST_START)
2025-04-27 9:49 AM
It seems VID/PID is NOT right. But the preloaded blinking program works and the LED on GPIO PC13 is blinking. 8MHz external clock is verified on scope. what will be the remedy?
2025-04-27 11:55 AM - edited 2025-04-27 2:03 PM
>>what will be the remedy?
Have you considered a NUCLEO board?
With the BOOT pin you're trying to invoke the System Loader in ROM, not the FLASH code that the vendor put on the MCU
Double check your cable is good, a data cable, not a charging cable. Plug in the cable whilst the BOOT button is pressed.
It could be the device is counterfeit .. check for support directly from the vendor of the board.