Blue Pill - Less Pain           

 Top View Bottom View


BP-LP Features:

  • Upload every time without pressing any buttons.
  • No need to install USB bootloader.
  • No need to change BOOT0 jumper.
  • Reliable when uploading large sketches.
  • Made from a HC14 and a few passive components.
  • Using throgh-hole parts only for DIY.
  • PCB available from OSHpark.

The Blue Pill comes without USB bootloader installed.  Sometime it's difficult to install the USB bootloader by new users.  The serial upload method is easier to use, but it requires to press reset button every time before uploading. There is solution to upload without touching any buttons.

Hardware solution:
Roger Schaefer of www.rasmicro.com tested Blue Pill several months ago.  He liked the BP very much, but felt that  manually uploading inconvenient.  I made a circuit to accomplish auto uploading without touching any buttons.  So far it works well, like a UNO, and makes uploading less pain.  The PCB is available at OSHpark. It only requires two DuPont jumper wires, one for BOOT0, one for Reset.  You also can breadboard the circuit to try it out.

Software solution:
Roger made an elegant software solution to replace my circuit using an ATTiny85.  I tested his sketch and found it works as well as my hardware circuit. So if you have ability to program an ATtiny85, you can try his software solution.  It only needs an 8-pin ATTiny85.  For a user who has ability to program an ATtiny85, this makes the circuit a lot simpler. If you are interested in his sketch, please contact us via email.


Setting:  From Tools manual,  make sure to specify "Generic STM32F103C series" for the board type and serial uploading method.

All Blue_Pill_test sketches are written by Roger Schaefer at www.rasmicro.com.



1) You need a 5V FTDI cable that sends out a DTR pulse when uploading,  if a cable does not send out a DTR pulse, it will not work.  The BPLP depends on a DTR pulse to make auto uploading work.  A FT232 or FT231 based FTDI cable will work.

2) You have to use Arduino IDE's internal serial monitor.  External serial monitors may not work for the BP-LP. 

3) If you need Serial Monitor to debug, open it before uploading is done.  When BP is running, opening  SM will trig a DTR pulse and it will stop BP from running.  When that happens, you need to press the reset button to re-run. That's the reason why I added a big reset button.

4) If you use a full sized breadboard you can install 2 extra 2-pin male headers to support the BP-LP,  they should not be installed when a half sized breadboard is used.

5) When a sketch is fully debugged and run in standalone mode, just place a jumper on the BOOT0 and GND, it will run every time after power up.


BP-LP aligns with a Blue Pill.
BP-LP picks up A9, A10, 5V and GND




BP-LP Interfaces to an OLED


Component Side

Solder Side


The Gerber files are available at OSHpark.


All component values are shown on SCH and PCB.
All caps are 0.1UF, 0.1" lead spacing, except C2=1UF. 
All resistors are 1/8W.

Download schematic




Download schematic