As it was, had the silkscreen been shifted a conceivable amount, it
could have exposed portions of traces to nearby pads, opening the door
for accidental shorts during soldering. Fixed by keeping the traces
farther away from neighboring pads.
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.
Since it really seems like a good idea to include the flyback diode by
default, I decided to change it to a surface mount device. After that,
I noticed that it would be easy to shave another 0.5 mm off the end of
the PCB, so I did.
There was previously no way of seeing where the business end of the USB
connector was. To solve this, I added a crude outline of the connector
on the F.Fab layer.
The long VBUS trace connecting the USB connector to the MOSFET was a bit
marginal in terms of width, and plenty of room was available for it.
Therefore, I decided to change it into a filled zone, which is at least
5 mm wide for most of its length. The resistance will be much lower,
and all the vias stitching it to the other VBUS zone under the MOSFET
will help carry heat away as well.
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.
KiCAD made a lot of small changes to a lot of footprints, so I updated
them all. About the biggest difference I saw was the pads for the SWD
header are closer together.
All the power traces immediately around the MOSFET are now zones.
Huzzah! The power traces at the USB connector are slightly wider now
too. And to top it off, the ground connection to the power output
connector now has a separate zone to remove the thermal relief instead
of wide traces.
Now there's a filled zone connecting the MOSFET output to the connector,
and the + side of the output is close to the MOSFET. Both connector
leads have no thermal relief, for minimum resistance.
The USB Type-C connector was a bit far from the board edge, so I moved
the edge 0.5 mm closer to it. This allows enclosure walls to be thicker
and whatnot. I also moved the screw holes back to keep them the same
distance from the board edge, and moved D4 and R10 to keep their text
unobscured.
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.
Boy, I'm good at messing up transistors! This time it was just the pin
numbers for the collector and emitter reversed, because I didn't copy
the symbol from the datasheet but rather assumed another SMT 2222 would
have the same pinout. Interestingly, it actually was able to control
the MOSFET at VBUS = 5 V and at VBUS = 9 V, but at VBUS = 15 V the
reversed transistor couldn't pull the MOSFET gate down enough.
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.