schematic: add ESD protection on USB

This commit is contained in:
King Kévin 2020-02-07 15:57:19 +01:00
parent 33cabfc33b
commit c09e471664
3 changed files with 976 additions and 281 deletions

View File

@ -48,6 +48,7 @@ parts_local << "vreg/vreg_pmic_tpower_tp4056"
parts_local << "transistor/transistor_pmos_nxp_bss84"
parts_local << "mechanical/mechanical_button_6mm"
parts_local << "oscillator/hc-49@SM"
parts_local << "diode/diode_tvs_st_usblc6-2@SC6"
parts_local << "connector/connector_molex_530470210"
# the corresponding files
library = parts_local.collect {|part| "library/#{part.split('@')[0].downcase}.yaml"}

View File

@ -0,0 +1,684 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT95P280X145-6N........
ha:attributes {
footprint = SOT95P280X145-6N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
0.556mm
-0.150mm
0.554mm
-0.176mm
0.547mm
-0.201mm
0.536mm
-0.225mm
0.521mm
-0.246mm
0.503mm
-0.265mm
0.481mm
-0.280mm
0.458mm
-0.291mm
0.432mm
-0.298mm
0.406mm
-0.300mm
-0.406mm
-0.300mm
-0.432mm
-0.298mm
-0.458mm
-0.291mm
-0.481mm
-0.280mm
-0.503mm
-0.265mm
-0.521mm
-0.246mm
-0.536mm
-0.225mm
-0.547mm
-0.201mm
-0.554mm
-0.176mm
-0.556mm
-0.150mm
-0.556mm
0.150mm
-0.554mm
0.176mm
-0.547mm
0.201mm
-0.536mm
0.225mm
-0.521mm
0.246mm
-0.503mm
0.265mm
-0.481mm
0.280mm
-0.458mm
0.291mm
-0.432mm
0.298mm
-0.406mm
0.300mm
0.406mm
0.300mm
0.432mm
0.298mm
0.458mm
0.291mm
0.481mm
0.280mm
0.503mm
0.265mm
0.521mm
0.246mm
0.536mm
0.225mm
0.547mm
0.201mm
0.554mm
0.176mm
0.556mm
0.150mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
0.606mm
-0.175mm
0.604mm
-0.205mm
0.596mm
-0.235mm
0.583mm
-0.262mm
0.565mm
-0.287mm
0.544mm
-0.309mm
0.519mm
-0.327mm
0.491mm
-0.339mm
0.462mm
-0.347mm
0.431mm
-0.350mm
-0.431mm
-0.350mm
-0.462mm
-0.347mm
-0.491mm
-0.339mm
-0.519mm
-0.327mm
-0.544mm
-0.309mm
-0.565mm
-0.287mm
-0.583mm
-0.262mm
-0.596mm
-0.235mm
-0.604mm
-0.205mm
-0.606mm
-0.175mm
-0.606mm
0.175mm
-0.604mm
0.205mm
-0.596mm
0.235mm
-0.583mm
0.263mm
-0.565mm
0.287mm
-0.544mm
0.309mm
-0.519mm
0.327mm
-0.491mm
0.339mm
-0.462mm
0.347mm
-0.431mm
0.350mm
0.431mm
0.350mm
0.462mm
0.347mm
0.491mm
0.339mm
0.519mm
0.327mm
0.544mm
0.309mm
0.565mm
0.287mm
0.583mm
0.263mm
0.596mm
0.235mm
0.604mm
0.205mm
0.606mm
0.175mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
0.556mm
-0.150mm
0.554mm
-0.176mm
0.547mm
-0.201mm
0.536mm
-0.225mm
0.521mm
-0.246mm
0.503mm
-0.265mm
0.481mm
-0.280mm
0.458mm
-0.291mm
0.432mm
-0.298mm
0.406mm
-0.300mm
-0.406mm
-0.300mm
-0.432mm
-0.298mm
-0.458mm
-0.291mm
-0.481mm
-0.280mm
-0.503mm
-0.265mm
-0.521mm
-0.246mm
-0.536mm
-0.225mm
-0.547mm
-0.201mm
-0.554mm
-0.176mm
-0.556mm
-0.150mm
-0.556mm
0.150mm
-0.554mm
0.176mm
-0.547mm
0.201mm
-0.536mm
0.225mm
-0.521mm
0.246mm
-0.503mm
0.265mm
-0.481mm
0.280mm
-0.458mm
0.291mm
-0.432mm
0.298mm
-0.406mm
0.300mm
0.406mm
0.300mm
0.432mm
0.298mm
0.458mm
0.291mm
0.481mm
0.280mm
0.503mm
0.265mm
0.521mm
0.246mm
0.536mm
0.225mm
0.547mm
0.201mm
0.554mm
0.176mm
0.556mm
0.150mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.31 {
proto = 2
rot = 0
x = -1.350mm
y = -0.950mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.32 {
proto = 2
rot = 0
x = -1.350mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.350mm
y = 0.950mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = 1.350mm
y = -0.950mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = 1.350mm
y = 0.000mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.36 {
proto = 2
rot = 0
x = 1.350mm
y = 0.950mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.37 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.38 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.39 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.40 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.41 {
x1 = -0.873mm
y1 = -1.522mm
x2 = 0.873mm
y2 = -1.522mm
thickness = 0.120mm
clearance = 0
}
ha:line.42 {
x1 = 0.873mm
y1 = 1.522mm
x2 = -0.873mm
y2 = 1.522mm
thickness = 0.120mm
clearance = 0
}
ha:arc.43 {
x = -1.350mm
y = -1.940mm
width = 0.125mm
height = 0.125mm
thickness = 0.250mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.44 {
x1 = -0.873mm
y1 = -1.510mm
x2 = -2.166mm
y2 = -1.510mm
thickness = 0.120mm
clearance = 0
}
ha:line.45 {
x1 = -2.166mm
y1 = -1.510mm
x2 = -2.166mm
y2 = -0.650mm
thickness = 0.120mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:text.46 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = SOT95P280X145-6N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.47 {
x1 = 0.000mm
y1 = -1.462mm
x2 = 0.813mm
y2 = -1.462mm
thickness = 0.100mm
clearance = 0
}
ha:line.48 {
x1 = 0.813mm
y1 = -1.462mm
x2 = 0.813mm
y2 = 1.462mm
thickness = 0.100mm
clearance = 0
}
ha:line.49 {
x1 = 0.813mm
y1 = 1.462mm
x2 = -0.813mm
y2 = 1.462mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = -0.813mm
y1 = 1.462mm
x2 = -0.813mm
y2 = -0.650mm
thickness = 0.100mm
clearance = 0
}
ha:line.51 {
x1 = -0.813mm
y1 = -0.650mm
x2 = 0.000mm
y2 = -1.462mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:arc.52 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.050mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.53 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.050mm
clearance = 0
}
ha:line.54 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.050mm
clearance = 0
}
ha:line.55 {
x1 = -2.156mm
y1 = -1.500mm
x2 = -1.063mm
y2 = -1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.56 {
x1 = -1.063mm
y1 = -1.500mm
x2 = -1.063mm
y2 = -1.712mm
thickness = 0.050mm
clearance = 0
}
ha:line.57 {
x1 = -1.063mm
y1 = -1.712mm
x2 = 1.063mm
y2 = -1.712mm
thickness = 0.050mm
clearance = 0
}
ha:line.58 {
x1 = 1.063mm
y1 = -1.712mm
x2 = 1.063mm
y2 = -1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.59 {
x1 = 1.063mm
y1 = -1.500mm
x2 = 2.156mm
y2 = -1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.60 {
x1 = 2.156mm
y1 = -1.500mm
x2 = 2.156mm
y2 = 1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.61 {
x1 = 2.156mm
y1 = 1.500mm
x2 = 1.063mm
y2 = 1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.62 {
x1 = 1.063mm
y1 = 1.500mm
x2 = 1.063mm
y2 = 1.712mm
thickness = 0.050mm
clearance = 0
}
ha:line.63 {
x1 = 1.063mm
y1 = 1.712mm
x2 = -1.063mm
y2 = 1.712mm
thickness = 0.050mm
clearance = 0
}
ha:line.64 {
x1 = -1.063mm
y1 = 1.712mm
x2 = -1.063mm
y2 = 1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.65 {
x1 = -1.063mm
y1 = 1.500mm
x2 = -2.156mm
y2 = 1.500mm
thickness = 0.050mm
clearance = 0
}
ha:line.66 {
x1 = -2.156mm
y1 = 1.500mm
x2 = -2.156mm
y2 = -1.500mm
thickness = 0.050mm
clearance = 0
}
}
}
}
}
}
}

View File

@ -1,138 +1,138 @@
v 20191003 2
C 9000 19700 1 0 0 TP4056.sym
C 9400 16800 1 0 0 TP4056.sym
{
T 9400 21360 5 10 1 1 0 0 1
T 9800 18460 5 10 1 1 0 0 1
refdes=U4
T 10260 20040 5 10 1 1 0 2 1
T 10660 17140 5 10 1 1 0 2 1
device=TP4056
T 9000 19700 5 10 0 0 0 0 1
T 9400 16800 5 10 0 0 0 0 1
category=voltage regulator
T 9000 19700 5 10 0 0 0 0 1
T 9400 16800 5 10 0 0 0 0 1
lcsc-id=C382139
T 9000 19700 5 8 0 0 0 0 1
T 9400 16800 5 8 0 0 0 0 1
footprint=SOP127P600X175-9N.lht
T 9000 19700 5 10 0 0 0 0 1
T 9400 16800 5 10 0 0 0 0 1
note=set R_PROG to 5 kO for a maximum charging current of 240 mAh, e.g. 2C for 120 mAh batteries
}
C 10000 19400 1 0 0 ground.sym
N 8200 21700 10200 21700 4
N 9000 21700 9000 21100 4
C 11100 19100 1 0 0 ground.sym
N 11300 20700 12400 20700 4
N 11300 21100 13500 21100 4
C 12800 19900 1 0 0 ground.sym
C 13300 19900 1 0 0 ground.sym
N 12400 20200 12400 20700 4
C 13200 21100 1 90 1 capacitor-1.sym
C 10400 16500 1 0 0 ground.sym
N 8600 18800 10600 18800 4
N 9400 18800 9400 18200 4
C 11500 16200 1 0 0 ground.sym
N 11700 17800 12800 17800 4
N 11700 18200 13900 18200 4
C 13200 17000 1 0 0 ground.sym
C 13700 17000 1 0 0 ground.sym
N 12800 17300 12800 17800 4
C 13600 18200 1 90 1 capacitor-1.sym
{
T 12500 20900 5 10 0 0 270 2 1
T 12900 18000 5 10 0 0 270 2 1
device=CAPACITOR
T 12300 20900 5 10 0 0 270 2 1
T 12700 18000 5 10 0 0 270 2 1
symversion=0.1
T 13200 21100 5 10 0 1 90 0 1
T 13600 18200 5 10 0 1 90 0 1
footprint=CAPC1608X92N.lht
T 12900 20800 5 10 1 1 0 6 1
T 13300 17900 5 10 1 1 0 6 1
refdes=C6
T 12900 20500 5 10 1 1 180 0 1
T 13300 17600 5 10 1 1 180 0 1
value=1uF
T 13200 21100 5 10 0 0 0 0 1
T 13600 18200 5 10 0 0 0 0 1
category=passive
}
C 13300 21000 1 270 0 battery-1.sym
C 13700 18100 1 270 0 battery-1.sym
{
T 14200 20700 5 10 0 0 270 0 1
T 14600 17800 5 10 0 0 270 0 1
device=BATTERY
T 14600 20700 5 10 0 0 270 0 1
T 15000 17800 5 10 0 0 270 0 1
symversion=0.1
T 13500 20700 5 10 0 1 0 0 1
T 13900 17800 5 10 0 1 0 0 1
note=use small battery, like Cheerson CX-10 battery with 100-120 mAh
T 13700 20600 5 10 0 1 0 0 1
T 14100 17700 5 10 0 1 0 0 1
footprint=CONNECTOR_MOLEX_530470210.lht
T 13800 20800 5 10 1 1 0 0 1
T 14200 17900 5 10 1 1 0 0 1
refdes=B1
T 13800 20500 5 10 1 1 0 0 1
T 14200 17600 5 10 1 1 0 0 1
value=LiPo
T 13300 21000 5 10 0 0 0 0 1
T 13700 18100 5 10 0 0 0 0 1
category=connector
T 13300 21000 5 10 0 0 0 0 1
T 13700 18100 5 10 0 0 0 0 1
description=2-pin shrouded header, straight, pitch 1.25mm, Molex picoBlade
T 13300 21000 5 10 0 0 0 0 1
T 13700 18100 5 10 0 0 0 0 1
category=passive
}
N 12400 20200 13500 20200 4
N 13500 20200 13500 20300 4
C 11400 19400 1 90 0 resistor-1.sym
N 12800 17300 13900 17300 4
N 13900 17300 13900 17400 4
C 11800 16500 1 90 0 resistor-1.sym
{
T 11000 19700 5 10 0 0 90 0 1
T 11400 16800 5 10 0 0 90 0 1
device=RESISTOR
T 11400 19400 5 10 0 1 0 0 1
T 11800 16500 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 11500 20000 5 10 1 1 0 0 1
T 11900 17100 5 10 1 1 0 0 1
refdes=R8
T 11500 19700 5 10 1 1 0 0 1
T 11900 16800 5 10 1 1 0 0 1
value=10k
T 11400 19400 5 10 0 0 0 0 1
T 11800 16500 5 10 0 0 0 0 1
category=passive
T 11400 19400 5 10 0 0 0 0 1
T 11800 16500 5 10 0 0 0 0 1
note=sets maximum charging current to 240 mAh
}
C 12200 17100 1 0 0 XC6206.sym
C 12300 20500 1 0 0 XC6206.sym
{
T 12200 17100 5 8 0 0 0 0 1
T 12300 20500 5 8 0 0 0 0 1
footprint=SOT95P280X130-3N.lht
T 12750 17260 5 10 1 1 0 3 1
T 12850 20660 5 10 1 1 0 3 1
refdes=U3
T 13260 17440 5 10 1 1 0 2 1
T 13360 20840 5 10 1 1 0 2 1
device=XC6206
T 12500 18300 5 10 1 1 0 0 1
T 12600 21700 5 10 1 1 0 0 1
value=XC6206P332MR
T 12200 17100 5 10 0 0 0 0 1
T 12300 20500 5 10 0 0 0 0 1
manufacturer=Torex Semicon
T 12200 17100 5 10 0 0 0 0 1
T 12300 20500 5 10 0 0 0 0 1
part-id=XC6206P332MR
T 12200 17100 5 10 0 0 0 0 1
T 12300 20500 5 10 0 0 0 0 1
lcsc-id=C347376
T 12200 17100 5 10 0 0 0 0 1
T 12300 20500 5 10 0 0 0 0 1
category=voltage regulator
}
C 13000 16800 1 0 0 ground.sym
C 12200 17000 1 90 0 capacitor-1.sym
C 13100 20200 1 0 0 ground.sym
C 12300 20400 1 90 0 capacitor-1.sym
{
T 11500 17200 5 10 0 0 90 0 1
T 11600 20600 5 10 0 0 90 0 1
device=CAPACITOR
T 11300 17200 5 10 0 0 90 0 1
T 11400 20600 5 10 0 0 90 0 1
symversion=0.1
T 12200 17000 5 10 0 0 0 0 1
T 12300 20400 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
T 11800 17600 5 10 1 1 0 6 1
T 11900 21000 5 10 1 1 0 6 1
refdes=C3
T 11800 17300 5 10 1 1 180 0 1
T 11900 20700 5 10 1 1 180 0 1
value=1uF
T 12200 17000 5 10 0 0 0 0 1
T 12300 20400 5 10 0 0 0 0 1
category=passive
}
C 11800 16700 1 0 0 ground.sym
C 14300 17000 1 270 1 capacitor-1.sym
C 11900 20100 1 0 0 ground.sym
C 14400 20400 1 270 1 capacitor-1.sym
{
T 15000 17200 5 10 0 0 90 2 1
T 15100 20600 5 10 0 0 90 2 1
device=CAPACITOR
T 15200 17200 5 10 0 0 90 2 1
T 15300 20600 5 10 0 0 90 2 1
symversion=0.1
T 14300 17000 5 10 0 1 0 0 1
T 14400 20400 5 10 0 1 0 0 1
footprint=CAPC1608X92N.lht
T 14700 17600 5 10 1 1 0 0 1
T 14800 21000 5 10 1 1 0 0 1
refdes=C4
T 14700 17300 5 10 1 1 180 6 1
T 14800 20700 5 10 1 1 180 6 1
value=1uF
T 14300 17000 5 10 0 0 0 0 1
T 14400 20400 5 10 0 0 0 0 1
category=passive
}
C 14300 16700 1 0 0 ground.sym
N 12000 18100 12000 17900 4
N 12200 18000 12000 18000 4
N 14500 18100 14500 17900 4
N 14300 18000 14500 18000 4
C 14300 18100 1 0 0 3.3V-plus-1.sym
C 14400 20100 1 0 0 ground.sym
N 12100 21500 12100 21300 4
N 12300 21400 12100 21400 4
N 14600 21500 14600 21300 4
N 14400 21400 14600 21400 4
C 14400 21500 1 0 0 3.3V-plus-1.sym
C 4200 800 1 0 0 STM32F103xC.sym
{
T 4200 800 5 8 0 0 0 0 1
@ -1151,140 +1151,76 @@ N 6900 800 6900 600 4
N 7100 800 7100 600 4
N 7300 800 7300 600 4
N 7500 800 7500 600 4
C 400 19500 1 0 0 USB_2_MICRO-B.sym
C 400 19000 1 0 0 USB_2_MICRO-B.sym
{
T 400 19500 5 8 0 0 0 0 1
T 400 19000 5 8 0 0 0 0 1
footprint=CONNECTOR_USB_2_MICRO-B.lht
T 550 22210 5 10 1 1 0 3 1
T 550 21710 5 10 1 1 0 3 1
refdes=J3
T 1860 19840 5 10 1 1 0 2 1
T 1860 19340 5 10 1 1 0 2 1
device=USB_2_MICRO-B
T 2600 22200 5 10 1 1 0 6 1
T 2600 21700 5 10 1 1 0 6 1
value=USB-MCU
T 400 19500 5 10 0 0 0 0 1
T 400 19000 5 10 0 0 0 0 1
category=connector
T 400 19500 5 10 0 0 0 0 1
T 400 19000 5 10 0 0 0 0 1
aliexpress-id=32910334970
T 400 19500 5 10 0 0 0 0 1
T 400 19000 5 10 0 0 0 0 1
lcsc-id=C40943
}
C 3000 21200 1 0 0 nc-right-1.sym
C 3000 20700 1 0 0 nc-right-1.sym
{
T 3100 21700 5 10 0 0 0 0 1
T 3100 21200 5 10 0 0 0 0 1
value=NoConnection
T 3100 21900 5 10 0 0 0 0 1
T 3100 21400 5 10 0 0 0 0 1
device=DRC_Directive
T 3100 22500 5 10 0 0 0 0 1
T 3100 22000 5 10 0 0 0 0 1
symversion=1.1
}
C 1600 19200 1 0 0 ground.sym
C 1400 19200 1 0 0 ground.sym
C 1200 19200 1 0 0 ground.sym
C 1000 19200 1 0 0 ground.sym
C 3000 20600 1 0 0 ground.sym
C 3900 21400 1 0 0 resistor-1.sym
C 1600 18700 1 0 0 ground.sym
C 1400 18700 1 0 0 ground.sym
C 1200 18700 1 0 0 ground.sym
C 1000 18700 1 0 0 ground.sym
N 3000 20600 3200 20600 4
N 3200 20600 3200 20400 4
C 500 16600 1 0 0 switch-pushbutton-no-1.sym
{
T 4200 21800 5 10 0 0 0 0 1
device=RESISTOR
T 3900 21400 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 4100 21200 5 10 1 1 0 0 1
refdes=R2
T 4500 21200 5 10 1 1 0 0 1
value=22R
T 3900 21400 5 10 0 0 0 0 1
category=passive
}
C 3900 21600 1 0 0 resistor-1.sym
{
T 4200 22000 5 10 0 0 0 0 1
device=RESISTOR
T 3900 21600 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 4100 21900 5 10 1 1 0 0 1
refdes=R1
T 4500 21900 5 10 1 1 0 0 1
value=22R
T 3900 21600 5 10 0 0 0 0 1
category=passive
}
C 3900 20800 1 0 0 resistor-1.sym
{
T 4200 21200 5 10 0 0 0 0 1
device=RESISTOR
T 3900 20800 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 4100 20600 5 10 1 1 0 0 1
refdes=R3
T 4500 20600 5 10 1 1 0 0 1
value=1k5
T 3900 20800 5 10 0 0 0 0 1
category=passive
}
C 4800 21600 1 0 0 io-1.sym
{
T 5700 21800 5 10 0 0 0 0 1
net=USBDM:1
T 5000 22200 5 10 0 0 0 0 1
device=none
T 5700 21700 5 10 1 1 0 1 1
value=USBDM
}
C 4800 21400 1 0 0 io-1.sym
{
T 5700 21600 5 10 0 0 0 0 1
net=USBDP:1
T 5000 22000 5 10 0 0 0 0 1
device=none
T 5700 21500 5 10 1 1 0 1 1
value=USBDP
}
N 3000 21100 3200 21100 4
N 3200 21100 3200 20900 4
N 3000 21500 3900 21500 4
N 3900 21500 3900 20900 4
N 4800 20900 5600 20900 4
N 3000 21700 3900 21700 4
N 3000 21900 3900 21900 4
N 3900 21900 3900 22200 4
C 500 17100 1 0 0 switch-pushbutton-no-1.sym
{
T 900 17700 5 10 0 0 0 0 1
T 900 17200 5 10 0 0 0 0 1
device=SWITCH_PUSHBUTTON_NO
T 500 17100 5 10 0 0 0 0 1
T 500 16600 5 10 0 0 0 0 1
footprint=MECHANICAL_BUTTON6MM.lht
T 900 17400 5 10 1 1 0 0 1
T 900 16900 5 10 1 1 0 0 1
refdes=S2
T 500 17100 5 10 0 0 0 0 1
T 500 16600 5 10 0 0 0 0 1
category=mechanical
T 500 17100 5 10 0 0 0 0 1
T 500 16600 5 10 0 0 0 0 1
description=6x6 mm button, momentary
}
C 300 16800 1 0 0 ground.sym
C 1800 17100 1 90 0 resistor-1.sym
C 300 16300 1 0 0 ground.sym
C 1800 16600 1 90 0 resistor-1.sym
{
T 1400 17400 5 10 0 0 90 0 1
T 1400 16900 5 10 0 0 90 0 1
device=RESISTOR
T 1800 17100 5 10 0 1 0 0 1
T 1800 16600 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 1900 17600 5 10 1 1 0 0 1
T 1900 17100 5 10 1 1 0 0 1
refdes=R4
T 1900 17300 5 10 1 1 0 0 1
T 1900 16800 5 10 1 1 0 0 1
value=10k
T 1800 17100 5 10 0 0 0 0 1
T 1800 16600 5 10 0 0 0 0 1
category=passive
}
C 1500 18000 1 0 0 3.3V-plus-1.sym
C 2100 17000 1 0 0 output-2.sym
C 1500 17500 1 0 0 3.3V-plus-1.sym
C 2100 16500 1 0 0 output-2.sym
{
T 3000 17200 5 10 0 0 0 0 1
T 3000 16700 5 10 0 0 0 0 1
net=RST:1
T 2300 17700 5 10 0 0 0 0 1
T 2300 17200 5 10 0 0 0 0 1
device=none
T 3000 17100 5 10 1 1 0 1 1
T 3000 16600 5 10 1 1 0 1 1
value=RST
}
N 1500 17100 2100 17100 4
N 1500 16600 2100 16600 4
C 31800 21800 1 0 0 3.3V-plus-1.sym
C 31800 20900 1 270 1 capacitor-1.sym
{
@ -1506,38 +1442,37 @@ T 34000 16900 5 10 0 0 0 0 1
category=passive
}
C 34000 16600 1 0 0 ground.sym
C 5600 18000 1 0 0 3.3V-plus-1.sym
C 3900 16700 1 0 0 connector4-1.sym
C 6000 17600 1 0 0 3.3V-plus-1.sym
C 4300 16300 1 0 0 connector4-1.sym
{
T 5700 17600 5 10 0 0 0 0 1
T 6100 17200 5 10 0 0 0 0 1
device=CONNECTOR_4
T 4100 17700 5 10 0 1 0 0 1
T 4500 17300 5 10 0 1 0 0 1
footprint=connector(4,1)
T 3900 18100 5 10 1 1 0 0 1
T 4300 17700 5 10 1 1 0 0 1
refdes=J4
T 3900 16700 5 10 0 0 0 0 1
T 4300 16300 5 10 0 0 0 0 1
category=connector
T 3900 16700 5 10 0 0 0 0 1
T 4300 16300 5 10 0 0 0 0 1
description=1x4 pin header, 0.1 in.
T 3900 16700 5 10 0 0 0 0 1
T 4300 16300 5 10 0 0 0 0 1
note=short SWDIO to nearby GND to force DFU bootloader
}
C 5600 16400 1 0 0 ground.sym
N 5600 17800 5800 17800 4
N 5800 17800 5800 18000 4
N 5600 17500 5800 17500 4
N 5600 17200 5800 17200 4
N 5600 16900 5800 16900 4
N 5800 16900 5800 16700 4
C 6000 16200 1 0 0 ground.sym
N 6000 17400 6200 17400 4
N 6200 17400 6200 17600 4
N 6000 17100 6200 17100 4
N 6000 16800 6200 16800 4
N 6000 16500 6200 16500 4
B 31500 16000 6000 7000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 0 19000 7500 4000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 0 18500 8000 4500 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
T 31800 22600 6 14 1 0 0 0 1
MCU decoupling capacitors
T 300 22600 6 14 1 0 0 0 1
USB (power+data)
T 300 18600 6 14 1 0 0 0 1
T 300 18100 6 14 1 0 0 0 1
RESET/START
T 3700 18600 6 14 1 0 0 0 1
T 4300 18100 6 14 1 0 0 0 1
DEBUG (SWD)
C 27200 21800 1 270 0 BSS84.sym
{
@ -3069,11 +3004,11 @@ T 28800 15600 6 14 1 0 0 0 1
USB host connectors
T 12800 15600 6 14 1 0 0 0 1
USB device connectors
T 7800 22600 6 14 1 0 0 0 1
T 8300 22600 6 14 1 0 0 0 1
POWER
B 7500 16000 7800 7000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 0 16000 3500 3000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 3500 16000 4000 3000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 8000 16000 7500 7000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 0 16000 4000 2500 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 4000 16000 4000 2500 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
C 31500 0 1 0 0 title.sym
{
T 32500 700 5 10 1 1 0 0 1
@ -3097,9 +3032,9 @@ footprint=none
}
T 300 15600 6 14 1 0 0 0 1
MCU
T 15600 22600 6 14 1 0 0 0 1
T 15800 22600 6 14 1 0 0 0 1
DISPLAY
B 15300 16000 16200 7000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 15500 16000 16000 7000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 0 0 12400 16000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 28500 1500 9000 14500 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
B 12400 0 16100 16000 6 10 1 0 -1 -1 0 -1 -1 -1 -1 -1
@ -3266,27 +3201,22 @@ T 16400 19200 5 10 1 1 0 7 1
value=I2C_SCL
}
N 18200 21900 18200 21500 4
C 5400 20900 1 0 0 generic-power.sym
C 6200 17000 1 0 0 output-2.sym
{
T 5600 21150 5 10 1 1 0 3 1
net=VDISPLAY:1
}
C 5800 17400 1 0 0 output-2.sym
{
T 6700 17600 5 10 0 0 0 0 1
T 7100 17200 5 10 0 0 0 0 1
net=SWCLK:1
T 6000 18100 5 10 0 0 0 0 1
T 6400 17700 5 10 0 0 0 0 1
device=none
T 6700 17500 5 10 1 1 0 1 1
T 7100 17100 5 10 1 1 0 1 1
value=SWCLK
}
C 5800 17100 1 0 0 io-1.sym
C 6200 16700 1 0 0 io-1.sym
{
T 6700 17300 5 10 0 0 0 0 1
T 7100 16900 5 10 0 0 0 0 1
net=SWDIO:1
T 6000 17700 5 10 0 0 0 0 1
T 6400 17300 5 10 0 0 0 0 1
device=none
T 6700 17200 5 10 1 1 0 1 1
T 7100 16800 5 10 1 1 0 1 1
value=SWDIO
}
C 19900 2000 1 0 1 HRO_TYPE-C-31-M-04.sym
@ -3342,141 +3272,221 @@ value=8 MHz
T 3300 13500 5 8 0 0 90 0 1
footprint=XTAL114X47X400N.lht
}
C 3900 22200 1 0 0 fuse-1.sym
C 3000 21400 1 90 0 fuse-1.sym
{
T 4100 22600 5 10 0 0 0 0 1
T 2600 21600 5 10 0 0 90 0 1
device=FUSE
T 4100 22400 5 10 1 1 0 0 1
T 3100 22000 5 10 1 1 0 0 1
refdes=F1
T 4100 22800 5 10 0 0 0 0 1
T 2400 21600 5 10 0 0 90 0 1
symversion=0.1
T 4500 22300 5 10 0 1 0 0 1
T 2900 22000 5 10 0 1 90 0 1
footprint=FUSC3215X117N.lht
}
C 4800 22200 1 0 0 generic-power.sym
C 3100 22300 1 0 0 generic-power.sym
{
T 5000 22450 5 10 1 1 0 3 1
T 3300 22550 5 10 1 1 0 3 1
net=VUSB:1
}
N 4800 22200 5000 22200 4
C 13300 21100 1 0 0 generic-power.sym
C 13700 18200 1 0 0 generic-power.sym
{
T 13500 21350 5 10 1 1 0 3 1
T 13900 18450 5 10 1 1 0 3 1
net=VBAT:1
}
N 13500 21100 13500 21000 4
C 8600 20600 1 0 0 nc-left-1.sym
N 13900 18200 13900 18100 4
C 9000 17700 1 0 0 nc-left-1.sym
{
T 8500 21000 5 10 0 0 0 0 1
T 8900 18100 5 10 0 0 0 0 1
value=NoConnection
T 8500 21400 5 10 0 0 0 0 1
T 8900 18500 5 10 0 0 0 0 1
device=DRC_Directive
T 8500 21800 5 10 0 0 0 0 1
T 8900 18900 5 10 0 0 0 0 1
symversion=1.1
}
C 8600 20200 1 0 0 nc-left-1.sym
C 9000 17300 1 0 0 nc-left-1.sym
{
T 8500 20600 5 10 0 0 0 0 1
T 8900 17700 5 10 0 0 0 0 1
value=NoConnection
T 8500 21000 5 10 0 0 0 0 1
T 8900 18100 5 10 0 0 0 0 1
device=DRC_Directive
T 8500 21400 5 10 0 0 0 0 1
T 8900 18500 5 10 0 0 0 0 1
symversion=1.1
}
C 8000 20800 1 270 1 capacitor-1.sym
C 8400 17900 1 270 1 capacitor-1.sym
{
T 8700 21000 5 10 0 0 90 2 1
T 9100 18100 5 10 0 0 90 2 1
device=CAPACITOR
T 8900 21000 5 10 0 0 90 2 1
T 9300 18100 5 10 0 0 90 2 1
symversion=0.1
T 8000 20800 5 10 0 1 270 0 1
T 8400 17900 5 10 0 1 270 0 1
footprint=CAPC1608X92N.lht
T 8400 21400 5 10 1 1 0 0 1
T 8800 18500 5 10 1 1 0 0 1
refdes=C5
T 8400 20900 5 10 1 1 0 0 1
T 8800 18000 5 10 1 1 0 0 1
value=1uF
T 8000 20800 5 10 0 0 270 0 1
T 8400 17900 5 10 0 0 270 0 1
category=passive
}
C 8000 20500 1 0 0 ground.sym
C 8000 21700 1 0 0 generic-power.sym
C 8400 17600 1 0 0 ground.sym
C 8400 18800 1 0 0 generic-power.sym
{
T 8200 21950 5 10 1 1 0 3 1
T 8600 19050 5 10 1 1 0 3 1
net=VUSB:1
}
C 12100 19400 1 90 0 resistor-1.sym
C 12500 16500 1 90 0 resistor-1.sym
{
T 11700 19700 5 10 0 0 90 0 1
T 12100 16800 5 10 0 0 90 0 1
device=RESISTOR
T 12100 19400 5 10 0 1 0 0 1
T 12500 16500 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 12200 20000 5 10 1 1 0 0 1
T 12600 17100 5 10 1 1 0 0 1
refdes=R9
T 12200 19700 5 10 1 1 0 0 1
T 12600 16800 5 10 1 1 0 0 1
value=10k
T 12100 19400 5 10 0 0 0 0 1
T 12500 16500 5 10 0 0 0 0 1
category=passive
T 12100 19400 5 10 0 0 0 0 1
T 12500 16500 5 10 0 0 0 0 1
note=sets maximum charging current to 240 mAh
}
N 11300 20300 12000 20300 4
N 12000 19400 11300 19400 4
C 9400 17500 1 90 0 BSS84.sym
N 11700 17400 12400 17400 4
N 12400 16500 11700 16500 4
C 9700 20800 1 90 0 BSS84.sym
{
T 9400 17500 5 8 0 0 90 0 1
T 9700 20800 5 8 0 0 90 0 1
footprint=SOT95P237X112-3N.lht
T 8740 17660 5 10 1 1 0 6 1
T 9040 20960 5 10 1 1 0 6 1
refdes=Q2
T 9240 18560 5 10 1 1 180 2 1
T 9540 21860 5 10 1 1 180 2 1
device=BSS84
T 9400 17500 5 10 0 0 180 0 1
T 9700 20800 5 10 0 0 180 0 1
category=transistor
T 8800 18100 5 10 0 1 0 0 1
T 9100 21400 5 10 0 1 0 0 1
note=only the body diode of the transistor is used. re-using a transistor saves adding a part to the BOM. the body diode can pass 130 mA, enough for our need. the voltage drop is up to 1.2V but this is ok since it only powers the 3.3V LDO. the gate is tied to Vcc to disable the transistor and prevent VBAT from flowing into VUSB. this diode allows to power the device without a battery. the TP4056 is not meant to provide power and does it badly.
}
C 9600 17500 1 270 1 BSS84.sym
C 9900 20800 1 270 1 BSS84.sym
{
T 9600 17500 5 8 0 0 90 2 1
T 9900 20800 5 8 0 0 90 2 1
footprint=SOT95P237X112-3N.lht
T 10260 17660 5 10 1 1 0 0 1
T 10560 20960 5 10 1 1 0 0 1
refdes=Q3
T 9760 18560 5 10 1 1 180 8 1
T 10060 21860 5 10 1 1 180 8 1
device=BSS84
T 9600 17500 5 10 0 0 180 6 1
T 9900 20800 5 10 0 0 180 6 1
category=transistor
T 10200 18000 5 10 0 1 0 0 1
T 10500 21300 5 10 0 1 0 0 1
note=when VUSB is not present, the gate is pulled low to allow powering the device using the battery (bypassing the body diode). when VUSB is present, the gate is tied high, disable the transistor. the body diode prevents VUSB to mis-charge the battery.
}
C 9300 18500 1 0 0 vcc-1.sym
N 9400 18500 9600 18500 4
C 10600 18500 1 0 0 generic-power.sym
C 9600 21800 1 0 0 vcc-1.sym
N 9700 21800 9900 21800 4
C 10900 21800 1 0 0 generic-power.sym
{
T 10800 18750 5 10 1 1 0 3 1
T 11100 22050 5 10 1 1 0 3 1
net=VBAT:1
}
C 11800 18100 1 0 0 vcc-1.sym
C 8000 18500 1 0 0 generic-power.sym
C 11900 21500 1 0 0 vcc-1.sym
C 8300 21800 1 0 0 generic-power.sym
{
T 8200 18750 5 10 1 1 0 3 1
T 8500 22050 5 10 1 1 0 3 1
net=VUSB:1
}
N 9000 17500 9500 17500 4
N 9500 17500 9500 18500 4
C 10100 16600 1 90 0 resistor-1.sym
N 9300 20800 9800 20800 4
N 9800 20800 9800 21800 4
C 10400 19900 1 90 0 resistor-1.sym
{
T 9700 16900 5 10 0 0 90 0 1
T 10000 20200 5 10 0 0 90 0 1
device=RESISTOR
T 10100 16600 5 10 0 1 0 0 1
T 10400 19900 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 10200 17100 5 10 1 1 0 0 1
T 10500 20400 5 10 1 1 0 0 1
refdes=R?
T 10200 16800 5 10 1 1 0 0 1
T 10500 20100 5 10 1 1 0 0 1
value=10k
T 10100 16600 5 10 0 0 0 0 1
T 10400 19900 5 10 0 0 0 0 1
category=passive
}
C 9800 16300 1 0 0 ground.sym
N 10000 17500 9700 17500 4
N 9700 17500 9700 17300 4
N 9700 17300 8200 17300 4
N 8200 17300 8200 18500 4
C 10100 19600 1 0 0 ground.sym
N 10300 20800 10000 20800 4
N 10000 20800 10000 20600 4
N 10000 20600 8500 20600 4
N 8500 20600 8500 21800 4
C 3400 20000 1 0 0 USBLC6-2SC6.sym
{
T 3400 20000 5 8 0 0 0 0 1
footprint=SOT95P280X145-6N.fp
T 3800 22160 5 10 1 1 0 0 1
refdes=D?
T 4860 22160 5 10 1 1 180 8 1
device=USBLC6-2SC6
}
C 6000 20900 1 0 0 resistor-1.sym
{
T 6300 21300 5 10 0 0 0 0 1
device=RESISTOR
T 6000 20900 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 6000 20900 5 10 0 0 0 0 1
category=passive
T 6200 20700 5 10 1 1 0 0 1
refdes=R2
T 6600 20700 5 10 1 1 0 0 1
value=22R
}
C 6000 21300 1 0 0 resistor-1.sym
{
T 6300 21700 5 10 0 0 0 0 1
device=RESISTOR
T 6000 21300 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 6000 21300 5 10 0 0 0 0 1
category=passive
T 6200 21600 5 10 1 1 0 0 1
refdes=R1
T 6600 21600 5 10 1 1 0 0 1
value=22R
}
C 6000 19900 1 0 0 resistor-1.sym
{
T 6300 20300 5 10 0 0 0 0 1
device=RESISTOR
T 6000 19900 5 10 0 1 0 0 1
footprint=RESC1608X55N.lht
T 6000 19900 5 10 0 0 0 0 1
category=passive
T 6200 19700 5 10 1 1 0 0 1
refdes=R3
T 6600 19700 5 10 1 1 0 0 1
value=1k5
}
C 6900 21300 1 0 0 io-1.sym
{
T 7800 21500 5 10 0 0 0 0 1
net=USBDM:1
T 7100 21900 5 10 0 0 0 0 1
device=none
T 7100 21600 5 10 1 1 0 1 1
value=USBDM
}
C 6900 20900 1 0 0 io-1.sym
{
T 7800 21100 5 10 0 0 0 0 1
net=USBDP:1
T 7100 21500 5 10 0 0 0 0 1
device=none
T 7100 21200 5 10 1 1 0 1 1
value=USBDP
}
N 6000 21000 6000 20000 4
N 6900 20000 7100 20000 4
C 6900 20000 1 0 0 generic-power.sym
{
T 7100 20250 5 10 1 1 0 3 1
net=VDISPLAY:1
}
C 3000 20100 1 0 0 ground.sym
C 4500 19700 1 0 0 ground.sym
N 3000 22300 3600 22300 4
N 3600 22300 3600 22500 4
N 3600 22500 4700 22500 4
N 3000 21000 3400 21000 4
N 3000 21200 3400 21200 4
N 3400 21200 3400 21400 4