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
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.
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
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?
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?
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.