Criticize my project: STM32 BluePill modification

Hello everyone,

I want to exercise with a KiCad, so I decided to make a modification of a popular STM32 dev board, widely known as BluePill, as a hobby project.

What I want to add/replace:

  • USB type C instead of microUSB
  • replace the jumpers for boot options with button
  • add power protection to USB against external power source (thinking between diode or mosfet connectivity)
  • replace the 4-pin SWD interface with STDC14, as on latest STLink v3
  • add the RTC power isolation
  • replace the 8Mhz crystal with SMD like on MappleMini

This is my first “project from scratch” and is still Work In Progress.
The power supply is still under consideration (if I need the battery power or rechargeable power or just left as is). Currently, I’m more disturbed about connectivity for USB and programming interfaces.
Particularly:

  • regarding if I should to connect the TX/RX from STDC14 to PA9/PA10 so I will be able re-programm locked microcontroller with UART using the same programming connector, or connect it to USB RX/TX.
  • some schematics had wrong values for some pull-up resistors. I wonder if I fixed those correctly and didn’t miss anything else.
  • The STDC14 connectivity in general. Is it correct or should be any extra wiring? I also want to have SWO pin on that connector. Found some info in datasheet and on StackOverflow and here
  • If USB type C is connected properly? My reference

This is my current schematic:

bluepill_reforged
Or, as PDF file:bluepill_reforged.pdf (104.4 KB)

Any mistakes?

P.S. The schematics of the original BluePill are:
schematics.PDF (179.5 KB)
or:

The image of the current schematic is way too small to read. Why don’t you give a PDF or even the .sch file?

Added as PDF. However, the image itself was svg-file, thus can be opened in new tab and scale without problem.

Didn’t check your design, just overall impression. Looks well organized though i would prefer some of the typical circuitry (such as the crystal) in the typical location next to the mpu. Your ground symbol is not actually ground but earthing (or sometimes instrument ground). I would call it gnd or gndd but not gndref.

Just my little nitpicks :wink:

I also agree on the ground symbol, it’s for earth. Change it to gnd. I would also hide the reference for gndref. Everyone should know what it is and clutters up the schematic.

That’s what I do on my schematics anyway, whether right or wrong :slight_smile:

Looking at the original, my pet peeve is the ground symbol being placed horizontal. Good job you fixed it. (Maybe some OCD kicking in)

With the minimum voltage from USB (4.75V?) and the voltage drop over F1 and D1, there may not be enough to supply U1. Check the minimum drop out voltage.

Also, have you considered the thermal performance of U1 if you are planning to draw up to 1A from it?

I’m still revising the power supply line.

Currently, I’m more disturbed about connectivity for USB and programming interfaces.
Particularly:

  • regarding if I should to connect the TX/RX from STDC14 to PA9/PA10 so I will be able re-program locked microcontroller with UART using the same programming connector, or connect it to USB RX/TX.
  • some schematics had wrong values for some pull-up resistors. Wonder if I fixed those correctly and didn’t miss anything else.
  • The STDC14 connectivity in general. If it is correct or should be any extra connections?
  • If USB type C is connected properly?

Thank you.

It looks correct. D’s go together to make the connector swappable 180 degrees, and both CC’s have their own 5.1k R to identify this as USB2 device.

As with any uC controller project connected to a cable that sucks up EMI. Add some ferrite beads.

You can also think a bit about stuff that comes for free on a PCB. For example add Footprints for both your switch and a Jumper for the Boot pins, or a solder jumper, so you don’t have to put in the switch at all if you want to put some of these in projects and don’t need much re-programming.

Does is require any work on board side? Like soldering small inductor in Vbus line?