https://www.ebay.com/itm/5X-STM32F103C8 … 2f08316e42
I have had no problem getting them to work, but only programming through the serial port.
I followed directions on this wiki page to install the USB bootloader:
http://wiki.stm32duino.com/index.php?ti … bootloader
The bootloader is loaded because the LED flashes as expected on power up.
R10 is 10k on these particular boards, so none of my computers see the USB out of the box.
I tried changing R10, removing R10 completely and using a PNP with 1.5k, even made a tiny PCB with PMOS switch as described in this post:
viewtopic.php?f=3&t=1059&hilit=USB+PMOS&start=10
No matter what I try, USB does not enumerate at all with Windows 7 or Mac.
All solder joints look good, the USB cable I’m using works with other devices.
What am I missing?
Firstly did you select the correct board from the Boards menu
BluePill is Generic STM32
Not Maple mini
Run the windows device manager and take a look at what devices appear when you plug it in
If you load the latest version of bootloader from
https://github.com/rogerclarkmelbourne/ … r/binaries
generic pc13 version
After installing the bootloader via serial (and setting boot0 back to LOW), the board should initially appear as a DFU device and then change to a serial device
Also, I presume you loaded the drivers (if you are running windows)
and there are some usb 3.0 hosts that for some reasons can’t work or don’t work, i’m not too certain about this though
the other thing actually is the *driver* especially on *windows*, if that isn’t there or isn’t appropriately configured it won’t work
../drivers/win/install_drivers.bat
Run the .bat and it installs them (dos windows appear, follow what they say).
10k is ok with BPill. USB 3.0 works here fine.
When connected to USB you will see “Maple DFU” in the Device manager (pops out as a new device).
Upload the sketch (sometimes it goes automatically, sometimes do press the reset button after you see in console it looks for DFU). After the upload you will see Maple COMx in the Device manager (serial ports). Set the COMx in your Arduino sketch properties for the BPill board connected.
For USB serial your sketch has to use “Serial”. When you want Uart Serial you want “Serial1” or “Serial2”.
Ray
I suspected a wiring problem, so I checked all solder joints under super magnification, all looked good.
So then I started ohming things out, and it turns out that the USB cable I was using only supplies power!
D+ and D- are not wired through
I was using a cable that was lying around and my son reminded me that he got that with a USB battery backup, so it might only be useful for power.
Surprisingly, two other cables fail the same way, they were also “charging” cables, not “data” cables.
I located a USB cable that I had used with Raspberry Pi, so I know it communicates properly, and guess what?
It all works, even with the bogus 10k resistor!
I assumed that all USB cables are made equal, but apparently not!
I wasted countless hours due to a basic assumption about USB cables. Oh well…
One thing I have learned over the years is that if I see a problem and no one else is reporting a problem, it’s probably something simple (possibly stupid) on my end.
Anyway, thanks for all the help, this is a great forum!
We are all alone. Only you can help you.
The most “interesting” one last week, was where they had not connected the USB port on the BluePill at all.
They had only connected via a STLink debugger dongle
It’s hard to convince some people that their precise configuration works just fine, as often they seem to think it’s a bug in the core, or they have some unique combination of factors which needs a special change for them.
even though we literally have thousands of people using it on loads of different machines and OSes
Probably the biggest challenge is for Mac OSX users, as they are a small minority of the forum members, and also Apple don’t seem to care whether their OS works with a wide variety of USB devices, as they seem to now cater to a very main stream audience who they can milk extra income by getting them mainly to use Apple approved external hardware
Luckily at the moment, Windows 10 has not locked down the driver installation any harder than in Windows 7.
Linux is not necessarily a walk in the park either, as uDev rules can be problematic on some distros, and I known some people end up manually setting chmod 777 on the USB device(s)
Now that I have gone through the entire process, I was planning to document the exact steps in my github repo just for my own documentation purposes. My memory is not as good as it once was (actually it was never that good, I just didn’t have as much to remember
).
I don’t mind adding more step by step detail on the STM32 wiki to reach a larger audience.
How do I create an account there?
I had to change it to manual creation, because it seems that instances of MediaWiki are a honeypot for spam-bots and I had to spend hours one day deleting hundreds of spam bot accounts containing fake personal details full of advertising links
Have you used MediaWikl before ?
We had installed MediaWiki internally at a previous organization as well.
Where I am now, we have Atlassian products, so I’ve grown accustomed to Confluence.
I actually met and interviewed Ward Cunningham (inventor of the Wiki) in 2006.
He’s a very interesting character to say the least.
The audio no longer seems to be available…
[msiddalingaiah – Sun Dec 03, 2017 6:30 pm] –
I was using a cable that was lying around and my son reminded me that he got that with a USB battery backup, so it might only be useful for power.
Surprisingly, two other cables fail the same way, they were also “charging” cables, not “data” cables.
oh i just vaguely recalled something about those ‘charging’ cables:
http://blog.curioussystem.com/2010/08/t … -charging/
i think some usb cable manufacturers deliberately shorted the d+ d- usb data lines across a 200 ohm (or worst deliberate short 0 ohm) to ‘indicate to the phone’ that the power adapter can supply > 500 ma currents. that short if applicable is intended to be in the *power adapter*, but i’d guess the manufacturers tried to be ‘helpful’ and shorted that (the data lines) in the usb cable instead ![]()
it’s a crazy world out there


