It used to be an MMBT2222, now it's an MMBT3904. The new transistor is
slightly lower-spec'd, but is still more than plenty for this
application. Also, it's a MacroFab house part, so the boards will be
even cheaper to manufacture.
Now signal vias are MacroFab's minimum size, and power vias have a
slightly smaller drill than before to not be slightly pushing
MacroFab's design rules.
U2 was moved to remove ambiguity. Q1 was moved to ensure it isn't cut
off by a hole. U1 was moved to stay away from where MacroFab put their
secret manufacturing code.
In the previous board version, there was a trace (OUT_CTRL) between the
Boot switch's pins 2 and 3. Since those two pins are the ones that
need to be shorted to enter DFU mode, it's possible that users wanting
to upgrade the device's firmware would want to short them with a blob
of solder rather than buying a switch. While the soldermask *should*
prevent this solder blob from shorting the OUT_CTRL line high,
soldermask can be accidentally scraped off, so I don't want to rely on
it in this case.
This commit moves the OUT_CTRL trace out from between SW1 pins 2 and 3,
and adds a keepout zone between those two pins. This should make it
much safer to bridge those pins with a blob of solder.
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.
MacroFab wants oval drills to be marked on the board edge layer, so
that's what I'm doing. Hopefully they'll be able to handle oval drills
better soon, given a recent comment on their blog.
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 have been updated to be used with the mainline KiCad
schematic symbol, so the symbols in the pd-buddy library were useless.
They were also overall a lot worse, and furthermore, they were unused.
This commit removes the old USB connector schematic symbols from the
pd-buddy library.
The SOT-89 footprint changed its name slightly in the KiCad library,
so the voltage regulator has been updated accordingly. It has a nice
new 3D model too. It's not weird and blue anymore. I like it.
The SOD-123 was also updated to have a 3D model. The board now only
lacks models for the footprints I made myself. Heh.
It's a small board, just a bit bigger than a PD Buddy Sink v0.1.
Nothing unexpected, just pogo pins and connectors and two resistors
because it has a USB Type-C receptacle for power input. The plastic
piece screws on and the whole thing should work just great, making the
SWD header unnecessary on the v0.3 PCBs. It's even compatible with the
boot switch, and with a 2-pin 0.1 in. male header on the bottom as an
output connector.
Now they're MM3Z5V6T1G, an SOD-323 5.6 V 300 mW Zener diode. Similar to
the old part, but easier to solder and cheaper. One of those two points
matters.
KiCad has the right footprint now, so I don't have to substitute an
SOD-323 footprint. The 3D model looks less inaccurate I suppose, but
still not right for the particular diodes I'm using.
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.
Now that the appropriate pull requests have been merged, I can use the
standard part rather than the one I created in this repository.
Speaking of which, this commit removes FUSB302B and MLP-14 from this
repository.
Set the _KI_LIB_GIT path to point to a local copy of the kicad-library
Git repository. Then this project will pick up the Git libraries
instead of the system ones.
Now the board is within spec for MacroFab. Also, the power traces at
the USB connector are thicker, so should be able to carry high currents
more easily.
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.
As it was, it wasted around 85 mW whenever the output was turned on at
20 V. That's a silly waste of power. A 100 kΩ pullup works just fine,
so I changed it. Now there's only 4 mW wasted, so I'm happy.
There's now quite a bit of stuff located under the USB connector. A lot
of manufacturers mark that area as a keep-out zone, but luckily,
Amphenol is not one of them.
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.
The traces to the thermal vias for U1 shouldn't have been as small as
they were. Not that U1 gets particularly hot, but it would just be
nicer to use thick traces to extend to the thermal vias.
The slider for the Boot switch is no longer overhanging the board edge.
This is nice for designing enclosures, as now nothing overhangs the long
sides of the board.
Now the board should be much happier carrying 5 A, possibly even with
1 oz copper. I'd still prefer to get it made with 2 oz copper as a
matter of principle, but IPC-2152 calculations make it look like I'd
probably be okay with 1 oz.
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.