I successfully uploaded a sketch to my board setting boot0 high and it works, but if i set it low and boot (or powercycle) the board, it doesn’t start running my sketch.
Any input?
Morten
It used to work, however most people now install the bootloader onto their board as its an overall easier process.
Can you give more details about your board and upload method, as the repo supports over a dozen boards, each with multiple upload methods.
I’m uploading through serial using an FTDI tool.
That board is known on the forum as the Ugly board.
I have one. But i dont use it any more. It had multiple manufacturing faults, also it seems to be missing a critical resistor pullup which means the USB doesnt work properly, hence the bootloader doesnt always work on this board.
Anyway, all that being said.
Please can you tell us, what board you selected, what version of Arduino IDE you are using, when you downloaded and installed to core files, and what you mean by your sketch “doesnt work”
Doesn’t work means that it doesn’t seem to execute my code.
I have tried adding the ‘-v’ option to the ‘serial_upload’ script and it sometimes fails to verify the writes – the funny thing is that even though the verification fails the sketch runs fine.
Maybe i should just ditch the board and use my other board (http://www.ebay.com/itm/321569700934) that works just fine.
The forum calls that board the BluePill, lots of people use them.
I think they have the led on pin PC13. I’d recommend you flash the bootloader to your BluePill board, its much easier than having to press reset and changing jump links.
I did a video about the Maple mini initial operation when its brand new, Id recommend you take a quick look at that video on youtube as it describes the windows drivers etc and the important initial upload of the first sketch etc
I’ve compared the operation with the RedPill board, and its just the Ugly board that won’t start after cold boot.
I suspect there is some design fault on that board, to do with supply voltages at start-up
I think Rick Kimball has one of these boards and his works with the bootloader, so perhaps his generally works ok after cold boot, but mine does not ;-(
Re: Enumeration after stlink upload
I’ve taken a look at boards.txt and I think you may be referring to the Serial USB re-enumerating rather than the STLink re-enumerating, as USB Serial is enabled for STLink.
However if this enumeration issue was on the Ugly board, its almost certainly the hardware startup issue.
I’ve left the board in my office, but I think this picture shows the correct jumper settings.

Also read the following post if you intend to try to use VBAT and the on board RTC on this board.
Strangely I get the same issue as the OP.
I can upload via Serial, and it runs fine i.e because the hardware bootloader gets sent the run / go command to execute from 0x800000 after the upload is complete.
However if I move Boot0 to Low and press reset, the board doesn’t run the code. (I just had a simple sketch the prints numbers ever 1 sec to Serial (in this case Hardware Serial 1).
The only thing I can think of that would cause this, is some sort of messy start-up and reset hardware, which seems very strange.
i.e I tried power cycling and it has the same issue, as well as when I press reset.
But I hardly ever use this board, as I prefer my RedPill’s or F103VET’s or the Maple mini’s
How did you guys solve it?
I gave up using the board which had the problem, I suspected it was faulty.
You could try posting to STM’s own community forum as this is a general question about their processors not the Arduino core
(Or you could try compiling using something completely different e.g. Atollic TrueStudio and see if you get the same problem
Provided you messed the boot0/1 wiring such you set both 1 somehow, you set the start/boot from sram, which is empty after power off/on..


