The components on the bottom, SW1 and P1, were using slightly modified
footprints from the KiCad library (default, but with no paste on any
pads) in v0.3. Now they're back to the default footprints, but with
local paste clearance set to -100% to make sure there's no paste on any
of their pads.
Assuming I'm going to keep ordering boards from MacroFab, it makes sense
to use their house parts as much as possible. Therefore, the next
boards will use a C&K PTS810 as the Setup switch instead of an Alps
SKQG. In addition to saving money, this change allows room for larger
"Setup" and "GND" labels.
With the VBUS symbol merged into the KiCad library, I no longer need to
use my own. This commit changes the schematic to use the standard VBUS
symbol rather than a custom one.
The footprints haven't been merged yet, but the symbol has. Therefore,
I updated the footprint in the pd-buddy library to match the new symbol
(changed shield pin number to S1) and changed the schematic to have the
new connector symbol. The board looks the same except that a couple
references changed.
This is a major change! Almost all the components have changed to
smaller versions, with 0603 and 0402 passives and a QFN microcontroller.
The board now has four layers, with internal layers used for VBUS and
GND. The board now measures a mere 25×30 mm! The SWD header and Boot
switch footprints have been moved to the bottom to help with this
shrinkage. Two test points were added to the bottom as well to make it
possible to power the board without using the USB connector. The
mounting holes are now slightly smaller (better sized for M3), and only
17 mm apart instead of the old 18 mm.
To sum up, everything is smaller and that's almost entirely a good
thing, except now it's not really possible to build one by hand.
It's a USB Type-C connector just like the one used in v0.1 and v0.2, but
with only SMT pins (except the fixing pins, of course). They're
slightly cheaper and probably nicer for automated assembly, but
impossible to hand-solder. That's okay though: where we're going, we
don't need hand-solderability.
They won't be installed by default, so there shouldn't be solder paste
applied to their pads. To that end, I copied the footprints to the
pd-buddy library and removed the paste from all their pads.
The switch is optional, no components need to be removed when it's
installed, and there's no zero-ohm jumper. This circuit has been tested
on a modified v0.1 board, and it works fine.
The LED does a lot more than indicate that power negotiation failed, so
its name has been changed from NOPWR to Status. The boot mode switch
doesn't need to be yelling, so its name is changed from BOOT to Boot.
0 Ω resistors are cheap, and switches are expensive. It would be nice
to be able to save the price of a switch, since it's not really
necessary anyway. I can program these by SWD, after all.
I added a 0 Ω resistor, R11, to pull the BOOT pin to ground in lieu of
having SW1 installed to do the same job.
I had the source and drain reversed—whoops. After fixing it with an
X-Acto knife and some point-to-point wiring, I've updated the schematic
and PCB files accordingly.
THIS ALSO MARKS THE BEGINNING OF DEVELOPMENT OF THE NEXT BOARD REVISION.