Commit Graph

66 Commits

Author SHA1 Message Date
9ec87cb483 hardware: sch: add esd diodes
These will be placed on the USB lines as well as the captouch lines.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-16 12:49:05 +08:00
d0bd902112 hardware: lib: update cache file
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-16 12:48:37 +08:00
9abd177b38 hardware: sch: remove "-rescue" and "-tomu-fpga"
Somehow, KiCad added these strings to the parts libraries, which
resulted in referencing a file that didn't exist.

Remove them.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-16 10:25:05 +08:00
cc19668309 hardware: pcb: reduce the number of capacitors
This is an initial commit removing the excess capacitors.

We will eventually add ESD protection ICs in the space that has been
freed up.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 19:24:55 +08:00
a98cd5727e hardware: sch: remove excess decoupling caps
We probably don't need 10nF, because this won't do any very-high-speed
(>100 MHz) operations.  We can think about putting them back in later,
space permitting.

Additionally, remove an extra bank of caps for one of the IO pads.
We'll double-up on capacitors there, which should be alright given the
close proximity and the fact that the only thing on that IO bank is
captouch.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 19:23:05 +08:00
23106ab57d hardware: pcb: reduce ground fill, loosen up routing
Reduce the ground fill under the IC, to prevent it from sliding around.
This gives less copper, but it should be fine for the currents we're
drawing.

Loosen up the routing of the 5V plane, which involves moving some
components around.  This increases the amount of copper that goes to the
various regulators.

Finally, reorder the caps so that the larger ones are further from the
IC.  This is done because they have a slower response time, and so can
be further away.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 19:14:24 +08:00
22aa8c8aca hardware: pcb: hide usb footprint silk
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 14:49:14 +08:00
b151d005f2 hardware: pcb: update PCB to use local copies of 3D files
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 14:46:54 +08:00
06be1fdb35 hardware: footprint: add models for regulator, BGA
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-15 14:46:23 +08:00
571646f5c1 hardware: pcb: more tuning of traces and pours
Open up some more pours, and move some vias to make pours larger.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-09 18:21:39 +08:00
bdf8b8558d hardware: pcb: remove text leftover from EFM32
This was used to select which ARM MCU to use.  It is no longer relevant.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-09 16:45:06 +08:00
77d47db980 hardware: sch: add some spice models to passives
Identify passives and implement the various spice models.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-08 21:43:32 +08:00
294ecfe782 hardware: pcb: add more copper to 1.2V line
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-08 19:11:24 +08:00
8050e796ab hardware: pcb: clean up traces, widen up pours
Rework the traces somewhat to widen up the pours and remove some of the
bifurcation that's going on.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-08 19:07:56 +08:00
c2566ea16d hardware: pcb: add version and update silkscreen
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-07 21:47:16 +08:00
e87a882f84 hardware: footprints: add local copies of 3D models
Because these files keep moving, add local copies of all of these files.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-07 21:39:38 +08:00
66584765ff hardware: footprints: add new SON50
This has more copper, which might make hand-soldering easier.  Though
this PCB isn't going to be hand-soldered.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-07 21:21:21 +08:00
db938e5557 hardware: pcb: first full routing of pcb
This passes DRC and has no unconnected nets.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-07 21:20:53 +08:00
d2b73fbc5e hardware: schematic: rewire fpga as necessary for routing
FPGAs are great, because if there's an alternate method that's easier to
route -- go for it!  This modifies some of the connections to ease
routing constraints.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-07 21:20:05 +08:00
cdcbe4dece hardware: footprints: add new footprints
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-06 19:45:14 +08:00
140717e3c6 hardware: pcb: first unrouted layout of dvt1
This is just a placement test, to see if it can be laid out.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-06 19:44:12 +08:00
596c686249 hardware: sch: complete schematic layout of DVT1
This is the first cut of a schematic layout of DVT1.

It includes all the decoupling caps still.  We'll need to see if they're
kept around.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-06 19:43:31 +08:00
a6fa6cf3e9 hardware: footprints: cleanup ice40 footprints
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-06 19:42:01 +08:00
bbc18d2a90 hardware: sch: work-in-progress to go from QFN to WLCSP
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-05 13:03:36 +08:00
f9205b7027 hardware: pcb: replace pcb with usb-tomu version
We'll use this as a starting point, to maintain the same shape and size.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-05 13:03:07 +08:00
d518357f76 hardware: footprints: add testpoint footprint
This is from Tomu, so it's verified to be the correct size.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-05 13:02:28 +08:00
75c15fdb98 hardware: footprints: initial commit of WLCSP models
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-05 08:45:58 +08:00
34f74fbf51 hardware: sch: first draft of dvt1
This removes much of the support debugging stuff from evt1.  Still to
do:

- Assign footprints
- Figure out which PU resistor to include (if any)
- Figure out if we need to keep the USB buffering
- Remove extra decoupling caps

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-04 22:00:23 +08:00
0bda71a0c8 hardware: footprints: add power regulator footprint
Add a footprint from KiCad for the power regulator we'll use.

It refers to a 3D file that doesn't exist, so we'll need to find that
first.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-04 21:57:55 +08:00
49d2924c26 hardware: pcb: redo timestamps, because kicad
kicad decided to redo all the timestamps.  There are no other changes to
this commit.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-03 11:50:44 +08:00
25b662e6fb hardware: pcb: re-route USB after flipping the footprint
It looks kinda janky, but it's better than ripping everything up and
starting over.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 20:39:32 +08:00
87ab2799bf hardawre: footprints: reverse USB footprints
They were copied incorrectly.  Fix the footprints so the pads are no
longer mirrored.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 20:38:56 +08:00
da8ede5f75 hardware: fix USB footprint being mirrored
That could have been bad.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 20:38:34 +08:00
8bb0524872 hardware: sch: provide APN for RGB LED
Provide an alternate part number for the RGB LED, since the current one
is hard to source.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 19:48:25 +08:00
6214f995e9 hardware: pcb: increase USB connector size
It was only 11.3mm before.  Make it 11.7mm, and center it.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 19:48:25 +08:00
e91896a8fb hardware: pcb: loosen up the ground plane / 5V some more
Move some vias around to get the 5V plane more breathing room.  Add a
small pour to give more copper and stabilize the net.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 19:22:29 +08:00
ced061ec5c hardware: pcb: add pin header to dcm file
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 19:22:04 +08:00
37899c600b hardware: pcb: move pin headers into local repo
Move the new PMOD pin headers from KiCad into the local repo, so that it
no longer depends on KiCad version.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 19:21:48 +08:00
e48d836372 pcb: remove usb silk, add more 5V vias
Add more 5V vias near the 1.2V regulator, and replace a manual trace
with a copper pour.  This will increase the amount of copper going to
both the 3.3V and 1.2V regulators, which should improve stability.

While we're at it, remove an errant silk artifact on the USB connector.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 14:03:27 +08:00
46fdfdf134 hardware: pcb: update drill offset, add mfg notes
Add a note indicating the PCB thickness and color.

Also, move the drill origin to the lower-left corner, to aid in machine
assembly.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 13:49:40 +08:00
12afe3aed1 pcb: add more silk, fatten up ground traces
Add more silk, indicating website and other info.

While we're at it, move some traces around to give more copper area, and
drop some more vias to improve ground performance.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 12:49:56 +08:00
d1923f10e1 hardware: pcb: finish layout with new PMOD connector
This is just about manufacturable.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 11:37:49 +08:00
c02b3ef4ac hardware: sch: add PMOD connector
Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 11:37:40 +08:00
74d402417b hardware: tomu-fpga-cache: add conn-1x6 for PMOD
This connector is used for the PMOD, so add it to the schematic library.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 11:35:28 +08:00
29538e3235 hardware: footprints: extend USB-B pads, fix XTAL dot
Fix the crystal's "Pin 1" marker.

Extend the pads on the USB-B connector.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-11-02 11:34:15 +08:00
b26b71343d hardware: first fully-routed PCB
The PCB is terrible, and probably would have all sorts of issues.  Will
rip it up and try again tomorrow.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 22:28:10 +08:00
65ba72a57e hardware: pcb: add initial screenshot
It's unrouted, and will probably change, but it's an idea.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 16:05:54 +08:00
e32b48a72e hardware: pcb: initial commit
This is an initial commit.  Still unclear of how big it will be, but
this is a good "minimum size" estimate.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 16:03:55 +08:00
1acf50df39 hardware: sch: use footprints from tomu-fpga
Use our local copy of footprints, which are guaranteed not to change
between Kicad versions.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 16:03:06 +08:00
f3315b58d8 pcb: add our own copies of 3d models and footprints
The Kicad default footprints seem volatile and unreliable.  Going
between two machines that both have "Kicad 5.0.0" installed results in
incompatibilities because KiCad has renamed their footprint libraries.

Also, for some reason it's going to Github to get footprints instead of
using local copies.

Copy every model and footprint we use into a local tomu-fpga.pretty.
This lets us ensure we can work offline, and also allows us to modify
footprints, e.g. by adding a "Pin 1" marker.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 16:01:10 +08:00