summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--README5
-rw-r--r--hardware/prototype/entropykey-cache.lib194
-rw-r--r--hardware/prototype/entropykey.kicad_pcb461
-rw-r--r--hardware/prototype/entropykey.net244
-rw-r--r--hardware/prototype/entropykey.pro33
-rw-r--r--hardware/prototype/entropykey.sch134
-rw-r--r--hardware/prototype/extras.dcm3
-rw-r--r--hardware/prototype/extras.lib69
-rw-r--r--hardware/prototype/sym-lib-table3
-rw-r--r--parts116
11 files changed, 1264 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..48de3e4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*~
+*.bck
+*bak
diff --git a/README b/README
index d0b54a8..3697413 100644
--- a/README
+++ b/README
@@ -1 +1,4 @@
-This is the hardware project for the EntropyKey v3 prototype.
+This is the hardware project for the EntropyKey v3.
+
+Initially it'll only house prototype content, but as we near production we'll
+add in production data too.
diff --git a/hardware/prototype/entropykey-cache.lib b/hardware/prototype/entropykey-cache.lib
new file mode 100644
index 0000000..39f0e24
--- /dev/null
+++ b/hardware/prototype/entropykey-cache.lib
@@ -0,0 +1,194 @@
+EESchema-LIBRARY Version 2.4
+#encoding utf-8
+#
+# Connector_USB_B
+#
+DEF Connector_USB_B J 0 40 Y Y 1 F N
+F0 "J" -200 450 50 H V L CNN
+F1 "Connector_USB_B" -200 350 50 H V L CNN
+F2 "" 150 -50 50 H I C CNN
+F3 "" 150 -50 50 H I C CNN
+$FPLIST
+ USB*
+$ENDFPLIST
+DRAW
+C -150 85 25 0 1 10 F
+C -25 135 15 0 1 10 F
+S -200 -300 200 300 0 1 10 f
+S -150 220 -100 180 0 1 0 F
+S -5 -300 5 -270 0 1 0 N
+S 10 50 -20 20 0 1 10 F
+S 200 -105 170 -95 0 1 0 N
+S 200 -5 170 5 0 1 0 N
+S 200 195 170 205 0 1 0 N
+P 2 0 1 10 -75 85 25 85 N
+P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N
+P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N
+P 4 0 1 10 25 110 25 60 75 85 25 110 F
+P 7 0 1 0 -160 170 -90 170 -90 225 -105 240 -145 240 -160 225 -160 170 N
+X VBUS 1 300 200 100 L 50 50 1 1 w
+X D- 2 300 -100 100 L 50 50 1 1 P
+X D+ 3 300 0 100 L 50 50 1 1 P
+X GND 4 0 -400 100 U 50 50 1 1 w
+X Shield 5 -100 -400 100 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# MCU_ST_STM32F1_STM32F103CBTx
+#
+DEF MCU_ST_STM32F1_STM32F103CBTx U 0 20 Y Y 1 F N
+F0 "U" -600 1450 50 H V L CNN
+F1 "MCU_ST_STM32F1_STM32F103CBTx" 300 1450 50 H V L CNN
+F2 "Package_QFP:LQFP-48_7x7mm_P0.5mm" -600 -1400 50 H I R CNN
+F3 "" 0 0 50 H I C CNN
+ALIAS STM32F103CBTx
+$FPLIST
+ LQFP*7x7mm*P0.5mm*
+$ENDFPLIST
+DRAW
+S -600 -1400 500 1400 0 1 10 f
+X VBAT 1 -200 1500 100 D 50 50 1 1 W
+X PA0 10 600 200 100 L 50 50 1 1 B
+X PA1 11 600 100 100 L 50 50 1 1 B
+X PA2 12 600 0 100 L 50 50 1 1 B
+X PA3 13 600 -100 100 L 50 50 1 1 B
+X PA4 14 600 -200 100 L 50 50 1 1 B
+X PA5 15 600 -300 100 L 50 50 1 1 B
+X PA6 16 600 -400 100 L 50 50 1 1 B
+X PA7 17 600 -500 100 L 50 50 1 1 B
+X PB0 18 -700 200 100 R 50 50 1 1 B
+X PB1 19 -700 100 100 R 50 50 1 1 B
+X PC13 2 -700 600 100 R 50 50 1 1 B
+X PB2 20 -700 0 100 R 50 50 1 1 B
+X PB10 21 -700 -800 100 R 50 50 1 1 B
+X PB11 22 -700 -900 100 R 50 50 1 1 B
+X VSS 23 -200 -1500 100 U 50 50 1 1 W
+X VDD 24 -100 1500 100 D 50 50 1 1 W
+X PB12 25 -700 -1000 100 R 50 50 1 1 B
+X PB13 26 -700 -1100 100 R 50 50 1 1 B
+X PB14 27 -700 -1200 100 R 50 50 1 1 B
+X PB15 28 -700 -1300 100 R 50 50 1 1 B
+X PA8 29 600 -600 100 L 50 50 1 1 B
+X PC14 3 -700 500 100 R 50 50 1 1 B
+X PA9 30 600 -700 100 L 50 50 1 1 B
+X PA10 31 600 -800 100 L 50 50 1 1 B
+X PA11 32 600 -900 100 L 50 50 1 1 B
+X PA12 33 600 -1000 100 L 50 50 1 1 B
+X PA13 34 600 -1100 100 L 50 50 1 1 B
+X VSS 35 -100 -1500 100 U 50 50 1 1 W
+X VDD 36 0 1500 100 D 50 50 1 1 W
+X PA14 37 600 -1200 100 L 50 50 1 1 B
+X PA15 38 600 -1300 100 L 50 50 1 1 B
+X PB3 39 -700 -100 100 R 50 50 1 1 B
+X PC15 4 -700 400 100 R 50 50 1 1 B
+X PB4 40 -700 -200 100 R 50 50 1 1 B
+X PB5 41 -700 -300 100 R 50 50 1 1 B
+X PB6 42 -700 -400 100 R 50 50 1 1 B
+X PB7 43 -700 -500 100 R 50 50 1 1 B
+X BOOT0 44 -700 1100 100 R 50 50 1 1 I
+X PB8 45 -700 -600 100 R 50 50 1 1 B
+X PB9 46 -700 -700 100 R 50 50 1 1 B
+X VSS 47 0 -1500 100 U 50 50 1 1 W
+X VDD 48 100 1500 100 D 50 50 1 1 W
+X PD0 5 -700 900 100 R 50 50 1 1 I
+X PD1 6 -700 800 100 R 50 50 1 1 I
+X NRST 7 -700 1300 100 R 50 50 1 1 I
+X VSSA 8 100 -1500 100 U 50 50 1 1 W
+X VDDA 9 200 1500 100 D 50 50 1 1 W
+ENDDRAW
+ENDDEF
+#
+# extras_USBUF01W6
+#
+DEF extras_USBUF01W6 U 0 0 N Y 1 F N
+F0 "U" -5 195 50 H V C CNN
+F1 "extras_USBUF01W6" 0 -200 50 H V C CNN
+F2 "" 150 -300 50 H I C CNN
+F3 "" 150 -300 50 H I C CNN
+$FPLIST
+ SOT-23-6
+$ENDFPLIST
+DRAW
+C -100 -100 5 0 1 0 N
+C -100 0 5 0 1 0 N
+C -100 100 5 0 1 0 N
+C -55 -100 5 0 1 0 N
+C -55 0 5 0 1 0 N
+C -55 100 5 0 1 0 N
+C 80 0 5 0 1 0 N
+T 0 120 75 50 0 0 0 + Normal 0 C C
+T 0 120 -115 50 0 0 0 - Normal 0 C C
+T 0 120 -40 50 0 0 0 D Normal 0 C C
+T 0 -125 -40 50 0 0 0 P Normal 0 C C
+S -150 150 150 -150 0 1 0 N
+P 2 0 1 0 -200 -100 -40 -100 N
+P 2 0 1 0 -200 100 -40 100 N
+P 2 0 1 0 -110 -65 -90 -65 N
+P 2 0 1 0 -110 -55 -90 -55 N
+P 2 0 1 0 -100 -100 -100 -65 N
+P 2 0 1 0 -100 -55 -100 -25 N
+P 2 0 1 0 -100 -25 -100 25 N
+P 2 0 1 0 -55 -100 -55 -70 N
+P 2 0 1 0 -55 -50 -55 -25 N
+P 2 0 1 0 -55 25 -55 -25 N
+P 2 0 1 0 -20 0 -200 0 N
+P 2 0 1 0 20 -100 200 -100 N
+P 2 0 1 0 20 100 200 100 N
+P 2 0 1 0 55 0 200 0 N
+P 2 0 1 0 80 20 80 0 N
+P 2 0 1 0 80 80 80 100 N
+P 4 0 1 0 -75 -65 -70 -70 -40 -70 -35 -75 N
+P 4 0 1 0 -55 -70 -65 -50 -45 -50 -55 -70 N
+P 8 0 1 0 -40 100 -35 110 -25 90 -15 110 -5 90 5 110 15 90 20 100 N
+P 2 1 1 0 -110 55 -90 55 N
+P 2 1 1 0 -110 65 -90 65 N
+P 2 1 1 0 -100 55 -100 25 N
+P 2 1 1 0 -100 100 -100 65 N
+P 2 1 1 0 -55 50 -55 25 N
+P 2 1 1 0 -55 100 -55 70 N
+P 2 1 1 0 5 0 -20 0 N
+P 2 1 1 0 55 0 25 0 N
+P 4 1 1 0 -75 65 -70 70 -40 70 -35 75 N
+P 4 1 1 0 -55 70 -65 50 -45 50 -55 70 N
+P 4 1 1 0 20 -20 25 -15 25 15 30 20 N
+P 4 1 1 0 25 0 5 -10 5 10 25 0 N
+P 8 1 1 0 -40 -100 -35 -90 -25 -110 -15 -90 -5 -110 5 -90 15 -110 20 -100 N
+P 8 1 1 0 80 20 70 25 90 35 70 45 90 55 70 65 90 75 80 80 N
+X D1 1 -300 100 100 R 50 50 1 1 B
+X GND 2 -300 0 100 R 50 50 1 1 W
+X D2 3 -300 -100 100 R 50 50 1 1 B
+X D3 4 300 -100 100 L 50 50 1 1 B
+X 3.3v 5 300 0 100 L 50 50 1 1 W
+X D4 6 300 100 100 L 50 50 1 1 B
+ENDDRAW
+ENDDEF
+#
+# power_+5V
+#
+DEF power_+5V #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_+5V" 0 140 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X +5V 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_GND
+#
+DEF power_GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -250 50 H I C CNN
+F1 "power_GND" 0 -150 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
+X GND 1 0 0 0 D 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/hardware/prototype/entropykey.kicad_pcb b/hardware/prototype/entropykey.kicad_pcb
new file mode 100644
index 0000000..47f0133
--- /dev/null
+++ b/hardware/prototype/entropykey.kicad_pcb
@@ -0,0 +1,461 @@
+(kicad_pcb (version 20171130) (host pcbnew 5.0.2+dfsg1-1~bpo9+1)
+
+ (general
+ (thickness 1.6)
+ (drawings 4)
+ (tracks 0)
+ (zones 0)
+ (modules 3)
+ (nets 53)
+ )
+
+ (page A4)
+ (layers
+ (0 F.Cu signal)
+ (31 B.Cu signal)
+ (32 B.Adhes user)
+ (33 F.Adhes user)
+ (34 B.Paste user)
+ (35 F.Paste user)
+ (36 B.SilkS user)
+ (37 F.SilkS user)
+ (38 B.Mask user)
+ (39 F.Mask user)
+ (40 Dwgs.User user)
+ (41 Cmts.User user)
+ (42 Eco1.User user)
+ (43 Eco2.User user)
+ (44 Edge.Cuts user)
+ (45 Margin user)
+ (46 B.CrtYd user)
+ (47 F.CrtYd user)
+ (48 B.Fab user)
+ (49 F.Fab user)
+ )
+
+ (setup
+ (last_trace_width 0.25)
+ (trace_clearance 0.2)
+ (zone_clearance 0.508)
+ (zone_45_only no)
+ (trace_min 0.2)
+ (segment_width 0.2)
+ (edge_width 0.15)
+ (via_size 0.8)
+ (via_drill 0.4)
+ (via_min_size 0.4)
+ (via_min_drill 0.3)
+ (uvia_size 0.3)
+ (uvia_drill 0.1)
+ (uvias_allowed no)
+ (uvia_min_size 0.2)
+ (uvia_min_drill 0.1)
+ (pcb_text_width 0.3)
+ (pcb_text_size 1.5 1.5)
+ (mod_edge_width 0.15)
+ (mod_text_size 1 1)
+ (mod_text_width 0.15)
+ (pad_size 1.524 1.524)
+ (pad_drill 0.762)
+ (pad_to_mask_clearance 0.051)
+ (solder_mask_min_width 0.25)
+ (aux_axis_origin 0 0)
+ (visible_elements FFFFFF7F)
+ (pcbplotparams
+ (layerselection 0x010fc_ffffffff)
+ (usegerberextensions false)
+ (usegerberattributes false)
+ (usegerberadvancedattributes false)
+ (creategerberjobfile false)
+ (excludeedgelayer true)
+ (linewidth 0.100000)
+ (plotframeref false)
+ (viasonmask false)
+ (mode 1)
+ (useauxorigin false)
+ (hpglpennumber 1)
+ (hpglpenspeed 20)
+ (hpglpendiameter 15.000000)
+ (psnegative false)
+ (psa4output false)
+ (plotreference true)
+ (plotvalue true)
+ (plotinvisibletext false)
+ (padsonsilk false)
+ (subtractmaskfromsilk false)
+ (outputformat 1)
+ (mirror false)
+ (drillshape 1)
+ (scaleselection 1)
+ (outputdirectory ""))
+ )
+
+ (net 0 "")
+ (net 1 +5V)
+ (net 2 "Net-(J1-Pad2)")
+ (net 3 "Net-(J1-Pad3)")
+ (net 4 GND)
+ (net 5 "Net-(U1-Pad4)")
+ (net 6 "Net-(U1-Pad6)")
+ (net 7 "Net-(U1-Pad5)")
+ (net 8 "Net-(U2-Pad1)")
+ (net 9 "Net-(U2-Pad2)")
+ (net 10 "Net-(U2-Pad3)")
+ (net 11 "Net-(U2-Pad4)")
+ (net 12 "Net-(U2-Pad5)")
+ (net 13 "Net-(U2-Pad6)")
+ (net 14 "Net-(U2-Pad7)")
+ (net 15 "Net-(U2-Pad8)")
+ (net 16 "Net-(U2-Pad9)")
+ (net 17 "Net-(U2-Pad10)")
+ (net 18 "Net-(U2-Pad11)")
+ (net 19 "Net-(U2-Pad12)")
+ (net 20 "Net-(U2-Pad13)")
+ (net 21 "Net-(U2-Pad14)")
+ (net 22 "Net-(U2-Pad15)")
+ (net 23 "Net-(U2-Pad16)")
+ (net 24 "Net-(U2-Pad17)")
+ (net 25 "Net-(U2-Pad18)")
+ (net 26 "Net-(U2-Pad19)")
+ (net 27 "Net-(U2-Pad20)")
+ (net 28 "Net-(U2-Pad21)")
+ (net 29 "Net-(U2-Pad22)")
+ (net 30 "Net-(U2-Pad23)")
+ (net 31 "Net-(U2-Pad24)")
+ (net 32 "Net-(U2-Pad25)")
+ (net 33 "Net-(U2-Pad26)")
+ (net 34 "Net-(U2-Pad27)")
+ (net 35 "Net-(U2-Pad28)")
+ (net 36 "Net-(U2-Pad29)")
+ (net 37 "Net-(U2-Pad30)")
+ (net 38 "Net-(U2-Pad34)")
+ (net 39 "Net-(U2-Pad35)")
+ (net 40 "Net-(U2-Pad36)")
+ (net 41 "Net-(U2-Pad37)")
+ (net 42 "Net-(U2-Pad38)")
+ (net 43 "Net-(U2-Pad39)")
+ (net 44 "Net-(U2-Pad40)")
+ (net 45 "Net-(U2-Pad41)")
+ (net 46 "Net-(U2-Pad42)")
+ (net 47 "Net-(U2-Pad43)")
+ (net 48 "Net-(U2-Pad44)")
+ (net 49 "Net-(U2-Pad45)")
+ (net 50 "Net-(U2-Pad46)")
+ (net 51 "Net-(U2-Pad47)")
+ (net 52 "Net-(U2-Pad48)")
+
+ (net_class Default "This is the default net class."
+ (clearance 0.2)
+ (trace_width 0.25)
+ (via_dia 0.8)
+ (via_drill 0.4)
+ (uvia_dia 0.3)
+ (uvia_drill 0.1)
+ (add_net +5V)
+ (add_net GND)
+ (add_net "Net-(J1-Pad2)")
+ (add_net "Net-(J1-Pad3)")
+ (add_net "Net-(U1-Pad4)")
+ (add_net "Net-(U1-Pad5)")
+ (add_net "Net-(U1-Pad6)")
+ (add_net "Net-(U2-Pad1)")
+ (add_net "Net-(U2-Pad10)")
+ (add_net "Net-(U2-Pad11)")
+ (add_net "Net-(U2-Pad12)")
+ (add_net "Net-(U2-Pad13)")
+ (add_net "Net-(U2-Pad14)")
+ (add_net "Net-(U2-Pad15)")
+ (add_net "Net-(U2-Pad16)")
+ (add_net "Net-(U2-Pad17)")
+ (add_net "Net-(U2-Pad18)")
+ (add_net "Net-(U2-Pad19)")
+ (add_net "Net-(U2-Pad2)")
+ (add_net "Net-(U2-Pad20)")
+ (add_net "Net-(U2-Pad21)")
+ (add_net "Net-(U2-Pad22)")
+ (add_net "Net-(U2-Pad23)")
+ (add_net "Net-(U2-Pad24)")
+ (add_net "Net-(U2-Pad25)")
+ (add_net "Net-(U2-Pad26)")
+ (add_net "Net-(U2-Pad27)")
+ (add_net "Net-(U2-Pad28)")
+ (add_net "Net-(U2-Pad29)")
+ (add_net "Net-(U2-Pad3)")
+ (add_net "Net-(U2-Pad30)")
+ (add_net "Net-(U2-Pad34)")
+ (add_net "Net-(U2-Pad35)")
+ (add_net "Net-(U2-Pad36)")
+ (add_net "Net-(U2-Pad37)")
+ (add_net "Net-(U2-Pad38)")
+ (add_net "Net-(U2-Pad39)")
+ (add_net "Net-(U2-Pad4)")
+ (add_net "Net-(U2-Pad40)")
+ (add_net "Net-(U2-Pad41)")
+ (add_net "Net-(U2-Pad42)")
+ (add_net "Net-(U2-Pad43)")
+ (add_net "Net-(U2-Pad44)")
+ (add_net "Net-(U2-Pad45)")
+ (add_net "Net-(U2-Pad46)")
+ (add_net "Net-(U2-Pad47)")
+ (add_net "Net-(U2-Pad48)")
+ (add_net "Net-(U2-Pad5)")
+ (add_net "Net-(U2-Pad6)")
+ (add_net "Net-(U2-Pad7)")
+ (add_net "Net-(U2-Pad8)")
+ (add_net "Net-(U2-Pad9)")
+ )
+
+ (module Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal (layer F.Cu) (tedit 5AFE01FF) (tstamp 5CC8F224)
+ (at 112.5 92 270)
+ (descr "USB B receptacle, Horizontal, through-hole, http://www.on-shore.com/wp-content/uploads/2015/09/usb-b1hsxx.pdf")
+ (tags "USB-B receptacle horizontal through-hole")
+ (path /5CB1CA5E)
+ (fp_text reference J1 (at 6.76 -7.77 270) (layer F.SilkS)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_text value USB_B (at 6.76 10.27 270) (layer F.Fab)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_line (start -0.49 -4.8) (end 15.01 -4.8) (layer F.Fab) (width 0.1))
+ (fp_line (start 15.01 -4.8) (end 15.01 7.3) (layer F.Fab) (width 0.1))
+ (fp_line (start 15.01 7.3) (end -1.49 7.3) (layer F.Fab) (width 0.1))
+ (fp_line (start -1.49 7.3) (end -1.49 -3.8) (layer F.Fab) (width 0.1))
+ (fp_line (start -1.49 -3.8) (end -0.49 -4.8) (layer F.Fab) (width 0.1))
+ (fp_line (start 2.66 -4.91) (end -1.6 -4.91) (layer F.SilkS) (width 0.12))
+ (fp_line (start -1.6 -4.91) (end -1.6 7.41) (layer F.SilkS) (width 0.12))
+ (fp_line (start -1.6 7.41) (end 2.66 7.41) (layer F.SilkS) (width 0.12))
+ (fp_line (start 6.76 -4.91) (end 15.12 -4.91) (layer F.SilkS) (width 0.12))
+ (fp_line (start 15.12 -4.91) (end 15.12 7.41) (layer F.SilkS) (width 0.12))
+ (fp_line (start 15.12 7.41) (end 6.76 7.41) (layer F.SilkS) (width 0.12))
+ (fp_line (start -1.82 0) (end -2.32 -0.5) (layer F.SilkS) (width 0.12))
+ (fp_line (start -2.32 -0.5) (end -2.32 0.5) (layer F.SilkS) (width 0.12))
+ (fp_line (start -2.32 0.5) (end -1.82 0) (layer F.SilkS) (width 0.12))
+ (fp_line (start -1.99 -7.02) (end -1.99 9.52) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -1.99 9.52) (end 15.51 9.52) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 15.51 9.52) (end 15.51 -7.02) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 15.51 -7.02) (end -1.99 -7.02) (layer F.CrtYd) (width 0.05))
+ (fp_text user %R (at 6.76 1.25 270) (layer F.Fab)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (pad 1 thru_hole rect (at 0 0 270) (size 1.7 1.7) (drill 0.92) (layers *.Cu *.Mask)
+ (net 1 +5V))
+ (pad 2 thru_hole circle (at 0 2.5 270) (size 1.7 1.7) (drill 0.92) (layers *.Cu *.Mask)
+ (net 2 "Net-(J1-Pad2)"))
+ (pad 3 thru_hole circle (at 2 2.5 270) (size 1.7 1.7) (drill 0.92) (layers *.Cu *.Mask)
+ (net 3 "Net-(J1-Pad3)"))
+ (pad 4 thru_hole circle (at 2 0 270) (size 1.7 1.7) (drill 0.92) (layers *.Cu *.Mask)
+ (net 4 GND))
+ (pad 5 thru_hole circle (at 4.71 -4.77 270) (size 3.5 3.5) (drill 2.33) (layers *.Cu *.Mask)
+ (net 4 GND))
+ (pad 5 thru_hole circle (at 4.71 7.27 270) (size 3.5 3.5) (drill 2.33) (layers *.Cu *.Mask)
+ (net 4 GND))
+ (model ${KISYS3DMOD}/Connector_USB.3dshapes/USB_B_OST_USB-B1HSxx_Horizontal.wrl
+ (at (xyz 0 0 0))
+ (scale (xyz 1 1 1))
+ (rotate (xyz 0 0 0))
+ )
+ )
+
+ (module Package_TO_SOT_SMD:SOT-23-6 (layer F.Cu) (tedit 5A02FF57) (tstamp 5CC8F23A)
+ (at 115 83.9 90)
+ (descr "6-pin SOT-23 package")
+ (tags SOT-23-6)
+ (path /5CB1EB77)
+ (attr smd)
+ (fp_text reference U1 (at 0 -2.9 90) (layer F.SilkS)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_text value USBUF01W6 (at 0 2.9 90) (layer F.Fab)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_text user %R (at 0 0 180) (layer F.Fab)
+ (effects (font (size 0.5 0.5) (thickness 0.075)))
+ )
+ (fp_line (start -0.9 1.61) (end 0.9 1.61) (layer F.SilkS) (width 0.12))
+ (fp_line (start 0.9 -1.61) (end -1.55 -1.61) (layer F.SilkS) (width 0.12))
+ (fp_line (start 1.9 -1.8) (end -1.9 -1.8) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 1.9 1.8) (end 1.9 -1.8) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -1.9 1.8) (end 1.9 1.8) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -1.9 -1.8) (end -1.9 1.8) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -0.9 -0.9) (end -0.25 -1.55) (layer F.Fab) (width 0.1))
+ (fp_line (start 0.9 -1.55) (end -0.25 -1.55) (layer F.Fab) (width 0.1))
+ (fp_line (start -0.9 -0.9) (end -0.9 1.55) (layer F.Fab) (width 0.1))
+ (fp_line (start 0.9 1.55) (end -0.9 1.55) (layer F.Fab) (width 0.1))
+ (fp_line (start 0.9 -1.55) (end 0.9 1.55) (layer F.Fab) (width 0.1))
+ (pad 1 smd rect (at -1.1 -0.95 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 3 "Net-(J1-Pad3)"))
+ (pad 2 smd rect (at -1.1 0 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 4 GND))
+ (pad 3 smd rect (at -1.1 0.95 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 2 "Net-(J1-Pad2)"))
+ (pad 4 smd rect (at 1.1 0.95 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 5 "Net-(U1-Pad4)"))
+ (pad 6 smd rect (at 1.1 -0.95 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 6 "Net-(U1-Pad6)"))
+ (pad 5 smd rect (at 1.1 0 90) (size 1.06 0.65) (layers F.Cu F.Paste F.Mask)
+ (net 7 "Net-(U1-Pad5)"))
+ (model ${KISYS3DMOD}/Package_TO_SOT_SMD.3dshapes/SOT-23-6.wrl
+ (at (xyz 0 0 0))
+ (scale (xyz 1 1 1))
+ (rotate (xyz 0 0 0))
+ )
+ )
+
+ (module Package_QFP:LQFP-48_7x7mm_P0.5mm (layer F.Cu) (tedit 5CB1D43F) (tstamp 5CC8F291)
+ (at 115 70 270)
+ (descr "48 LEAD LQFP 7x7mm (see MICREL LQFP7x7-48LD-PL-1.pdf)")
+ (tags "QFP 0.5")
+ (path /5CB1C7C2)
+ (attr smd)
+ (fp_text reference U2 (at 0 -6 270) (layer F.SilkS)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_text value STM32F103CBTx (at 0 6 270) (layer F.Fab)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_line (start 3.13 3.75) (end 3.75 3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.75 3.13) (end 3.75 3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.13 5.25) (end 3.13 3.75) (layer F.CrtYd) (width 0.05))
+ (fp_text user %R (at 0 0 270) (layer F.Fab)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_line (start -2.5 -3.5) (end 3.5 -3.5) (layer F.Fab) (width 0.1))
+ (fp_line (start 3.5 -3.5) (end 3.5 3.5) (layer F.Fab) (width 0.1))
+ (fp_line (start 3.5 3.5) (end -3.5 3.5) (layer F.Fab) (width 0.1))
+ (fp_line (start -3.5 3.5) (end -3.5 -2.5) (layer F.Fab) (width 0.1))
+ (fp_line (start -3.5 -2.5) (end -2.5 -3.5) (layer F.Fab) (width 0.1))
+ (fp_line (start -5.25 -3.13) (end -5.25 3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 5.25 -3.13) (end 5.25 3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 -5.25) (end 3.13 -5.25) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 5.25) (end 3.13 5.25) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.56 -3.56) (end 3.56 -3.14) (layer F.SilkS) (width 0.12))
+ (fp_line (start 3.56 3.56) (end 3.56 3.14) (layer F.SilkS) (width 0.12))
+ (fp_line (start -3.56 3.56) (end -3.56 3.14) (layer F.SilkS) (width 0.12))
+ (fp_line (start -3.56 -3.56) (end -3.14 -3.56) (layer F.SilkS) (width 0.12))
+ (fp_line (start 3.56 3.56) (end 3.14 3.56) (layer F.SilkS) (width 0.12))
+ (fp_line (start 3.56 -3.56) (end 3.14 -3.56) (layer F.SilkS) (width 0.12))
+ (fp_line (start -3.56 -3.14) (end -4.94 -3.14) (layer F.SilkS) (width 0.12))
+ (fp_line (start -3.56 -3.56) (end -3.56 -3.14) (layer F.SilkS) (width 0.12))
+ (fp_line (start -3.56 3.56) (end -3.14 3.56) (layer F.SilkS) (width 0.12))
+ (fp_line (start 3.75 3.13) (end 5.25 3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.75 -3.13) (end 5.25 -3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.13 -3.75) (end 3.13 -5.25) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 -3.75) (end -3.13 -5.25) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.75 -3.13) (end -5.25 -3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.75 3.13) (end -5.25 3.13) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 3.75) (end -3.13 5.25) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.13 -3.75) (end 3.75 -3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start 3.75 -3.13) (end 3.75 -3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.75 3.13) (end -3.75 3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 3.75) (end -3.75 3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.75 -3.13) (end -3.75 -3.75) (layer F.CrtYd) (width 0.05))
+ (fp_line (start -3.13 -3.75) (end -3.75 -3.75) (layer F.CrtYd) (width 0.05))
+ (pad 1 smd rect (at -4.35 -2.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 8 "Net-(U2-Pad1)"))
+ (pad 2 smd rect (at -4.35 -2.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 9 "Net-(U2-Pad2)"))
+ (pad 3 smd rect (at -4.35 -1.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 10 "Net-(U2-Pad3)"))
+ (pad 4 smd rect (at -4.35 -1.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 11 "Net-(U2-Pad4)"))
+ (pad 5 smd rect (at -4.35 -0.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 12 "Net-(U2-Pad5)"))
+ (pad 6 smd rect (at -4.35 -0.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 13 "Net-(U2-Pad6)"))
+ (pad 7 smd rect (at -4.35 0.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 14 "Net-(U2-Pad7)"))
+ (pad 8 smd rect (at -4.35 0.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 15 "Net-(U2-Pad8)"))
+ (pad 9 smd rect (at -4.35 1.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 16 "Net-(U2-Pad9)"))
+ (pad 10 smd rect (at -4.35 1.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 17 "Net-(U2-Pad10)"))
+ (pad 11 smd rect (at -4.35 2.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 18 "Net-(U2-Pad11)"))
+ (pad 12 smd rect (at -4.35 2.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 19 "Net-(U2-Pad12)"))
+ (pad 13 smd rect (at -2.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 20 "Net-(U2-Pad13)"))
+ (pad 14 smd rect (at -2.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 21 "Net-(U2-Pad14)"))
+ (pad 15 smd rect (at -1.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 22 "Net-(U2-Pad15)"))
+ (pad 16 smd rect (at -1.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 23 "Net-(U2-Pad16)"))
+ (pad 17 smd rect (at -0.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 24 "Net-(U2-Pad17)"))
+ (pad 18 smd rect (at -0.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 25 "Net-(U2-Pad18)"))
+ (pad 19 smd rect (at 0.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 26 "Net-(U2-Pad19)"))
+ (pad 20 smd rect (at 0.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 27 "Net-(U2-Pad20)"))
+ (pad 21 smd rect (at 1.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 28 "Net-(U2-Pad21)"))
+ (pad 22 smd rect (at 1.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 29 "Net-(U2-Pad22)"))
+ (pad 23 smd rect (at 2.25 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 30 "Net-(U2-Pad23)"))
+ (pad 24 smd rect (at 2.75 4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 31 "Net-(U2-Pad24)"))
+ (pad 25 smd rect (at 4.35 2.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 32 "Net-(U2-Pad25)"))
+ (pad 26 smd rect (at 4.35 2.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 33 "Net-(U2-Pad26)"))
+ (pad 27 smd rect (at 4.35 1.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 34 "Net-(U2-Pad27)"))
+ (pad 28 smd rect (at 4.35 1.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 35 "Net-(U2-Pad28)"))
+ (pad 29 smd rect (at 4.35 0.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 36 "Net-(U2-Pad29)"))
+ (pad 30 smd rect (at 4.35 0.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 37 "Net-(U2-Pad30)"))
+ (pad 31 smd rect (at 4.35 -0.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 7 "Net-(U1-Pad5)"))
+ (pad 32 smd rect (at 4.35 -0.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 5 "Net-(U1-Pad4)"))
+ (pad 33 smd rect (at 4.35 -1.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 6 "Net-(U1-Pad6)"))
+ (pad 34 smd rect (at 4.35 -1.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 38 "Net-(U2-Pad34)"))
+ (pad 35 smd rect (at 4.35 -2.25 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 39 "Net-(U2-Pad35)"))
+ (pad 36 smd rect (at 4.35 -2.75 270) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 40 "Net-(U2-Pad36)"))
+ (pad 37 smd rect (at 2.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 41 "Net-(U2-Pad37)"))
+ (pad 38 smd rect (at 2.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 42 "Net-(U2-Pad38)"))
+ (pad 39 smd rect (at 1.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 43 "Net-(U2-Pad39)"))
+ (pad 40 smd rect (at 1.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 44 "Net-(U2-Pad40)"))
+ (pad 41 smd rect (at 0.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 45 "Net-(U2-Pad41)"))
+ (pad 42 smd rect (at 0.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 46 "Net-(U2-Pad42)"))
+ (pad 43 smd rect (at -0.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 47 "Net-(U2-Pad43)"))
+ (pad 44 smd rect (at -0.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 48 "Net-(U2-Pad44)"))
+ (pad 45 smd rect (at -1.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 49 "Net-(U2-Pad45)"))
+ (pad 46 smd rect (at -1.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 50 "Net-(U2-Pad46)"))
+ (pad 47 smd rect (at -2.25 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 51 "Net-(U2-Pad47)"))
+ (pad 48 smd rect (at -2.75 -4.35) (size 1.3 0.25) (layers F.Cu F.Paste F.Mask)
+ (net 52 "Net-(U2-Pad48)"))
+ (model ${KISYS3DMOD}/Package_QFP.3dshapes/LQFP-48_7x7mm_P0.5mm.wrl
+ (at (xyz 0 0 0))
+ (scale (xyz 1 1 1))
+ (rotate (xyz 0 0 0))
+ )
+ )
+
+ (gr_line (start 100 100) (end 100 50) (layer Edge.Cuts) (width 0.15))
+ (gr_line (start 150 100) (end 100 100) (layer Edge.Cuts) (width 0.15))
+ (gr_line (start 150 50) (end 150 100) (layer Edge.Cuts) (width 0.15))
+ (gr_line (start 100 50) (end 150 50) (layer Edge.Cuts) (width 0.15))
+
+)
diff --git a/hardware/prototype/entropykey.net b/hardware/prototype/entropykey.net
new file mode 100644
index 0000000..014ecbf
--- /dev/null
+++ b/hardware/prototype/entropykey.net
@@ -0,0 +1,244 @@
+(export (version D)
+ (design
+ (source /home/dsilvers/dev-git/entropykey-prototype/hardware/entropykey/entropykey.sch)
+ (date "Sat 13 Apr 2019 13:18:32 BST")
+ (tool "Eeschema 5.0.2+dfsg1-1~bpo9+1")
+ (sheet (number 1) (name /) (tstamps /)
+ (title_block
+ (title "Entropy Key Prototype")
+ (company)
+ (rev)
+ (date)
+ (source entropykey.sch)
+ (comment (number 1) (value ""))
+ (comment (number 2) (value ""))
+ (comment (number 3) (value ""))
+ (comment (number 4) (value "")))))
+ (components
+ (comp (ref U2)
+ (value STM32F103CBTx)
+ (footprint Package_QFP:LQFP-48_7x7mm_P0.5mm)
+ (datasheet http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf)
+ (libsource (lib MCU_ST_STM32F1) (part STM32F103CBTx) (description "ARM Cortex-M3 MCU, 128KB flash, 20KB RAM, 72MHz, 2-3.6V, 37 GPIO, LQFP-48"))
+ (sheetpath (names /) (tstamps /))
+ (tstamp 5CB1C7C2))
+ (comp (ref J1)
+ (value USB_B)
+ (footprint Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal)
+ (datasheet " ~")
+ (libsource (lib Connector) (part USB_B) (description "USB Type B connector"))
+ (sheetpath (names /) (tstamps /))
+ (tstamp 5CB1CA5E))
+ (comp (ref U1)
+ (value USBUF01W6)
+ (footprint Package_TO_SOT_SMD:SOT-23-6)
+ (libsource (lib extras) (part USBUF01W6) (description ""))
+ (sheetpath (names /) (tstamps /))
+ (tstamp 5CB1EB77)))
+ (libparts
+ (libpart (lib Connector) (part USB_B)
+ (description "USB Type B connector")
+ (docs " ~")
+ (footprints
+ (fp USB*))
+ (fields
+ (field (name Reference) J)
+ (field (name Value) USB_B))
+ (pins
+ (pin (num 1) (name VBUS) (type power_out))
+ (pin (num 2) (name D-) (type passive))
+ (pin (num 3) (name D+) (type passive))
+ (pin (num 4) (name GND) (type power_out))
+ (pin (num 5) (name Shield) (type passive))))
+ (libpart (lib MCU_ST_STM32F1) (part STM32F103C8Tx)
+ (aliases
+ (alias STM32F103CBTx))
+ (description "ARM Cortex-M3 MCU, 64KB flash, 20KB RAM, 72MHz, 2-3.6V, 37 GPIO, LQFP-48")
+ (docs http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf)
+ (footprints
+ (fp LQFP*7x7mm*P0.5mm*))
+ (fields
+ (field (name Reference) U)
+ (field (name Value) STM32F103C8Tx)
+ (field (name Footprint) Package_QFP:LQFP-48_7x7mm_P0.5mm))
+ (pins
+ (pin (num 1) (name VBAT) (type power_in))
+ (pin (num 2) (name PC13) (type BiDi))
+ (pin (num 3) (name PC14) (type BiDi))
+ (pin (num 4) (name PC15) (type BiDi))
+ (pin (num 5) (name PD0) (type input))
+ (pin (num 6) (name PD1) (type input))
+ (pin (num 7) (name NRST) (type input))
+ (pin (num 8) (name VSSA) (type power_in))
+ (pin (num 9) (name VDDA) (type power_in))
+ (pin (num 10) (name PA0) (type BiDi))
+ (pin (num 11) (name PA1) (type BiDi))
+ (pin (num 12) (name PA2) (type BiDi))
+ (pin (num 13) (name PA3) (type BiDi))
+ (pin (num 14) (name PA4) (type BiDi))
+ (pin (num 15) (name PA5) (type BiDi))
+ (pin (num 16) (name PA6) (type BiDi))
+ (pin (num 17) (name PA7) (type BiDi))
+ (pin (num 18) (name PB0) (type BiDi))
+ (pin (num 19) (name PB1) (type BiDi))
+ (pin (num 20) (name PB2) (type BiDi))
+ (pin (num 21) (name PB10) (type BiDi))
+ (pin (num 22) (name PB11) (type BiDi))
+ (pin (num 23) (name VSS) (type power_in))
+ (pin (num 24) (name VDD) (type power_in))
+ (pin (num 25) (name PB12) (type BiDi))
+ (pin (num 26) (name PB13) (type BiDi))
+ (pin (num 27) (name PB14) (type BiDi))
+ (pin (num 28) (name PB15) (type BiDi))
+ (pin (num 29) (name PA8) (type BiDi))
+ (pin (num 30) (name PA9) (type BiDi))
+ (pin (num 31) (name PA10) (type BiDi))
+ (pin (num 32) (name PA11) (type BiDi))
+ (pin (num 33) (name PA12) (type BiDi))
+ (pin (num 34) (name PA13) (type BiDi))
+ (pin (num 35) (name VSS) (type power_in))
+ (pin (num 36) (name VDD) (type power_in))
+ (pin (num 37) (name PA14) (type BiDi))
+ (pin (num 38) (name PA15) (type BiDi))
+ (pin (num 39) (name PB3) (type BiDi))
+ (pin (num 40) (name PB4) (type BiDi))
+ (pin (num 41) (name PB5) (type BiDi))
+ (pin (num 42) (name PB6) (type BiDi))
+ (pin (num 43) (name PB7) (type BiDi))
+ (pin (num 44) (name BOOT0) (type input))
+ (pin (num 45) (name PB8) (type BiDi))
+ (pin (num 46) (name PB9) (type BiDi))
+ (pin (num 47) (name VSS) (type power_in))
+ (pin (num 48) (name VDD) (type power_in))))
+ (libpart (lib extras) (part USBUF01W6)
+ (footprints
+ (fp SOT-23-6))
+ (fields
+ (field (name Reference) U)
+ (field (name Value) USBUF01W6))
+ (pins
+ (pin (num 1) (name D1) (type BiDi))
+ (pin (num 2) (name GND) (type power_in))
+ (pin (num 3) (name D2) (type BiDi))
+ (pin (num 4) (name D3) (type BiDi))
+ (pin (num 5) (name 3.3v) (type power_in))
+ (pin (num 6) (name D4) (type BiDi)))))
+ (libraries
+ (library (logical Connector)
+ (uri /usr/share/kicad/library/Connector.lib))
+ (library (logical MCU_ST_STM32F1)
+ (uri /usr/share/kicad/library/MCU_ST_STM32F1.lib))
+ (library (logical extras)
+ (uri /home/dsilvers/dev-git/entropykey-prototype/hardware/entropykey/extras.lib)))
+ (nets
+ (net (code 1) (name "Net-(J1-Pad2)")
+ (node (ref J1) (pin 2))
+ (node (ref U1) (pin 3)))
+ (net (code 2) (name "Net-(J1-Pad3)")
+ (node (ref J1) (pin 3))
+ (node (ref U1) (pin 1)))
+ (net (code 3) (name +5V)
+ (node (ref J1) (pin 1)))
+ (net (code 4) (name "Net-(U1-Pad5)")
+ (node (ref U2) (pin 31))
+ (node (ref U1) (pin 5)))
+ (net (code 5) (name "Net-(U2-Pad8)")
+ (node (ref U2) (pin 8)))
+ (net (code 6) (name "Net-(U2-Pad47)")
+ (node (ref U2) (pin 47)))
+ (net (code 7) (name GND)
+ (node (ref J1) (pin 4))
+ (node (ref J1) (pin 5))
+ (node (ref U1) (pin 2)))
+ (net (code 8) (name "Net-(U1-Pad4)")
+ (node (ref U1) (pin 4))
+ (node (ref U2) (pin 32)))
+ (net (code 9) (name "Net-(U1-Pad6)")
+ (node (ref U2) (pin 33))
+ (node (ref U1) (pin 6)))
+ (net (code 10) (name "Net-(U2-Pad35)")
+ (node (ref U2) (pin 35)))
+ (net (code 11) (name "Net-(U2-Pad13)")
+ (node (ref U2) (pin 13)))
+ (net (code 12) (name "Net-(U2-Pad25)")
+ (node (ref U2) (pin 25)))
+ (net (code 13) (name "Net-(U2-Pad22)")
+ (node (ref U2) (pin 22)))
+ (net (code 14) (name "Net-(U2-Pad21)")
+ (node (ref U2) (pin 21)))
+ (net (code 15) (name "Net-(U2-Pad19)")
+ (node (ref U2) (pin 19)))
+ (net (code 16) (name "Net-(U2-Pad18)")
+ (node (ref U2) (pin 18)))
+ (net (code 17) (name "Net-(U2-Pad30)")
+ (node (ref U2) (pin 30)))
+ (net (code 18) (name "Net-(U2-Pad29)")
+ (node (ref U2) (pin 29)))
+ (net (code 19) (name "Net-(U2-Pad17)")
+ (node (ref U2) (pin 17)))
+ (net (code 20) (name "Net-(U2-Pad16)")
+ (node (ref U2) (pin 16)))
+ (net (code 21) (name "Net-(U2-Pad15)")
+ (node (ref U2) (pin 15)))
+ (net (code 22) (name "Net-(U2-Pad14)")
+ (node (ref U2) (pin 14)))
+ (net (code 23) (name "Net-(U2-Pad26)")
+ (node (ref U2) (pin 26)))
+ (net (code 24) (name "Net-(U2-Pad12)")
+ (node (ref U2) (pin 12)))
+ (net (code 25) (name "Net-(U2-Pad38)")
+ (node (ref U2) (pin 38)))
+ (net (code 26) (name "Net-(U2-Pad37)")
+ (node (ref U2) (pin 37)))
+ (net (code 27) (name "Net-(U2-Pad34)")
+ (node (ref U2) (pin 34)))
+ (net (code 28) (name "Net-(U2-Pad11)")
+ (node (ref U2) (pin 11)))
+ (net (code 29) (name "Net-(U2-Pad10)")
+ (node (ref U2) (pin 10)))
+ (net (code 30) (name "Net-(U2-Pad7)")
+ (node (ref U2) (pin 7)))
+ (net (code 31) (name "Net-(U2-Pad2)")
+ (node (ref U2) (pin 2)))
+ (net (code 32) (name "Net-(U2-Pad23)")
+ (node (ref U2) (pin 23)))
+ (net (code 33) (name "Net-(U2-Pad9)")
+ (node (ref U2) (pin 9)))
+ (net (code 34) (name "Net-(U2-Pad48)")
+ (node (ref U2) (pin 48)))
+ (net (code 35) (name "Net-(U2-Pad36)")
+ (node (ref U2) (pin 36)))
+ (net (code 36) (name "Net-(U2-Pad24)")
+ (node (ref U2) (pin 24)))
+ (net (code 37) (name "Net-(U2-Pad1)")
+ (node (ref U2) (pin 1)))
+ (net (code 38) (name "Net-(U2-Pad6)")
+ (node (ref U2) (pin 6)))
+ (net (code 39) (name "Net-(U2-Pad5)")
+ (node (ref U2) (pin 5)))
+ (net (code 40) (name "Net-(U2-Pad4)")
+ (node (ref U2) (pin 4)))
+ (net (code 41) (name "Net-(U2-Pad3)")
+ (node (ref U2) (pin 3)))
+ (net (code 42) (name "Net-(U2-Pad44)")
+ (node (ref U2) (pin 44)))
+ (net (code 43) (name "Net-(U2-Pad46)")
+ (node (ref U2) (pin 46)))
+ (net (code 44) (name "Net-(U2-Pad45)")
+ (node (ref U2) (pin 45)))
+ (net (code 45) (name "Net-(U2-Pad43)")
+ (node (ref U2) (pin 43)))
+ (net (code 46) (name "Net-(U2-Pad42)")
+ (node (ref U2) (pin 42)))
+ (net (code 47) (name "Net-(U2-Pad41)")
+ (node (ref U2) (pin 41)))
+ (net (code 48) (name "Net-(U2-Pad40)")
+ (node (ref U2) (pin 40)))
+ (net (code 49) (name "Net-(U2-Pad39)")
+ (node (ref U2) (pin 39)))
+ (net (code 50) (name "Net-(U2-Pad20)")
+ (node (ref U2) (pin 20)))
+ (net (code 51) (name "Net-(U2-Pad28)")
+ (node (ref U2) (pin 28)))
+ (net (code 52) (name "Net-(U2-Pad27)")
+ (node (ref U2) (pin 27))))) \ No newline at end of file
diff --git a/hardware/prototype/entropykey.pro b/hardware/prototype/entropykey.pro
new file mode 100644
index 0000000..152769c
--- /dev/null
+++ b/hardware/prototype/entropykey.pro
@@ -0,0 +1,33 @@
+update=22/05/2015 07:44:53
+version=1
+last_client=kicad
+[general]
+version=1
+RootSch=
+BoardNm=
+[pcbnew]
+version=1
+LastNetListRead=
+UseCmpFile=1
+PadDrill=0.600000000000
+PadDrillOvalY=0.600000000000
+PadSizeH=1.500000000000
+PadSizeV=1.500000000000
+PcbTextSizeV=1.500000000000
+PcbTextSizeH=1.500000000000
+PcbTextThickness=0.300000000000
+ModuleTextSizeV=1.000000000000
+ModuleTextSizeH=1.000000000000
+ModuleTextSizeThickness=0.150000000000
+SolderMaskClearance=0.000000000000
+SolderMaskMinWidth=0.000000000000
+DrawSegmentWidth=0.200000000000
+BoardOutlineThickness=0.100000000000
+ModuleOutlineThickness=0.150000000000
+[cvpcb]
+version=1
+NetIExt=net
+[eeschema]
+version=1
+LibDir=
+[eeschema/libraries]
diff --git a/hardware/prototype/entropykey.sch b/hardware/prototype/entropykey.sch
new file mode 100644
index 0000000..3f2baa0
--- /dev/null
+++ b/hardware/prototype/entropykey.sch
@@ -0,0 +1,134 @@
+EESchema Schematic File Version 4
+LIBS:entropykey-cache
+EELAYER 26 0
+EELAYER END
+$Descr A4 11693 8268
+encoding utf-8
+Sheet 1 1
+Title "Entropy Key Prototype"
+Date ""
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndDescr
+$Comp
+L MCU_ST_STM32F1:STM32F103CBTx U2
+U 1 1 5CB1C7C2
+P 6050 3400
+F 0 "U2" H 6000 1814 50 0000 C CNN
+F 1 "STM32F103CBTx" H 6000 1723 50 0000 C CNN
+F 2 "Package_QFP:LQFP-48_7x7mm_P0.5mm" H 5450 2000 50 0001 R CNN
+F 3 "http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf" H 6050 3400 50 0001 C CNN
+ 1 6050 3400
+ -1 0 0 -1
+$EndComp
+$Comp
+L Connector:USB_B J1
+U 1 1 5CB1CA5E
+P 2200 4350
+F 0 "J1" H 2255 4817 50 0000 C CNN
+F 1 "USB_B" H 2255 4726 50 0000 C CNN
+F 2 "Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal" H 2350 4300 50 0001 C CNN
+F 3 " ~" H 2350 4300 50 0001 C CNN
+ 1 2200 4350
+ 1 0 0 -1
+$EndComp
+$Comp
+L extras:USBUF01W6 U1
+U 1 1 5CB1EB77
+P 4050 4300
+F 0 "U1" H 4050 4625 50 0000 C CNN
+F 1 "USBUF01W6" H 4050 4534 50 0000 C CNN
+F 2 "Package_TO_SOT_SMD:SOT-23-6" H 4200 4000 50 0001 C CNN
+F 3 "" H 4200 4000 50 0001 C CNN
+ 1 4050 4300
+ 1 0 0 -1
+$EndComp
+Wire Wire Line
+ 2500 4150 2600 4150
+Wire Wire Line
+ 2600 4150 2600 4000
+Wire Wire Line
+ 2500 4350 3200 4350
+Wire Wire Line
+ 3200 4350 3200 4200
+Wire Wire Line
+ 3200 4200 3750 4200
+Wire Wire Line
+ 2500 4450 3250 4450
+Wire Wire Line
+ 3250 4450 3250 4400
+Wire Wire Line
+ 3250 4400 3750 4400
+Wire Wire Line
+ 2200 4750 2200 4800
+Wire Wire Line
+ 2100 4750 2100 4800
+Wire Wire Line
+ 2100 4800 2200 4800
+Connection ~ 2200 4800
+Wire Wire Line
+ 2200 4800 2200 4900
+$Comp
+L power:GND #PWR01
+U 1 1 5CB1EE6D
+P 2200 4900
+F 0 "#PWR01" H 2200 4650 50 0001 C CNN
+F 1 "GND" H 2205 4727 50 0000 C CNN
+F 2 "" H 2200 4900 50 0001 C CNN
+F 3 "" H 2200 4900 50 0001 C CNN
+ 1 2200 4900
+ 1 0 0 -1
+$EndComp
+$Comp
+L power:+5V #PWR02
+U 1 1 5CB1EEC2
+P 2600 4000
+F 0 "#PWR02" H 2600 3850 50 0001 C CNN
+F 1 "+5V" H 2615 4173 50 0000 C CNN
+F 2 "" H 2600 4000 50 0001 C CNN
+F 3 "" H 2600 4000 50 0001 C CNN
+ 1 2600 4000
+ 1 0 0 -1
+$EndComp
+Wire Wire Line
+ 3750 4300 3650 4300
+Wire Wire Line
+ 3650 4300 3650 4450
+$Comp
+L power:GND #PWR03
+U 1 1 5CB1F1F9
+P 3650 4450
+F 0 "#PWR03" H 3650 4200 50 0001 C CNN
+F 1 "GND" H 3655 4277 50 0000 C CNN
+F 2 "" H 3650 4450 50 0001 C CNN
+F 3 "" H 3650 4450 50 0001 C CNN
+ 1 3650 4450
+ 1 0 0 -1
+$EndComp
+Wire Wire Line
+ 4350 4200 5150 4200
+Wire Wire Line
+ 5150 4200 5150 4400
+Wire Wire Line
+ 5150 4400 5450 4400
+Wire Wire Line
+ 4350 4400 5000 4400
+Wire Wire Line
+ 5000 4400 5000 4300
+Wire Wire Line
+ 5000 4300 5450 4300
+Wire Wire Line
+ 5450 4200 5250 4200
+Wire Wire Line
+ 5250 4200 5250 4250
+Wire Wire Line
+ 5250 4250 4650 4250
+Wire Wire Line
+ 4650 4250 4650 4300
+Wire Wire Line
+ 4650 4300 4350 4300
+$EndSCHEMATC
diff --git a/hardware/prototype/extras.dcm b/hardware/prototype/extras.dcm
new file mode 100644
index 0000000..5f3ed79
--- /dev/null
+++ b/hardware/prototype/extras.dcm
@@ -0,0 +1,3 @@
+EESchema-DOCLIB Version 2.0
+#
+#End Doc Library
diff --git a/hardware/prototype/extras.lib b/hardware/prototype/extras.lib
new file mode 100644
index 0000000..9884865
--- /dev/null
+++ b/hardware/prototype/extras.lib
@@ -0,0 +1,69 @@
+EESchema-LIBRARY Version 2.4
+#encoding utf-8
+#
+# USBUF01W6
+#
+DEF USBUF01W6 U 0 0 N Y 1 F N
+F0 "U" -5 195 50 H V C CNN
+F1 "USBUF01W6" 0 -200 50 H V C CNN
+F2 "" 150 -300 50 H I C CNN
+F3 "" 150 -300 50 H I C CNN
+$FPLIST
+ SOT-23-6
+$ENDFPLIST
+DRAW
+C -100 -100 5 0 1 0 N
+C -100 0 5 0 1 0 N
+C -100 100 5 0 1 0 N
+C -55 -100 5 0 1 0 N
+C -55 0 5 0 1 0 N
+C -55 100 5 0 1 0 N
+C 80 0 5 0 1 0 N
+T 0 120 75 50 0 0 0 + Normal 0 C C
+T 0 120 -115 50 0 0 0 - Normal 0 C C
+T 0 120 -40 50 0 0 0 D Normal 0 C C
+T 0 -125 -40 50 0 0 0 P Normal 0 C C
+S -150 150 150 -150 0 1 0 N
+P 2 0 1 0 -200 -100 -40 -100 N
+P 2 0 1 0 -200 100 -40 100 N
+P 2 0 1 0 -110 -65 -90 -65 N
+P 2 0 1 0 -110 -55 -90 -55 N
+P 2 0 1 0 -100 -100 -100 -65 N
+P 2 0 1 0 -100 -55 -100 -25 N
+P 2 0 1 0 -100 -25 -100 25 N
+P 2 0 1 0 -55 -100 -55 -70 N
+P 2 0 1 0 -55 -50 -55 -25 N
+P 2 0 1 0 -55 25 -55 -25 N
+P 2 0 1 0 -20 0 -200 0 N
+P 2 0 1 0 20 -100 200 -100 N
+P 2 0 1 0 20 100 200 100 N
+P 2 0 1 0 55 0 200 0 N
+P 2 0 1 0 80 20 80 0 N
+P 2 0 1 0 80 80 80 100 N
+P 4 0 1 0 -75 -65 -70 -70 -40 -70 -35 -75 N
+P 4 0 1 0 -55 -70 -65 -50 -45 -50 -55 -70 N
+P 8 0 1 0 -40 100 -35 110 -25 90 -15 110 -5 90 5 110 15 90 20 100 N
+P 2 1 1 0 -110 55 -90 55 N
+P 2 1 1 0 -110 65 -90 65 N
+P 2 1 1 0 -100 55 -100 25 N
+P 2 1 1 0 -100 100 -100 65 N
+P 2 1 1 0 -55 50 -55 25 N
+P 2 1 1 0 -55 100 -55 70 N
+P 2 1 1 0 5 0 -20 0 N
+P 2 1 1 0 55 0 25 0 N
+P 4 1 1 0 -75 65 -70 70 -40 70 -35 75 N
+P 4 1 1 0 -55 70 -65 50 -45 50 -55 70 N
+P 4 1 1 0 20 -20 25 -15 25 15 30 20 N
+P 4 1 1 0 25 0 5 -10 5 10 25 0 N
+P 8 1 1 0 -40 -100 -35 -90 -25 -110 -15 -90 -5 -110 5 -90 15 -110 20 -100 N
+P 8 1 1 0 80 20 70 25 90 35 70 45 90 55 70 65 90 75 80 80 N
+X D1 1 -300 100 100 R 50 50 1 1 B
+X GND 2 -300 0 100 R 50 50 1 1 W
+X D2 3 -300 -100 100 R 50 50 1 1 B
+X D3 4 300 -100 100 L 50 50 1 1 B
+X 3.3v 5 300 0 100 L 50 50 1 1 W
+X D4 6 300 100 100 L 50 50 1 1 B
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/hardware/prototype/sym-lib-table b/hardware/prototype/sym-lib-table
new file mode 100644
index 0000000..b87fa24
--- /dev/null
+++ b/hardware/prototype/sym-lib-table
@@ -0,0 +1,3 @@
+(sym_lib_table
+ (lib (name extras)(type Legacy)(uri /home/dsilvers/dev-git/entropykey-prototype/hardware/prototype/extras.lib)(options "")(descr ""))
+)
diff --git a/parts b/parts
new file mode 100644
index 0000000..e7d7d6c
--- /dev/null
+++ b/parts
@@ -0,0 +1,116 @@
+Parts Selection
+===============
+
+Where possible, we're selecting parts purchasable from LCSC because that way
+we can combine shipping from JLCPCB when we order the prototypes...
+
+Prices, where stated, are correct as of Saturday April 13th 2019
+
+Pricing calculated based on the idea of ordering enough parts to build five
+so slop components up to ten, though perhaps not for the CPUs.
+
+Large ICs
+---------
+
+### Processor
+
+Processor will be an STM32F103C (LQFP48) and the options are:
+
+C8303 - C6 part, 32K flash - £1.66 in ones, £11.63 for 7
+C9861 - C8 part, 64K flash - £2.02 in ones, £14.17 for 7
+C8304 - CB part, 128K flash - £2.05 in ones, £14.32 for 7
+
+For prototypes, we're going with C8304 for the easiest time of things.
+Production may drop to C8303 if we can make the firmware small enough.
+
+### Hex inverter
+
+We used an AHCU part in the original ekey, and an ALS in the original
+prototype. We're trying an HCU part for this variant.
+
+C129521 - Hex inverter - £0.084 in tens, £0.84 for 10
+
+https://datasheet.lcsc.com/szlcsc/NXP-Semicon-74HCU04PW_C129521.pdf
+
+Power supplies
+--------------
+
+### 3.3v supply
+
+We don't need a huge amount of power here, so 150mA or so of LDO should
+be plenty, let's get the most efficient we can though.
+
+C83932 - 3v3 250mA - £0.0171 in 20s, £0.342 for 20 - MOQ
+
+### HV DC-DC
+
+C181783 - MT3540-F23 - £0.0511 in fives - £0.511 for 10
+
+https://datasheet.lcsc.com/szlcsc/XI-AN-Aerosemi-Tech-MT3540-F23_C181783.pdf
+
+The -F23 has a 1.23v reference so a 150k/10k divider ought to give us approx.
+20 volts on the HV line.
+
+### Inductor for HV DC-DC
+
+We need a wire-wound inductor with shielding.
+
+C218837 - 10uH 3x3x1.2 inductor - £0.0888 in 10s - £0.888 for 10
+
+https://datasheet.lcsc.com/szlcsc/Cyntec-PST031B-100MS_C218837.pdf
+
+Noise Generators
+----------------
+
+Noise generation needs moderately high hFE transistors. We used BC817-25-N
+in the original ekey (though I think I used random NPN things when I built the
+prototype. We need four per noise generator, so 40 for building 10 units.
+
+C181168 - SOT-23-3 BEC layout - 0.0046 in 50s - £0.23 for 50
+
+Misc parts
+----------
+
+### USB protection chip
+
+While this isn't large, it's also not generic cress, so… we need a USBUF01W6
+to protect a device. This also includes the presence pullup so we're able
+to save space by not needing additional transistors and resistors.
+
+C123726 - USBUF01W6 - £0.3664 in 10s, £3.664 for 10
+
+### Crystal
+
+Driving the STM32 HSE can be done with anything from 8 to 16 MHz. To be
+effective we need it to be able to generate the 48MHz USB clock which means
+we want 8 or 12 really. 8 is most common on developer boards, so let's stick
+with that…
+
+C133333 - SMD-5032_4P - £0.1314 in 10s, £1.314 for 10
+XTAL across pins 1 and 3
+
+https://datasheet.lcsc.com/szlcsc/Zhejiang-Abel-Elec-SMD-5032-4P8M20pf20ppm_C133333.pdf
+
+### USB plug/socket
+
+For the production units we'll need an A-plug, but for prototype development
+we'll fit B-sockets of some kind. Full-on chunky B connectors will be very
+physically stable which is good for a prototype.
+
+C46392 - B socket - £0.0591 in 5s - £0.591 for 10
+
+https://datasheet.lcsc.com/szlcsc/Jing-Extension-of-the-Electronic-Co-LCSC-USB-BFemale90Degree-of-iron-feet-White-plastic-Not-high-temperature_C46392.pdf
+
+### LED(s)
+
+For the prototype we should fit a bunch'o'LEDs so that we can develop usefully
+when debugging gets tough.
+
+C205445 - Orange-red 0603 - £0.0044 in 50s - £0.22 for 50
+
+C205450 - Green-Yellow 0603 - £0.0049 in 50s - £0.245 for 50
+
+C193191 - Blue 0603 - £0.0049 in 50s - £0.245 for 50
+
+Probably fit one of each to each board for convenience.
+