Commit Graph

111 Commits

Author SHA1 Message Date
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
820408887a hardware: pcb: add footprint library table
This will be used to tell pcbnew where to find footprint libraries.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 12:58:07 +08:00
061b2c81a7 hardware: sch: map remaining footprints
Add footprints for the remaining schematic components.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 12:57:33 +08:00
60d24d66fd hardware: add footprints for most components
Add footprints for most of the components we'll use.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 12:57:17 +08:00
a715f5c728 hardware: add testpoints for SPI programming
This will become necessary when doing factory burning.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:54:13 +08:00
30b7610996 pcb: hook up more debug wires
We have spare pins, so run more debug wires.

Many of these will probably get cut when doing the PCB layout.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:45:27 +08:00
7bbaa24233 hardware: update name of SPI Flash
Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:36:52 +08:00
4fe5f8f629 hardware: sch: use raspberry pi header, rework signaling
Rework the signaling to send everything to a Raspberry Pi header.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:36:01 +08:00
eb93c70f01 hardware: sch: restructure SPI Flash symbol
It's much cleaner if we put power pins on one side and signal pins on
the other.  This removes the ratsnest that was building up.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:35:19 +08:00
d99d091d95 pcb: schematic-cache: add Raspberry Pi, new SPI Flash
This reworks the SPI Flash layout and adds the Raspberry Pi header.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-31 10:34:33 +08:00
0973972464 hardware: pcb: add SPI debug header
This will be used to program SPI during board bringup.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 22:28:08 +08:00
78bb283bc6 hardware: sch: populate SPI, /RESET pullups
It turns out these resistors are important.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 19:21:01 +08:00
f06ef4a7d5 hardware: sch: add crystal, VCCPLL regulator
Add a crystal, so we can test to make sure it works.

Also add a second regulator dedicated to VCCPLL in an effort to
cost-down the capacitor and large components that shouldn't be
necessary.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 19:14:33 +08:00
76f7bf2548 pcb: sch: make ICE40 VCCPLL a power input
For some reason, this pin was listed as a `power output`, which does not
appear to be the case.  Due to this error, the DRC would fail when using
a regulator directly connected to the pin.

Mark this pin as a `power input` to fix this, since it's really where
power goes into the chip.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 19:13:32 +08:00
ab18c90450 hardware: sch: specify spinor part
SPINOR parts are largely interchangeable.  Pick one.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 17:09:11 +08:00
c7bfc248af pcb: sch: renumber schematic
Renumber the schematic again, as things have shifted around a bit.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 17:06:04 +08:00
ab33b4a0a1 hardware: rename tomu-fpga to pcb
This more closely reflects what it actually is.

Signed-off-by: Sean Cross <sean@xobs.io>
2018-10-30 17:05:02 +08:00