Compare commits

...

10 Commits

36 changed files with 363 additions and 15418 deletions

View File

@ -1,3 +1,10 @@
v1
==
uses smaller coin cell (CR1220).
use only one type of NOR-gate.
remove READY LED.
v0
==

View File

@ -1,84 +1 @@
requirements
============
to be able to generate the outputs you need following software:
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files)
- [QEDA](http://qeda.org/): to generate footprints for the parts
- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture
- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout
the output generation is automatized.
schematic
=========
library
-------
almost all of the symbols and footprints used in the schematic and board layout are defined in the [QEDA](http://qeda.org/) format and generated for the CAD software.
the `library` folder contains the QEDA parts definitions.
to install QEDA using NPM from the official repository:
~~~
sudo npm install -g qeda
~~~
to install QEDA from the sources:
~~~
git clone https://github.com/qeda/qeda
cd qeda
npm install
sudo npm install --global
~~~
to generate the parts:
~~~
rake library
~~~
this will use the parts definition (.yaml files) in the `library` to generate [gEDA gschem](http://wiki.geda-project.org/geda:gaf)/[Lepton EDA](https://github.com/lepton-eda/lepton-eda) symbols (.sym files) in the `geda/symbols` folder, and [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/) footprints (.lht files) in the `coraleda/subc` folder.
only the QEDA parts in subfolders within `library` come from the [QEDA library](https://doc.qeda.org/library/), but the files are included in this project for simplicity and archiving purposes.
all other parts are custom and written for this project.
schematic
---------
the `.sch` file is the schematic source file.
it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda).
it uses standard symbols, and the ones in the `geda/symbols/` folder.
most symbols are generated by QEDA as described above.
to export the netlist (in tEDAx format):
~~~
rake netlist
~~~
to export as pdf:
~~~
rake print
~~~
BOM
---
to export the bill of material (as CSV):
~~~
rake bom
~~~
board
=====
the `.lht` file is the board layout source file.
it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/).
it uses the symbols from the `coraleda/subc/` folder.
most symbols are generated by QEDA as described above.
`oshw_logo.lht` is just the Open Source Hardware Logo.
it been generated from https://oshwlogo.cuvoodoo.info/.
to export gerber files for PCB manufacturer (and photo preview + overview document):
~~~
rake fabrication
~~~
the JSON files are the source schematic and board layout made using [EasyEDA](https://easyeda.com/).

View File

@ -1,68 +1,51 @@
the USB bug detector identifies USB type-A cables (or devices) with integrated circuits.
The USB bug detector identifies USB type-A cables (or devices) with integrated circuits.
<img src="picture/v0_front.webp" title="front" height="250"/>
<img src="picture/v0_back.webp" title="back" height="250"/>
<img src="picture/v1_front.webp" title="front" height="250"/>
<img src="picture/v1_back.webp" title="back" height="250"/>
usage
=====
to use the USB bug detector, follow the steps provided on the back of the board:
To use the USB bug detector, follow the steps provided on the back of the board:
- insert a CR2025 or CR2032 coin cell battery in the USB bug detector for it to be operational
- insert a CR1220 coin cell battery in the USB bug detector for it to be operational
- press on the RESET button to arm the test
- the BUGGED LED should be off
- plug the USB cable in the USB receptacle
- if the BUGGED LED switches on, the USB cable embeds an integrated circuit (e.g. a bug)
- if the BUGGED LED remains off, the cable is same to use
after the test, to save power, press again on the RESET button.
After the test, to save power, press again on the RESET button.
to ensure that the USB bug detector works, after pressing on the RESET button, press on the TEST button.
this will simulate a USB plug with integrated circuit.
the BUGGED LED should switch on.
this also ensures the battery is not empty.
To ensure that the USB bug detector works, after pressing on the RESET button, press on the SIMULATE button.
This will simulate a USB plug with integrated circuit.
The BUGGED LED should switch on.
This also ensures the battery is not empty.
when the LED is on, the USB bug detector draws 3 mA.
when the LED is off, the USB bug detector draws 64 nA.
this results in a idle battery life of 419 years (for a typical 235 mAh CR2032 battery).
this is more than the self life of the battery (~ 1%/year).
fabrication
===========
the board has an optional READY LED (with accompanying resistor located next to it).
only populate it to debug the board.
the READY LED will we on when the BUGGED LED isn't.
this allows to always check if the battery is empty, but this also drains the battery even when not testing because an LED is always on.
the first prototype of the board (v0) offers three populating options, depending on the available NOR gate part and package:
- 1x SOIC-14 package: U1+C1
- 2x SOT23-5 pachgae: U2+C2, U3+C3
- 2x SOT-353 package: U3+C3, U5+C5
only populate one of the options, depending on the availability of the NOR gate part.
note: the Cx decoupling capacitor is not really necessary and is just present for good design.
When the LED is on, the USB bug detector draws 3 mA.
When the LED is off, the USB bug detector draws 64 nA.
This results in a idle battery life of 62 years (for a typical 35 mAh CR1220 battery).
This is on par with the self life of the battery (~ 1%/year).
mode of operation
=================
an NOR-gate-based SR-latch is used.
the RESET button triggers the R signal to reset the latch.
when a USB cable is plugged, power is provided by the battery to the cable.
if an integrated circuits is present, current will flow through.
a 1 k Ohm resistor on the low side (e.g. ground) will create a voltage.
if the plug draws more than 1.6 mA, the resulting 1.6 V will trigger the S signal to set the latch.
the BUG LED will indicate when the SR-latch is set.
the latch remains set until the RESET button is present.
thus, even if the plug stops drawing power, the LED remains on.
An NOR-gate-based SR-latch is used.
The RESET button triggers the R signal to reset the latch.
When a USB cable is plugged, power is provided by the battery to the cable.
If an integrated circuits is present, current will flow through.
A 1 kOhm resistor on the low side (e.g. ground) will create a voltage.
If the plug draws more than 1.6 mA, the resulting 1.6 V will trigger the S signal to set the latch.
The BUG LED will indicate when the SR-latch is set.
The latch remains set until the RESET button is present.
Thus, even if the plug stops drawing power, the LED remains on.
this minimum 1.6 mA current draw is often caused by the decoupling/bypass capacitor required by integrated circuit, or accompanying voltage regulator.
when charging, the capacitor acts as a short for a small time, allowing current to flow.
on USB plugs with just resistors, or LEDs, the resulting current flow is not large enough.
This minimum 1.6 mA current draw is often caused by the decoupling/bypass capacitor required by integrated circuit, or accompanying voltage regulator.
When charging, the capacitor acts as a short for a small time, allowing current to flow.
On USB plugs with just resistors, or LEDs, the resulting current flow is not large enough.
the TEST circuit simulates an integrated circuit by putting a 100 nF capacitor across the USB receptacle.
The SIMULATE circuit simulates an integrated circuit by putting a 100 nF capacitor across the USB receptacle.
because of the 1 k Ohm inline resistor, and limited 3.3 V provided by the battery, a maximum of 3.3 mA can be drawn by the USB plug.
this is often not enough to power up integrated circuit properly, particularly if they use a radio interface.
thus it is safe to use the USB bug detector on bugs, without activating it.
Because of the 1 kOhm inline resistor, and limited 3.3 V provided by the battery, a maximum of 3.3 mA can be drawn by the USB plug.
This is often not enough to power up integrated circuit properly, particularly if they use a radio interface.
Thus it is safe to use the USB bug detector on bugs, without activating it.

181
Rakefile
View File

@ -1,181 +0,0 @@
# encoding: utf-8
# ruby: 2.1.0
=begin
Rakefile to manage hardware projects
uses Lepton EDA for schematic and pcb-rnd for board layouts.
Rakefile instead of Makefile for better text file parsing capabilities.
=end
require 'rake/clean'
require 'csv' # to export BOM and costs
# =================
# project variables
# =================
# common name used for file names
name = "usb-bug-detector"
# project version, read from "version" file
raise "define project version in 'version' file" unless File.exist? "version"
version = IO.read("version").split("\n")[0]
# current date for stamping output
date = Time.now.strftime("%Y-%m-%d")
# revision based on number of changes on schematic or board layout and current git commit
changes = `git log --pretty=oneline "#{name}.sch" "#{name}.lht" | wc -l`.chomp.to_i
commit = `git rev-parse --short HEAD`.chomp
revision = "#{changes} (#{commit})"
# path to qeda"
qeda = "qeda"
# ==========
# main tasks
# ==========
desc "main building task"
task :default => [:print, :fabrication, :bom]
desc "print schematic and layout (as pdf)"
prints = [ "#{name}.sch.pdf", "#{name}.brd.pdf", "#{name}.brd-top.svg", "#{name}.brd-bottom.svg" ]
task :print => prints
CLEAN.include([ "#{name}.versioned.sch", "#{name}.versioned.lht" ])
CLOBBER.include(prints)
desc "generate fabrication gerbers (as archive)"
gerbers = [ "#{name}.brd.asb", "#{name}.brd.ast", "#{name}.brd.gbl", "#{name}.brd.gbo", "#{name}.brd.gbp", "#{name}.brd.gbs", "#{name}.brd.gko", "#{name}.brd.gtl", "#{name}.brd.gto", "#{name}.brd.gtp", "#{name}.brd.gts", "#{name}.brd.xln", "#{name}.brd.g2l", "#{name}.brd.g3l" ]
fab = [ "#{name}.brd.zip" ]
task :fabrication => fab
CLEAN.include(gerbers)
CLOBBER.include(fab)
desc "generate symbols and footprints from parts"
task :library do
sh "#{qeda} config output geda"
sh "#{qeda} generate ."
sh "#{qeda} config output coraleda"
sh "#{qeda} generate ."
end
desc "export netlist from schematic"
net = [ "#{name}.tdx" ]
task :netlist => net
CLOBBER.include(net)
desc "export notes from schematic"
notes = [ "#{name}.notes.txt" ]
task :notes => notes
CLOBBER.include(notes)
desc "export BOMs from schematic"
boms = [ "#{name}.bom.csv" ]
task :bom => boms
CLOBBER.include(boms)
# ===============
# file generation
# ===============
desc "generate schematic with version information all symbols embedded"
rule ".versioned.sch" => ".sch" do |t|
sh "cp #{t.source} #{t.name}"
sh "lepton-embed --embed #{t.name} 2> /dev/null"
sh "sed --in-place 's/\\$version\\$/#{version}/' #{t.name}"
sh "sed --in-place 's/\\$date\\$/#{date}/' #{t.name}"
sh "sed --in-place 's/\\$revision\\$/#{revision}/' #{t.name}"
end
desc "generate board layout with version information"
rule ".versioned.lht" => ".lht" do |t|
sh "cp #{t.source} #{t.name}"
sh "sed --in-place 's/\\$version\\$/#{version}/' #{t.name}"
sh "sed --in-place 's/\\$date\\$/#{date}/' #{t.name}"
sh "sed --in-place 's/\\$revision\\$/#{revision}/' #{t.name}"
end
desc "generate printable version (PDF) of schematic"
rule ".sch.pdf" => ".versioned.sch" do |t|
sh "lepton-cli export --color --paper iso_a4 --layout landscape --output #{t.name} #{t.source} 2> /dev/null"
end
desc "generate printable version (PostScript) of board layout"
rule ".brd.ps" => ".versioned.lht" do |t|
sh "pcb-rnd -x ps --ps-color --media A4 --psfile #{t.name} #{t.source} 2> /dev/null"
end
desc "generate printable version (PDF) of board layout"
rule ".brd.pdf" => ".brd.ps" do |t|
sh "ps2pdf -sPAPERSIZE=a4 -dEPSCrop #{t.source} #{t.name}"
end
desc "generate photo realistic picture from layout (top side)"
rule ".brd-top.svg" => ".versioned.lht" do |t|
sh "pcb-rnd -x svg --photo-mode --outfile #{t.name} #{t.source} 2> /dev/null"
end
desc "generate photo realistic picture from layout (bottom side)"
rule ".brd-bottom.svg" => ".versioned.lht" do |t|
sh "pcb-rnd -x svg --photo-mode --flip --outfile #{t.name} #{t.source} 2> /dev/null"
end
desc "archive gerbers"
rule ".brd.zip" => ".versioned.lht" do |t|
base = File.basename(t.source, ".versioned.lht")
puts base
sh "pcb-rnd -x cam gerber:JLC_PCB --outfile #{base}.brd #{t.source} 2> /dev/null"
sh "zip --quiet #{t.name} #{base}.brd.xln #{base}.brd.a* #{base}.brd.g*"
end
desc "export netlist from schematic"
rule ".tdx" => ".sch" do |t|
sh "lepton-netlist -g tEDAx -o #{t.name} #{t.source} 2> /dev/null"
end
desc "generate BOM file from schematic"
rule ".bom.csv" => ".sch" do |t|
attributes = ["device", "value", "description", "footprint", "manufacturer", "mpn", "datasheet", "lcsc-sku", "digikey-sku", "aliexpress-sku"]
bom_data = bom2(t.prerequisites[0],attributes)
CSV.open(t.name, "wb") do |csv|
all_attributes = ["refdes","qty"]+attributes
csv << all_attributes
bom_data.each do |line|
csv << all_attributes.collect{|attribute| line[attribute]}
end
end
end
# ================
# helper functions
# ================
# generate gnetlist bom2 and parse them
# arguments: schematic=schematic to use, attributes=attributes to use for generating bom2
# returns an array of hash. key is the attribute name, value is the attribute value
def bom2(schematic, attributes)
to_return = []
# force attributes to be an array
attributes = case attributes
when String
[attributes]
when Array
attributes
else
[attributes.to_s]
end
# generate bom2
list = `lepton-netlist --backend bom2 --backend-option attribs=#{attributes*','} --quiet --output - #{schematic} 2> /dev/null`
list = list.each_line {|l| '"' + l + '"' + '\n' }
list.gsub!(/^(.+)/, '"\1')
list.gsub!(/(.+)$/, '\1"')
list.gsub!(/(?!http):(?!\/\/)/, '\1":"\2') # protect the values between ':' (such as URLs)
# parse bom2
csv = CSV.parse(list, col_sep: ":", quote_char: '"')
csv[1..-1].each do |row|
line = {}
row.each_index do |col|
line[csv[0][col]] = row[col] unless row[col] == "unknown"
end
to_return << line
end
return to_return
end

View File

@ -1,296 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CAPC1608X92N............
ha:attributes {
footprint = CAPC1608X92N
}
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.625mm
-0.550mm
0.625mm
-0.550mm
0.625mm
0.550mm
-0.625mm
0.550mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.675mm
-0.600mm
0.675mm
-0.600mm
0.675mm
0.600mm
-0.675mm
0.600mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.625mm
-0.550mm
0.625mm
-0.550mm
0.625mm
0.550mm
-0.625mm
0.550mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -0.750mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 0.750mm
ha:attributes {
term = 2
name = 2
}
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.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
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.28 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.29 {
x1 = -0.925mm
y1 = -0.900mm
x2 = -0.925mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.30 {
x1 = 0.925mm
y1 = -0.900mm
x2 = 0.925mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.31 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.32 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.33 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.34 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = CAPC1608X92N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.35 {
x1 = -0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.36 {
x1 = 0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.37 {
x1 = 0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = -0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.39 {
li:geometry {
ta:contour {
{ -0.875mm; -1.550mm }
{ -0.875mm; -1.050mm }
{ -0.875mm; 1.050mm }
{ -0.875mm; 1.550mm }
{ 0.875mm; 1.550mm }
{ 0.875mm; 1.050mm }
{ 0.875mm; -1.050mm }
{ 0.875mm; -1.550mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,476 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_USB20_RECEPTAC
ha:attributes {
footprint = CONNECTOR_USB20_RECEPTACLE
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.900mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.350mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.400mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.350mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.350mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.400mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 2.100mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 3.150mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 3.200mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 3.150mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 3.150mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 3.200mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.24 {
proto = 2
rot = 0
x = -3.500mm
y = -5.860mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 2
rot = 0
x = -1.000mm
y = -5.860mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 2
rot = 0
x = 1.000mm
y = -5.860mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 2
rot = 0
x = 3.500mm
y = -5.860mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 3
rot = 0
x = -7.000mm
y = -3.150mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.29 {
proto = 3
rot = 0
x = 7.000mm
y = -3.150mm
ha:attributes {
term = 6
name = 6
}
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.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = -3.150mm
y2 = -3.150mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = -3.150mm
y2 = -3.150mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = -3.150mm
y2 = -2.150mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -7.300mm
y1 = -7.100mm
x2 = 7.300mm
y2 = -7.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 7.300mm
y1 = -7.100mm
x2 = 7.300mm
y2 = -5.025mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = 7.300mm
y1 = -1.275mm
x2 = 7.300mm
y2 = 7.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = 7.300mm
y1 = 7.100mm
x2 = -7.300mm
y2 = 7.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = -7.300mm
y1 = -7.100mm
x2 = -7.300mm
y2 = -5.025mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = -7.300mm
y1 = -1.275mm
x2 = -7.300mm
y2 = 7.100mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.40 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.41 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.42 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.43 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = CONNECTOR_USB20_RECEPTACLE
fid = 0
ha:flags {
floater = 1
}
}
ha:line.44 {
x1 = -7.200mm
y1 = -7.000mm
x2 = 7.200mm
y2 = -7.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 7.200mm
y1 = -7.000mm
x2 = 7.200mm
y2 = 7.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = 7.200mm
y1 = 7.000mm
x2 = -7.200mm
y2 = 7.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = -7.200mm
y1 = 7.000mm
x2 = -7.200mm
y2 = -7.000mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.48 {
li:geometry {
ta:contour {
{ -8.825mm; -7.250mm }
{ 8.825mm; -7.250mm }
{ 8.825mm; 7.250mm }
{ -8.825mm; 7.250mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,338 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = LEDC1608X90N............
ha:attributes {
footprint = LEDC1608X90N
}
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.600mm
-0.450mm
0.600mm
-0.450mm
0.600mm
0.450mm
-0.600mm
0.450mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.650mm
-0.500mm
0.650mm
-0.500mm
0.650mm
0.500mm
-0.650mm
0.500mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.450mm
0.600mm
-0.450mm
0.600mm
0.450mm
-0.600mm
0.450mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.28 {
proto = 2
rot = 0
x = 0.000mm
y = -0.800mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.29 {
proto = 2
rot = 0
x = 0.000mm
y = 0.800mm
ha:attributes {
term = 2
name = 2
}
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.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.32 {
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.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -0.900mm
y1 = -0.900mm
x2 = -0.900mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 0.900mm
y1 = -0.900mm
x2 = 0.900mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = -0.900mm
y1 = -0.900mm
x2 = -0.900mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -0.900mm
y1 = -1.550mm
x2 = 0.900mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = 0.900mm
y1 = -1.550mm
x2 = 0.900mm
y2 = -0.900mm
thickness = 0.200mm
clearance = 0
}
ha:arc.39 {
x = 0.000mm
y = -2.100mm
width = 0.125mm
height = 0.125mm
thickness = 0.250mm
astart = 0
adelta = 360
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.40 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.41 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.42 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.43 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = LEDC1608X90N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.44 {
x1 = 0.000mm
y1 = -0.800mm
x2 = 0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = 0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = -0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = -0.400mm
thickness = 0.100mm
clearance = 0
}
ha:line.48 {
x1 = -0.400mm
y1 = -0.400mm
x2 = 0.000mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.49 {
li:geometry {
ta:contour {
{ -0.850mm; -1.500mm }
{ -0.850mm; -1.050mm }
{ -0.850mm; 1.050mm }
{ -0.850mm; 1.500mm }
{ 0.850mm; 1.500mm }
{ 0.850mm; 1.050mm }
{ 0.850mm; -1.050mm }
{ 0.850mm; -1.500mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,296 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = RESC1608X55N............
ha:attributes {
footprint = RESC1608X55N
}
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.550mm
-0.375mm
0.550mm
-0.375mm
0.550mm
0.375mm
-0.550mm
0.375mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.425mm
0.600mm
-0.425mm
0.600mm
0.425mm
-0.600mm
0.425mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.550mm
-0.375mm
0.550mm
-0.375mm
0.550mm
0.375mm
-0.550mm
0.375mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -0.700mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 0.700mm
ha:attributes {
term = 2
name = 2
}
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.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
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.28 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.29 {
x1 = -0.850mm
y1 = -0.900mm
x2 = -0.850mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.30 {
x1 = 0.850mm
y1 = -0.900mm
x2 = 0.850mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.31 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.32 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.33 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.34 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = RESC1608X55N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.35 {
x1 = -0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.36 {
x1 = 0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.37 {
x1 = 0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = -0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.39 {
li:geometry {
ta:contour {
{ -0.730mm; -1.255mm }
{ -0.730mm; -0.980mm }
{ -0.730mm; 0.980mm }
{ -0.730mm; 1.255mm }
{ 0.730mm; 1.255mm }
{ 0.730mm; 0.980mm }
{ 0.730mm; -0.980mm }
{ 0.730mm; -1.255mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,502 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOIC127P600X175-14N.....
ha:attributes {
footprint = SOIC127P600X175-14N
}
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.762mm
-0.300mm
0.762mm
-0.300mm
0.762mm
0.300mm
-0.762mm
0.300mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.813mm
-0.350mm
0.813mm
-0.350mm
0.813mm
0.350mm
-0.813mm
0.350mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.762mm
-0.300mm
0.762mm
-0.300mm
0.762mm
0.300mm
-0.762mm
0.300mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.31 {
proto = 2
rot = 0
x = -2.700mm
y = -3.810mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.32 {
proto = 2
rot = 0
x = -2.700mm
y = -2.540mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -2.700mm
y = -1.270mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = -2.700mm
y = 0.000mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = -2.700mm
y = 1.270mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.36 {
proto = 2
rot = 0
x = -2.700mm
y = 2.540mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.37 {
proto = 2
rot = 0
x = -2.700mm
y = 3.810mm
ha:attributes {
term = 7
name = 7
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.38 {
proto = 2
rot = 0
x = 2.700mm
y = -3.810mm
ha:attributes {
term = 14
name = 14
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.39 {
proto = 2
rot = 0
x = 2.700mm
y = -2.540mm
ha:attributes {
term = 13
name = 13
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.40 {
proto = 2
rot = 0
x = 2.700mm
y = -1.270mm
ha:attributes {
term = 12
name = 12
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.41 {
proto = 2
rot = 0
x = 2.700mm
y = 0.000mm
ha:attributes {
term = 11
name = 11
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.42 {
proto = 2
rot = 0
x = 2.700mm
y = 1.270mm
ha:attributes {
term = 10
name = 10
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.43 {
proto = 2
rot = 0
x = 2.700mm
y = 2.540mm
ha:attributes {
term = 9
name = 9
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.44 {
proto = 2
rot = 0
x = 2.700mm
y = 3.810mm
ha:attributes {
term = 8
name = 8
}
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.45 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.46 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.47 {
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.48 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.49 {
x1 = -2.050mm
y1 = -4.425mm
x2 = 2.050mm
y2 = -4.425mm
thickness = 0.200mm
clearance = 0
}
ha:line.50 {
x1 = 2.050mm
y1 = 4.425mm
x2 = -2.050mm
y2 = 4.425mm
thickness = 0.200mm
clearance = 0
}
ha:arc.51 {
x = -2.700mm
y = -4.960mm
width = 0.125mm
height = 0.125mm
thickness = 0.250mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.52 {
x1 = -2.050mm
y1 = -4.410mm
x2 = -3.763mm
y2 = -4.410mm
thickness = 0.200mm
clearance = 0
}
ha:line.53 {
x1 = -3.763mm
y1 = -4.410mm
x2 = -3.763mm
y2 = -3.510mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.54 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.55 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.56 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.57 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = SOIC127P600X175-14N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.58 {
x1 = -0.950mm
y1 = -4.325mm
x2 = 1.950mm
y2 = -4.325mm
thickness = 0.100mm
clearance = 0
}
ha:line.59 {
x1 = 1.950mm
y1 = -4.325mm
x2 = 1.950mm
y2 = 4.325mm
thickness = 0.100mm
clearance = 0
}
ha:line.60 {
x1 = 1.950mm
y1 = 4.325mm
x2 = -1.950mm
y2 = 4.325mm
thickness = 0.100mm
clearance = 0
}
ha:line.61 {
x1 = -1.950mm
y1 = 4.325mm
x2 = -1.950mm
y2 = -3.325mm
thickness = 0.100mm
clearance = 0
}
ha:line.62 {
x1 = -1.950mm
y1 = -3.325mm
x2 = -0.950mm
y2 = -4.325mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.63 {
li:geometry {
ta:contour {
{ -3.712mm; -4.360mm }
{ -2.200mm; -4.360mm }
{ -2.200mm; -4.575mm }
{ 2.200mm; -4.575mm }
{ 2.200mm; -4.360mm }
{ 3.712mm; -4.360mm }
{ 3.712mm; 4.360mm }
{ 2.200mm; 4.360mm }
{ 2.200mm; 4.575mm }
{ -2.200mm; 4.575mm }
{ -2.200mm; 4.360mm }
{ -3.712mm; 4.360mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,452 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT65P210X110-5N........
ha:attributes {
footprint = SOT65P210X110-5N
}
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.487mm
-0.200mm
0.487mm
-0.200mm
0.487mm
0.200mm
-0.487mm
0.200mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.512mm
-0.225mm
0.512mm
-0.225mm
0.512mm
0.225mm
-0.512mm
0.225mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.487mm
-0.200mm
0.487mm
-0.200mm
0.487mm
0.200mm
-0.487mm
0.200mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.487mm
-0.200mm
0.487mm
-0.200mm
0.487mm
0.200mm
-0.487mm
0.200mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.537mm
-0.250mm
0.537mm
-0.250mm
0.537mm
0.250mm
-0.537mm
0.250mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.487mm
-0.200mm
0.487mm
-0.200mm
0.487mm
0.200mm
-0.487mm
0.200mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.100mm
y = -0.650mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = -1.100mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = -1.100mm
y = 0.650mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.36 {
proto = 3
rot = 0
x = 1.100mm
y = 0.650mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.37 {
proto = 3
rot = 0
x = 1.100mm
y = -0.650mm
ha:attributes {
term = 5
name = 5
}
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.38 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.39 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.40 {
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.41 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.42 {
x1 = -0.725mm
y1 = -1.150mm
x2 = 0.725mm
y2 = -1.150mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 0.725mm
y1 = -0.150mm
x2 = 0.725mm
y2 = 0.150mm
thickness = 0.200mm
clearance = 0
}
ha:line.44 {
x1 = 0.725mm
y1 = 1.150mm
x2 = -0.725mm
y2 = 1.150mm
thickness = 0.200mm
clearance = 0
}
ha:arc.45 {
x = -1.100mm
y = -1.700mm
width = 0.125mm
height = 0.125mm
thickness = 0.250mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.46 {
x1 = -0.725mm
y1 = -1.150mm
x2 = -1.887mm
y2 = -1.150mm
thickness = 0.200mm
clearance = 0
}
ha:line.47 {
x1 = -1.887mm
y1 = -1.150mm
x2 = -1.887mm
y2 = -0.450mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.48 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.49 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.51 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 83
string = SOT65P210X110-5N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.52 {
x1 = 0.000mm
y1 = -1.000mm
x2 = 0.625mm
y2 = -1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.53 {
x1 = 0.625mm
y1 = -1.000mm
x2 = 0.625mm
y2 = 1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.54 {
x1 = 0.625mm
y1 = 1.000mm
x2 = -0.625mm
y2 = 1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.55 {
x1 = -0.625mm
y1 = 1.000mm
x2 = -0.625mm
y2 = -0.375mm
thickness = 0.100mm
clearance = 0
}
ha:line.56 {
x1 = -0.625mm
y1 = -0.375mm
x2 = 0.000mm
y2 = -1.000mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.57 {
li:geometry {
ta:contour {
{ -1.837mm; -1.100mm }
{ -0.875mm; -1.100mm }
{ -0.875mm; -1.250mm }
{ 0.875mm; -1.250mm }
{ 0.875mm; -1.100mm }
{ 1.837mm; -1.100mm }
{ 1.837mm; 1.100mm }
{ 0.875mm; 1.100mm }
{ 0.875mm; 1.250mm }
{ -0.875mm; 1.250mm }
{ -0.875mm; 1.100mm }
{ -1.837mm; 1.100mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,384 +0,0 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT95P280X145-5N........
ha:attributes {
footprint = SOT95P280X145-5N
}
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.550mm
-0.300mm
0.550mm
-0.300mm
0.550mm
0.300mm
-0.550mm
0.300mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.350mm
0.600mm
-0.350mm
0.600mm
0.350mm
-0.600mm
0.350mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.550mm
-0.300mm
0.550mm
-0.300mm
0.550mm
0.300mm
-0.550mm
0.300mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.32 {
proto = 2
rot = 0
x = -1.300mm
y = -0.950mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.300mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = -1.300mm
y = 0.950mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = 1.300mm
y = 0.950mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.36 {
proto = 2
rot = 0
x = 1.300mm
y = -0.950mm
ha:attributes {
term = 5
name = 5
}
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.900mm
y1 = -1.550mm
x2 = 0.900mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 0.900mm
y1 = -0.350mm
x2 = 0.900mm
y2 = 0.350mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 0.900mm
y1 = 1.550mm
x2 = -0.900mm
y2 = 1.550mm
thickness = 0.200mm
clearance = 0
}
ha:arc.44 {
x = -1.300mm
y = -2.100mm
width = 0.125mm
height = 0.125mm
thickness = 0.250mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.45 {
x1 = -0.900mm
y1 = -1.550mm
x2 = -2.150mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.46 {
x1 = -2.150mm
y1 = -1.550mm
x2 = -2.150mm
y2 = -0.650mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.47 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.48 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.49 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.50 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = SOT95P280X145-5N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.51 {
x1 = 0.000mm
y1 = -1.450mm
x2 = 0.800mm
y2 = -1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.52 {
x1 = 0.800mm
y1 = -1.450mm
x2 = 0.800mm
y2 = 1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.53 {
x1 = 0.800mm
y1 = 1.450mm
x2 = -0.800mm
y2 = 1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.54 {
x1 = -0.800mm
y1 = 1.450mm
x2 = -0.800mm
y2 = -0.650mm
thickness = 0.100mm
clearance = 0
}
ha:line.55 {
x1 = -0.800mm
y1 = -0.650mm
x2 = 0.000mm
y2 = -1.450mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.56 {
li:geometry {
ta:contour {
{ -2.100mm; -1.500mm }
{ -1.050mm; -1.500mm }
{ -1.050mm; -1.700mm }
{ 1.050mm; -1.700mm }
{ 1.050mm; -1.500mm }
{ 2.100mm; -1.500mm }
{ 2.100mm; 1.500mm }
{ 1.050mm; 1.500mm }
{ 1.050mm; 1.700mm }
{ -1.050mm; 1.700mm }
{ -1.050mm; 1.500mm }
{ -2.100mm; 1.500mm }
}
}
}
}
}
}
}
}
}

View File

@ -1,803 +0,0 @@
li:pcb-rnd-subcircuit-v8 {
ha:subc.2654 {
ha:attributes {
refdes = U0
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.0 {
htop = 0
hdia = 0.0
li:shape {
ha:ps_shape_v4 {
clearance = 0.2mm
li:ps_poly {
-2.5mm
-3.5mm
2.5mm
-3.5mm
2.5mm
3.5mm
-2.5mm
3.5mm
}
ha:layer_mask {
copper = 1
top = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.0
li:ps_poly {
-2.5mm
-3.5mm
2.5mm
-3.5mm
2.5mm
3.5mm
-2.5mm
3.5mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.0
li:ps_poly {
-2.55mm
-3.55mm
2.55mm
-3.55mm
2.55mm
3.55mm
-2.55mm
3.55mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
hbottom = 0
hplated = 0
}
ha:ps_proto_v6.1 {
htop = 0
hdia = 0.0
li:shape {
ha:ps_shape_v4 {
clearance = 0.2mm
ha:ps_circ {
x = 0.0
y = 0.0
dia = 696.8503937mil
}
ha:layer_mask {
copper = 1
top = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.0
ha:ps_circ {
x = 0.0
y = 0.0
dia = 17.8mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.0
ha:ps_circ {
x = 0.0
y = 0.0
dia = 696.8503937mil
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
hbottom = 0
hplated = 1
}
ha:ps_proto_v6.2 {
htop = 0
hdia = 0.0
li:shape {
ha:ps_shape_v4 {
clearance = 40.0mil
li:ps_poly {
-1.6mm
-2.1mm
1.6mm
-2.1mm
1.6mm
2.1mm
-1.6mm
2.1mm
}
ha:layer_mask {
copper = 1
top = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 40.0mil
li:ps_poly {
-1.65mm
-2.15mm
1.65mm
-2.15mm
1.65mm
2.15mm
-1.65mm
2.15mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 40.0mil
li:ps_poly {
-1.6mm
-2.1mm
1.6mm
-2.1mm
1.6mm
2.1mm
-1.6mm
2.1mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
hbottom = 0
hplated = 0
}
}
li:objects {
ha:padstack_ref.2651 {
smirror = 0
ha:attributes {
term = 1
}
proto = 2
xmirror = 0
x = 104.71mm
rot = 0.000000
y = 36.83mm
li:thermal {
}
ha:flags {
clearline = 1
}
clearance = 0.2mm
}
ha:padstack_ref.2652 {
smirror = 0
ha:attributes {
term = 2
}
proto = 1
xmirror = 0
x = 92.71mm
rot = 0.000000
y = 36.83mm
li:thermal {
}
ha:flags {
clearline = 1
}
clearance = 0.2mm
}
ha:padstack_ref.2653 {
smirror = 0
ha:attributes {
term = 1
}
proto = 2
xmirror = 0
x = 80.71mm
rot = 0.000000
y = 36.83mm
li:thermal {
}
ha:flags {
clearline = 1
}
clearance = 0.2mm
}
}
li:layers {
ha:top-silk {
lid = 0
ha:type {
silk = 1
top = 1
}
li:objects {
ha:arc.2662 {
astart = 336.614779
thickness = 10.0mil
width = 10.0mm
height = 10.0mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -66.614779
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2663 {
astart = -90.000000
thickness = 10.0mil
width = 10.0mm
height = 10.0mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -66.614779
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2665 {
astart = 156.614779
thickness = 10.0mil
width = 10.0mm
height = 10.0mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -66.614779
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2666 {
astart = 90.000000
thickness = 10.0mil
width = 10.0mm
height = 10.0mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -66.614779
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:text.2617 {
scale = 100
ha:attributes {
}
x = 91.81mm
y = 36.08mm
rot = 0.000000
string = %a.parent.refdes%
fid = 0
ha:flags {
clearline = 1
dyntext = 1
floater = 1
}
}
}
ha:combining {
auto = 1
}
}
ha:top-assy {
lid = 1
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:line.2580 {
clearance = 40.0mil
y2 = 27.13mm
thickness = 0.2mm
ha:attributes {
}
x1 = 94.71mm
x2 = 90.71mm
ha:flags {
clearline = 1
}
y1 = 27.13mm
}
ha:line.2583 {
clearance = 40.0mil
y2 = 33.820002mm
thickness = 0.2mm
ha:attributes {
}
x1 = 102.151324mm
x2 = 102.141326mm
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:line.2586 {
clearance = 40.0mil
y2 = 33.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 102.81mm
x2 = 102.151324mm
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:line.2589 {
clearance = 40.0mil
y2 = 33.820002mm
thickness = 0.2mm
ha:attributes {
}
x1 = 83.268676mm
x2 = 83.278674mm
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:line.2592 {
clearance = 40.0mil
y2 = 33.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 3.2523622in
x2 = 83.268676mm
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:line.2595 {
clearance = 40.0mil
y2 = 39.839998mm
thickness = 0.2mm
ha:attributes {
}
x1 = 83.268676mm
x2 = 83.278674mm
ha:flags {
clearline = 1
}
y1 = 39.83mm
}
ha:line.2598 {
clearance = 40.0mil
y2 = 39.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 3.2523622in
x2 = 83.268676mm
ha:flags {
clearline = 1
}
y1 = 39.83mm
}
ha:line.2601 {
clearance = 40.0mil
y2 = 39.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 3.2523622in
x2 = 3.2523622in
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:line.2604 {
clearance = 40.0mil
y2 = 39.839998mm
thickness = 0.2mm
ha:attributes {
}
x1 = 102.151324mm
x2 = 102.141326mm
ha:flags {
clearline = 1
}
y1 = 39.83mm
}
ha:line.2607 {
clearance = 40.0mil
y2 = 39.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 102.81mm
x2 = 102.151324mm
ha:flags {
clearline = 1
}
y1 = 39.83mm
}
ha:line.2610 {
clearance = 40.0mil
y2 = 39.83mm
thickness = 0.2mm
ha:attributes {
}
x1 = 102.81mm
x2 = 102.81mm
ha:flags {
clearline = 1
}
y1 = 33.83mm
}
ha:arc.2613 {
astart = 162.299572
thickness = 0.2mm
width = 9.9mm
height = 9.9mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -72.299572
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2614 {
astart = 342.299572
thickness = 0.2mm
width = 9.9mm
height = 9.9mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -60.649273
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2615 {
astart = 90.000000
thickness = 0.2mm
width = 9.9mm
height = 9.9mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -72.299572
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
ha:arc.2616 {
astart = 258.349701
thickness = 0.2mm
width = 9.9mm
height = 9.9mm
ha:attributes {
}
x = 92.71mm
y = 36.83mm
adelta = -60.649273
ha:flags {
clearline = 1
}
clearance = 40.0mil
}
}
ha:combining {
}
}
ha:top-courtyard {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.2618 {
ha:attributes {
}
li:geometry {
ta:contour {
{ 77.96mm; 1.3023622in }
{ 83.105431mm; 1.3023622in }
{ 83.254805mm; 32.620276mm }
{ 84.336674mm; 30.746423mm }
{ 85.784498mm; 29.138451mm }
{ 87.535mm; 27.866637mm }
{ 89.511674mm; 26.986565mm }
{ 91.62813mm; 26.536698mm }
{ 93.79187mm; 26.536698mm }
{ 95.908326mm; 26.986565mm }
{ 97.885mm; 27.866637mm }
{ 99.635502mm; 29.138451mm }
{ 3.9796585in; 30.746423mm }
{ 102.165195mm; 32.620276mm }
{ 102.314569mm; 1.3023622in }
{ 107.46mm; 1.3023622in }
{ 107.46mm; 40.58mm }
{ 102.314569mm; 40.58mm }
{ 102.165195mm; 41.039724mm }
{ 3.9796585in; 1.68951091in }
{ 99.635502mm; 44.521549mm }
{ 97.885mm; 1.80288831in }
{ 95.908326mm; 46.673435mm }
{ 93.79187mm; 47.123302mm }
{ 91.62813mm; 47.123302mm }
{ 89.511674mm; 46.673435mm }
{ 87.535mm; 1.80288831in }
{ 85.784498mm; 44.521549mm }
{ 84.336674mm; 1.68951091in }
{ 83.254805mm; 41.039724mm }
{ 83.105431mm; 40.58mm }
{ 77.96mm; 40.58mm }
}
}
ha:flags {
fullpoly = 1
}
clearance = 40.0mil
}
}
ha:combining {
}
}
ha:subc-aux {
lid = 3
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.2655 {
clearance = 0.0
y2 = 36.83mm
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 92.71mm
x2 = 92.71mm
ha:flags {
selected = 1
}
y1 = 36.83mm
}
ha:line.2658 {
clearance = 0.0
y2 = 36.83mm
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 92.71mm
x2 = 93.71mm
ha:flags {
selected = 1
}
y1 = 36.83mm
}
ha:line.2661 {
clearance = 0.0
y2 = 37.83mm
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 92.71mm
x2 = 92.71mm
ha:flags {
selected = 1
}
y1 = 36.83mm
}
}
ha:combining {
}
}
ha:top_paste {
lid = 4
ha:type {
top = 1
paste = 1
}
li:objects {
}
ha:combining {
auto = 1
}
}
ha:top_mask {
lid = 5
ha:type {
top = 1
mask = 1
}
li:objects {
}
ha:combining {
sub = 1
auto = 1
}
}
ha:top_copper {
lid = 6
ha:type {
copper = 1
top = 1
}
li:objects {
}
ha:combining {
}
}
ha:any_internal_copper {
li:objects {
}
lid = 7
ha:type {
copper = 1
intern = 1
}
stack_offs = 1
ha:combining {
}
}
ha:bottom_copper {
lid = 8
ha:type {
bottom = 1
copper = 1
}
li:objects {
}
ha:combining {
}
}
ha:bottom_mask {
lid = 9
ha:type {
bottom = 1
mask = 1
}
li:objects {
}
ha:combining {
sub = 1
auto = 1
}
}
ha:bottom_silk {
lid = 10
ha:type {
silk = 1
bottom = 1
}
li:objects {
}
ha:combining {
auto = 1
}
}
ha:bottom_paste {
lid = 11
ha:type {
bottom = 1
paste = 1
}
li:objects {
}
ha:combining {
auto = 1
}
}
ha:outline {
lid = 12
ha:type {
boundary = 1
}
purpose = uroute
li:objects {
}
ha:combining {
}
}
ha:pmech {
lid = 13
ha:type {
mech = 1
}
purpose = proute
li:objects {
}
ha:combining {
auto = 1
}
}
ha:umech {
lid = 14
ha:type {
mech = 1
}
purpose = uroute
li:objects {
}
ha:combining {
auto = 1
}
}
}
}
uid = QEWj0Sm7jZrDdbs0/XYAAAAK
ha:flags {
}
}
ha:pixmaps {
}
}

View File

@ -1,421 +0,0 @@
# footprint generated from CuVoodoo Land Pattern
# author: King Kévin
# version: 1
# date: 2019-05-13
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = any_24_ASCII_characters_
ha:attributes {
footprint = open source hardware logo
}
ha:data {
li:padstack_prototypes {
}
li:objects {
}
li:layers {
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:line.2{
clearance = 0
x1 = 0.15mm
y1 = 1.8mm
x2 = 0.75mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:line.3{
clearance = 0
x1 = 1.8mm
y1 = 5.8500000000000005mm
x2 = 1.8mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.4{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 1.8mm
x2 = 6.45mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:line.5{
clearance = 0
x1 = 1.8mm
y1 = 0.15mm
x2 = 1.8mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.6{
clearance = 0
x1 = 0.15mm
y1 = 2.4mm
x2 = 0.75mm
y2 = 2.4mm
thickness = 0.3mm
}
ha:line.7{
clearance = 0
x1 = 2.4mm
y1 = 5.8500000000000005mm
x2 = 2.4mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.8{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 2.4mm
x2 = 6.45mm
y2 = 2.4mm
thickness = 0.3mm
}
ha:line.9{
clearance = 0
x1 = 2.4mm
y1 = 0.15mm
x2 = 2.4mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.10{
clearance = 0
x1 = 0.15mm
y1 = 3mm
x2 = 0.75mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.11{
clearance = 0
x1 = 3mm
y1 = 5.8500000000000005mm
x2 = 3mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.12{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 3mm
x2 = 6.45mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.13{
clearance = 0
x1 = 3mm
y1 = 0.15mm
x2 = 3mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.14{
clearance = 0
x1 = 0.15mm
y1 = 3.5999999999999996mm
x2 = 0.75mm
y2 = 3.5999999999999996mm
thickness = 0.3mm
}
ha:line.15{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 5.8500000000000005mm
x2 = 3.5999999999999996mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.16{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 3.5999999999999996mm
x2 = 6.45mm
y2 = 3.5999999999999996mm
thickness = 0.3mm
}
ha:line.17{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 0.15mm
x2 = 3.5999999999999996mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.18{
clearance = 0
x1 = 0.15mm
y1 = 4.2mm
x2 = 0.75mm
y2 = 4.2mm
thickness = 0.3mm
}
ha:line.19{
clearance = 0
x1 = 4.2mm
y1 = 5.8500000000000005mm
x2 = 4.2mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.20{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 4.2mm
x2 = 6.45mm
y2 = 4.2mm
thickness = 0.3mm
}
ha:line.21{
clearance = 0
x1 = 4.2mm
y1 = 0.15mm
x2 = 4.2mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.22{
clearance = 0
x1 = 0.15mm
y1 = 4.8mm
x2 = 0.75mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.23{
clearance = 0
x1 = 4.8mm
y1 = 5.8500000000000005mm
x2 = 4.8mm
y2 = 6.45mm
thickness = 0.3mm
}
ha:line.24{
clearance = 0
x1 = 5.8500000000000005mm
y1 = 4.8mm
x2 = 6.45mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.25{
clearance = 0
x1 = 4.8mm
y1 = 0.15mm
x2 = 4.8mm
y2 = 0.75mm
thickness = 0.3mm
}
ha:line.26{
clearance = 0
x1 = 1.8mm
y1 = 1.35mm
x2 = 4.8mm
y2 = 1.35mm
thickness = 0.3mm
}
ha:line.27{
clearance = 0
x1 = 5.25mm
y1 = 1.8mm
x2 = 5.25mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.28{
clearance = 0
x1 = 4.8mm
y1 = 5.25mm
x2 = 1.8mm
y2 = 5.25mm
thickness = 0.3mm
}
ha:line.29{
clearance = 0
x1 = 1.35mm
y1 = 4.8mm
x2 = 1.35mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:arc.30{
clearance = 0
x = 1.8mm
y = 1.8mm
width = 0.45mm
height = 0.45mm
thickness = 0.3mm
astart = 0
adelta = -90
}
ha:arc.31{
clearance = 0
x = 4.8mm
y = 1.8mm
width = 0.45mm
height = 0.45mm
thickness = 0.3mm
astart = -90
adelta = -90
}
ha:arc.32{
clearance = 0
x = 4.8mm
y = 4.8mm
width = 0.45mm
height = 0.45mm
thickness = 0.3mm
astart = 180
adelta = -90
}
ha:arc.33{
clearance = 0
x = 1.8mm
y = 4.8mm
width = 0.45mm
height = 0.45mm
thickness = 0.3mm
astart = 90
adelta = -90
}
ha:line.34{
clearance = 0
x1 = 1.8mm
y1 = 1.8mm
x2 = 3mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:line.35{
clearance = 0
x1 = 3mm
y1 = 1.8mm
x2 = 3mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.36{
clearance = 0
x1 = 3mm
y1 = 3mm
x2 = 1.8mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.37{
clearance = 0
x1 = 1.8mm
y1 = 3mm
x2 = 1.8mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:line.38{
clearance = 0
x1 = 4.8mm
y1 = 1.8mm
x2 = 3.5999999999999996mm
y2 = 1.8mm
thickness = 0.3mm
}
ha:line.39{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 1.8mm
x2 = 3.5999999999999996mm
y2 = 2.4mm
thickness = 0.3mm
}
ha:line.40{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 2.4mm
x2 = 4.8mm
y2 = 2.4mm
thickness = 0.3mm
}
ha:line.41{
clearance = 0
x1 = 4.8mm
y1 = 2.4mm
x2 = 4.8mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.42{
clearance = 0
x1 = 4.8mm
y1 = 3mm
x2 = 3.5999999999999996mm
y2 = 3mm
thickness = 0.3mm
}
ha:line.43{
clearance = 0
x1 = 1.8mm
y1 = 3.5999999999999996mm
x2 = 1.8mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.44{
clearance = 0
x1 = 1.8mm
y1 = 4.199999999999999mm
x2 = 3mm
y2 = 4.199999999999999mm
thickness = 0.3mm
}
ha:line.45{
clearance = 0
x1 = 3mm
y1 = 3.5999999999999996mm
x2 = 3mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.46{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 3.5999999999999996mm
x2 = 3.5999999999999996mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.47{
clearance = 0
x1 = 3.5999999999999996mm
y1 = 4.8mm
x2 = 4.199999999999999mm
y2 = 4.2mm
thickness = 0.3mm
}
ha:line.48{
clearance = 0
x1 = 4.199999999999999mm
y1 = 4.2mm
x2 = 4.799999999999999mm
y2 = 4.8mm
thickness = 0.3mm
}
ha:line.49{
clearance = 0
x1 = 4.799999999999999mm
y1 = 4.8mm
x2 = 4.799999999999999mm
y2 = 3.5999999999999996mm
thickness = 0.3mm
}
}
}
}
}
}
}

2
gafrc
View File

@ -1,2 +0,0 @@
(source-library ".")
(component-library "./geda/symbols/")

View File

@ -1,18 +0,0 @@
v 20210407 2
P 200 0 200 200 1 0 0
{
T 250 50 5 6 0 1 0 0 1
pinnumber=1
T 250 50 5 6 0 0 0 0 1
pinseq=1
T 250 50 5 6 0 1 0 0 1
pinlabel=1
T 250 50 5 6 0 1 0 0 1
pintype=pwr
}
T 200 250 9 8 1 0 0 3 1
1V8
T 300 0 8 8 0 0 0 0 1
net=1V8:1
L 150 100 200 200 3 10 1 0 -1 -1
L 200 200 250 100 3 10 1 0 -1 -1

View File

@ -1,18 +0,0 @@
v 20210407 2
P 200 0 200 200 1 0 0
{
T 250 50 5 6 0 1 0 0 1
pinnumber=1
T 250 50 5 6 0 0 0 0 1
pinseq=1
T 250 50 5 6 0 1 0 0 1
pinlabel=1
T 250 50 5 6 0 1 0 0 1
pintype=pwr
}
T 200 250 9 8 1 0 0 3 1
3V3
T 300 0 8 8 0 0 0 0 1
net=3V3:1
L 150 100 200 200 3 10 1 0 -1 -1
L 200 200 250 100 3 10 1 0 -1 -1

View File

@ -1,18 +0,0 @@
v 20210407 2
P 200 0 200 200 1 0 0
{
T 250 50 5 6 0 1 0 0 1
pinnumber=1
T 250 50 5 6 0 0 0 0 1
pinseq=1
T 250 50 5 6 0 1 0 0 1
pinlabel=1
T 250 50 5 6 0 1 0 0 1
pintype=pwr
}
T 200 250 9 8 1 0 0 3 1
5V
T 300 0 8 8 0 0 0 0 1
net=5V:1
L 150 100 200 200 3 10 1 0 -1 -1
L 200 200 250 100 3 10 1 0 -1 -1

View File

@ -1,33 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
keywords=Capacitor
T 0 0 5 8 0 0 0 0 1
footprint=CAPC1608X92N.fp
T 200 520 5 10 1 1 0 3 1
refdes=C?
T 200 80 9 10 1 1 0 5 1
device=C0603
L 170 460 170 140 3 0 1 0 -1 -1
L 230 460 230 140 3 0 1 0 -1 -1
P 0 300 170 300 1 0 0
{
T 250 300 9 8 0 1 0 0 1
pinlabel=L
T 250 300 5 8 0 0 0 2 1
pintype=pas
T 90 300 5 8 0 1 0 6 1
pinnumber=1
T 90 300 5 8 0 0 0 8 1
pinseq=1
}
P 400 300 230 300 1 0 0
{
T 150 300 9 8 0 1 0 6 1
pinlabel=R
T 150 300 5 8 0 0 0 8 1
pintype=pas
T 310 300 5 8 0 1 0 0 1
pinnumber=2
T 310 300 5 8 0 0 0 2 1
pinseq=2
}

View File

@ -1,17 +0,0 @@
v 20210407 2
P 100 100 100 200 1 0 1
{
T 158 161 5 4 0 1 0 0 1
pinnumber=1
T 158 161 5 4 0 0 0 0 1
pinseq=1
T 158 161 5 4 0 1 0 0 1
pinlabel=1
T 158 161 5 4 0 1 0 0 1
pintype=pwr
}
L 0 100 200 100 3 0 0 0 -1 -1
T 300 50 8 10 0 0 0 0 1
net=GND:1
L 0 100 100 0 3 0 1 0 -1 -1
L 200 100 100 0 3 0 1 0 -1 -1

View File

@ -1,52 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
keywords=LED
T 0 0 5 8 0 0 0 0 1
footprint=LEDC1608X90N.fp
T 200 360 5 10 1 1 0 3 1
refdes=D?
T 200 40 9 10 1 1 0 5 1
device=LED0603
H 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 5
M 120 300
L 280 200
L 120 100
L 120 300
z
L 280 300 280 100 3 0 1 0 -1 -1
L 300 350 400 450 3 0 1 0 -1 -1
H 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 5
M 336 414
L 400 450
L 364 386
L 336 414
z
L 350 300 450 400 3 0 1 0 -1 -1
H 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 5
M 386 364
L 450 400
L 414 336
L 386 364
z
P 0 200 120 200 1 0 0
{
T 200 200 9 8 0 1 0 0 1
pinlabel=A
T 200 200 5 8 0 0 0 2 1
pintype=pas
T 40 200 5 8 0 1 0 6 1
pinnumber=2
T 40 200 5 8 0 0 0 8 1
pinseq=2
}
P 400 200 280 200 1 0 0
{
T 200 200 9 8 0 1 0 6 1
pinlabel=C
T 200 200 5 8 0 0 0 8 1
pintype=pas
T 360 200 5 8 0 1 0 0 1
pinnumber=1
T 360 200 5 8 0 0 0 2 1
pinseq=1
}

View File

@ -1,65 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
datasheet=https://www.onsemi.com/pdf/datasheet/nl17sz00-d.pdf
T 0 0 5 8 0 0 0 0 1
footprint=SOT65P210X110-5N.fp
B 400 1400 900 -1000 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 0 1100 400 1100 1 0 0
{
T 480 1100 9 8 1 1 0 0 1
pinlabel=A
T 480 1100 5 8 0 0 0 2 1
pintype=false
T 320 1100 5 8 1 1 0 6 1
pinnumber=1
T 320 1100 5 8 0 0 0 8 1
pinseq=1
}
P 0 700 400 700 1 0 0
{
T 480 700 9 8 1 1 0 0 1
pinlabel=B
T 480 700 5 8 0 0 0 2 1
pintype=false
T 320 700 5 8 1 1 0 6 1
pinnumber=2
T 320 700 5 8 0 0 0 8 1
pinseq=2
}
P 1700 900 1300 900 1 0 0
{
T 1220 900 9 8 1 1 0 6 1
pinlabel=Y
T 1220 900 5 8 0 0 0 8 1
pintype=false
T 1380 900 5 8 1 1 0 0 1
pinnumber=4
T 1380 900 5 8 0 0 0 2 1
pinseq=4
}
P 900 1800 900 1400 1 0 0
{
T 900 1320 9 8 1 1 90 6 1
pinlabel=VCC
T 900 1320 5 8 0 0 90 8 1
pintype=pwr
T 900 1480 5 8 1 1 90 0 1
pinnumber=5
T 900 1480 5 8 0 0 90 2 1
pinseq=5
}
P 900 0 900 400 1 0 0
{
T 900 480 9 8 1 1 90 0 1
pinlabel=GND
T 900 480 5 8 0 0 90 2 1
pintype=pwr
T 900 320 5 8 1 1 90 6 1
pinnumber=3
T 900 320 5 8 0 0 90 8 1
pinseq=3
}
T 400 1460 5 10 1 1 0 0 1
refdes=U?
T 960 340 9 10 1 1 0 2 1
device=NL17SZ00DF

View File

@ -1,32 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
keywords=Resistor, 1/10W
T 0 0 5 8 0 0 0 0 1
footprint=RESC1608X55N.fp
T 300 340 5 10 1 1 0 3 1
refdes=R?
T 300 60 9 10 1 1 0 5 1
device=R0603
B 100 280 400 -160 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 0 200 100 200 1 0 0
{
T 180 200 9 8 0 1 0 0 1
pinlabel=L
T 180 200 5 8 0 0 0 2 1
pintype=pas
T 20 200 5 8 0 1 0 6 1
pinnumber=1
T 20 200 5 8 0 0 0 8 1
pinseq=1
}
P 600 200 500 200 1 0 0
{
T 420 200 9 8 0 1 0 6 1
pinlabel=R
T 420 200 5 8 0 0 0 8 1
pintype=pas
T 580 200 5 8 0 1 0 0 1
pinnumber=2
T 580 200 5 8 0 0 0 2 1
pinseq=2
}

View File

@ -1,166 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
datasheet=https://www.ti.com/lit/ds/symlink/sn74hc02.pdf
T 0 0 5 8 0 0 0 0 1
aliases=SN54HC02D
T 0 0 5 8 0 0 0 0 1
footprint=SOIC127P600X175-14N.fp
B 400 3600 900 -3200 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 0 3400 400 3400 1 0 0
{
T 480 3400 9 8 1 1 0 0 1
pinlabel=1A
T 480 3400 5 8 0 0 0 2 1
pintype=false
T 320 3400 5 8 1 1 0 6 1
pinnumber=2
T 320 3400 5 8 0 0 0 8 1
pinseq=2
}
P 0 3000 400 3000 1 0 0
{
T 480 3000 9 8 1 1 0 0 1
pinlabel=1B
T 480 3000 5 8 0 0 0 2 1
pintype=false
T 320 3000 5 8 1 1 0 6 1
pinnumber=3
T 320 3000 5 8 0 0 0 8 1
pinseq=3
}
P 0 2600 400 2600 1 0 0
{
T 480 2600 9 8 1 1 0 0 1
pinlabel=2A
T 480 2600 5 8 0 0 0 2 1
pintype=false
T 320 2600 5 8 1 1 0 6 1
pinnumber=5
T 320 2600 5 8 0 0 0 8 1
pinseq=5
}
P 0 2200 400 2200 1 0 0
{
T 480 2200 9 8 1 1 0 0 1
pinlabel=2B
T 480 2200 5 8 0 0 0 2 1
pintype=false
T 320 2200 5 8 1 1 0 6 1
pinnumber=6
T 320 2200 5 8 0 0 0 8 1
pinseq=6
}
P 0 1800 400 1800 1 0 0
{
T 480 1800 9 8 1 1 0 0 1
pinlabel=3A
T 480 1800 5 8 0 0 0 2 1
pintype=false
T 320 1800 5 8 1 1 0 6 1
pinnumber=8
T 320 1800 5 8 0 0 0 8 1
pinseq=8
}
P 0 1400 400 1400 1 0 0
{
T 480 1400 9 8 1 1 0 0 1
pinlabel=3B
T 480 1400 5 8 0 0 0 2 1
pintype=false
T 320 1400 5 8 1 1 0 6 1
pinnumber=9
T 320 1400 5 8 0 0 0 8 1
pinseq=9
}
P 0 1000 400 1000 1 0 0
{
T 480 1000 9 8 1 1 0 0 1
pinlabel=4A
T 480 1000 5 8 0 0 0 2 1
pintype=false
T 320 1000 5 8 1 1 0 6 1
pinnumber=11
T 320 1000 5 8 0 0 0 8 1
pinseq=11
}
P 0 600 400 600 1 0 0
{
T 480 600 9 8 1 1 0 0 1
pinlabel=4B
T 480 600 5 8 0 0 0 2 1
pintype=false
T 320 600 5 8 1 1 0 6 1
pinnumber=12
T 320 600 5 8 0 0 0 8 1
pinseq=12
}
P 1700 2600 1300 2600 1 0 0
{
T 1220 2600 9 8 1 1 0 6 1
pinlabel=1Y
T 1220 2600 5 8 0 0 0 8 1
pintype=false
T 1380 2600 5 8 1 1 0 0 1
pinnumber=1
T 1380 2600 5 8 0 0 0 2 1
pinseq=1
}
P 1700 2200 1300 2200 1 0 0
{
T 1220 2200 9 8 1 1 0 6 1
pinlabel=2Y
T 1220 2200 5 8 0 0 0 8 1
pintype=false
T 1380 2200 5 8 1 1 0 0 1
pinnumber=4
T 1380 2200 5 8 0 0 0 2 1
pinseq=4
}
P 1700 1800 1300 1800 1 0 0
{
T 1220 1800 9 8 1 1 0 6 1
pinlabel=3Y
T 1220 1800 5 8 0 0 0 8 1
pintype=false
T 1380 1800 5 8 1 1 0 0 1
pinnumber=10
T 1380 1800 5 8 0 0 0 2 1
pinseq=10
}
P 1700 1400 1300 1400 1 0 0
{
T 1220 1400 9 8 1 1 0 6 1
pinlabel=4Y
T 1220 1400 5 8 0 0 0 8 1
pintype=false
T 1380 1400 5 8 1 1 0 0 1
pinnumber=13
T 1380 1400 5 8 0 0 0 2 1
pinseq=13
}
P 900 4000 900 3600 1 0 0
{
T 900 3520 9 8 1 1 90 6 1
pinlabel=VCC
T 900 3520 5 8 0 0 90 8 1
pintype=pwr
T 900 3680 5 8 1 1 90 0 1
pinnumber=14
T 900 3680 5 8 0 0 90 2 1
pinseq=14
}
P 900 0 900 400 1 0 0
{
T 900 480 9 8 1 1 90 0 1
pinlabel=GND
T 900 480 5 8 0 0 90 2 1
pintype=pwr
T 900 320 5 8 1 1 90 6 1
pinnumber=7
T 900 320 5 8 0 0 90 8 1
pinseq=7
}
T 400 3660 5 10 1 1 0 0 1
refdes=U?
T 960 340 9 10 1 1 0 2 1
device=SN74HC02D

View File

@ -1,65 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
datasheet=https://www.ti.com/product/SN74LVC1G02
T 0 0 5 8 0 0 0 0 1
footprint=SOT95P280X145-5N.fp
B 400 1400 900 -1000 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 0 1100 400 1100 1 0 0
{
T 480 1100 9 8 1 1 0 0 1
pinlabel=A
T 480 1100 5 8 0 0 0 2 1
pintype=false
T 320 1100 5 8 1 1 0 6 1
pinnumber=1
T 320 1100 5 8 0 0 0 8 1
pinseq=1
}
P 0 700 400 700 1 0 0
{
T 480 700 9 8 1 1 0 0 1
pinlabel=B
T 480 700 5 8 0 0 0 2 1
pintype=false
T 320 700 5 8 1 1 0 6 1
pinnumber=2
T 320 700 5 8 0 0 0 8 1
pinseq=2
}
P 1700 900 1300 900 1 0 0
{
T 1220 900 9 8 1 1 0 6 1
pinlabel=Y
T 1220 900 5 8 0 0 0 8 1
pintype=false
T 1380 900 5 8 1 1 0 0 1
pinnumber=4
T 1380 900 5 8 0 0 0 2 1
pinseq=4
}
P 900 1800 900 1400 1 0 0
{
T 900 1320 9 8 1 1 90 6 1
pinlabel=VCC
T 900 1320 5 8 0 0 90 8 1
pintype=pwr
T 900 1480 5 8 1 1 90 0 1
pinnumber=5
T 900 1480 5 8 0 0 90 2 1
pinseq=5
}
P 900 0 900 400 1 0 0
{
T 900 480 9 8 1 1 90 0 1
pinlabel=GND
T 900 480 5 8 0 0 90 2 1
pintype=pwr
T 900 320 5 8 1 1 90 6 1
pinnumber=3
T 900 320 5 8 0 0 90 8 1
pinseq=3
}
T 400 1460 5 10 1 1 0 0 1
refdes=U?
T 960 340 9 10 1 1 0 2 1
device=SN74LVC1G02DBV

View File

@ -1,65 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
datasheet=https://www.ti.com/product/SN74LVC1G02
T 0 0 5 8 0 0 0 0 1
footprint=SOT65P210X110-5N.fp
B 400 1400 900 -1000 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 0 1100 400 1100 1 0 0
{
T 480 1100 9 8 1 1 0 0 1
pinlabel=A
T 480 1100 5 8 0 0 0 2 1
pintype=false
T 320 1100 5 8 1 1 0 6 1
pinnumber=1
T 320 1100 5 8 0 0 0 8 1
pinseq=1
}
P 0 700 400 700 1 0 0
{
T 480 700 9 8 1 1 0 0 1
pinlabel=B
T 480 700 5 8 0 0 0 2 1
pintype=false
T 320 700 5 8 1 1 0 6 1
pinnumber=2
T 320 700 5 8 0 0 0 8 1
pinseq=2
}
P 1700 900 1300 900 1 0 0
{
T 1220 900 9 8 1 1 0 6 1
pinlabel=Y
T 1220 900 5 8 0 0 0 8 1
pintype=false
T 1380 900 5 8 1 1 0 0 1
pinnumber=4
T 1380 900 5 8 0 0 0 2 1
pinseq=4
}
P 900 1800 900 1400 1 0 0
{
T 900 1320 9 8 1 1 90 6 1
pinlabel=VCC
T 900 1320 5 8 0 0 90 8 1
pintype=pwr
T 900 1480 5 8 1 1 90 0 1
pinnumber=5
T 900 1480 5 8 0 0 90 2 1
pinseq=5
}
P 900 0 900 400 1 0 0
{
T 900 480 9 8 1 1 90 0 1
pinlabel=GND
T 900 480 5 8 0 0 90 2 1
pintype=pwr
T 900 320 5 8 1 1 90 6 1
pinnumber=3
T 900 320 5 8 0 0 90 8 1
pinseq=3
}
T 400 1460 5 10 1 1 0 0 1
refdes=U?
T 960 340 9 10 1 1 0 2 1
device=SN74LVC1G02DCK

View File

@ -1,84 +0,0 @@
v 20150930 2
T 0 0 5 8 0 0 0 0 1
datasheet=https://datasheet.lcsc.com/szlcsc/1903251102_Jing-Extension-of-the-Electronic-Co-USB-A-F-900-Ordinary-buckle-Cracked-feet-Not-high-temperature_C2345.pdf
T 0 0 5 8 0 0 0 0 1
keywords=connector, USB
T 0 0 5 8 0 0 0 0 1
footprint=CONNECTOR_USB20_RECEPTACLE.fp
B 0 1900 1800 -1500 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1
P 2200 1700 1800 1700 1 0 0
{
T 1520 1700 9 8 1 1 0 6 1
pinlabel=VBUS
T 1520 1700 5 8 0 0 0 8 1
pintype=pwr
T 2080 1700 5 8 1 1 0 0 1
pinnumber=1
T 2080 1700 5 8 0 0 0 2 1
pinseq=1
}
V 1700 1700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 2200 1500 1800 1500 1 0 0
{
T 1520 1500 9 8 1 1 0 6 1
pinlabel=D-
T 1520 1500 5 8 0 0 0 8 1
pintype=io
T 2080 1500 5 8 1 1 0 0 1
pinnumber=2
T 2080 1500 5 8 0 0 0 2 1
pinseq=2
}
V 1700 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 2200 1300 1800 1300 1 0 0
{
T 1520 1300 9 8 1 1 0 6 1
pinlabel=D+
T 1520 1300 5 8 0 0 0 8 1
pintype=io
T 2080 1300 5 8 1 1 0 0 1
pinnumber=3
T 2080 1300 5 8 0 0 0 2 1
pinseq=3
}
V 1700 1300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 2200 1100 1800 1100 1 0 0
{
T 1520 1100 9 8 1 1 0 6 1
pinlabel=GND
T 1520 1100 5 8 0 0 0 8 1
pintype=pwr
T 2080 1100 5 8 1 1 0 0 1
pinnumber=4
T 2080 1100 5 8 0 0 0 2 1
pinseq=4
}
V 1700 1100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 800 0 800 400 1 0 0
{
T 800 680 9 8 1 1 90 0 1
pinlabel=SHIELD
T 800 680 5 8 0 0 90 2 1
pintype=pas
T 800 120 5 8 1 1 90 6 1
pinnumber=5
T 800 120 5 8 0 0 90 8 1
pinseq=5
}
V 800 500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 1000 0 1000 400 1 0 0
{
T 1000 680 9 8 1 1 90 0 1
pinlabel=SHIELD
T 1000 680 5 8 0 0 90 2 1
pintype=pas
T 1000 120 5 8 1 1 90 6 1
pinnumber=6
T 1000 120 5 8 0 0 90 8 1
pinseq=6
}
V 1000 500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
T 900 1960 5 10 1 1 0 3 1
refdes=J?
T 1060 340 9 10 1 1 0 2 1
device=USB20_RECEPTACLE

View File

@ -1,18 +0,0 @@
v 20210626 2
P 200 0 200 200 1 0 0
{
T 250 50 5 6 0 1 0 0 1
pinnumber=1
T 250 50 5 6 0 0 0 0 1
pinseq=1
T 250 50 5 6 0 1 0 0 1
pinlabel=1
T 250 50 5 6 0 1 0 0 1
pintype=pwr
}
T 200 250 9 8 1 0 0 3 1
VCC
T 300 0 8 8 0 0 0 0 1
net=VCC:1
L 150 100 200 200 3 10 1 0 -1 -1
L 200 200 250 100 3 10 1 0 -1 -1

View File

@ -1,18 +0,0 @@
v 20210407 2
P 200 0 200 200 1 0 0
{
T 250 50 5 6 0 1 0 0 1
pinnumber=1
T 250 50 5 6 0 0 0 0 1
pinseq=1
T 250 50 5 6 0 1 0 0 1
pinlabel=1
T 250 50 5 6 0 1 0 0 1
pintype=pwr
}
T 200 250 9 8 1 0 0 3 1
VTRG
T 300 0 8 8 0 0 0 0 1
net=VTRG:1
L 150 100 200 200 3 10 1 0 -1 -1
L 200 200 250 100 3 10 1 0 -1 -1

View File

@ -1,40 +0,0 @@
v 20210626 2
L 3000 900 3000 0 15 0 0 0 -1 -1
B 0 0 6000 1500 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 0 900 6000 900 15 0 0 0 -1 -1
T 1000 700 9 10 1 1 0 0 1
date=$date$
T 4300 700 9 10 1 1 0 0 1
org=$organisation$
T 4300 400 9 10 1 1 0 0 1
authors=$authors$
T 3000 1200 9 14 1 1 0 4 1
title=TITLE
T 3100 400 15 8 1 0 0 0 1
AUTHORS:
T 3100 100 15 8 1 0 0 0 1
LICENCE:
T 100 100 15 8 1 0 0 0 1
REVISION:
T 100 1100 15 8 1 0 0 0 1
TITLE:
T 100 400 15 8 1 0 0 0 1
VERSION:
T 0 1600 8 10 0 0 0 0 1
graphical=1
T 3100 700 15 8 1 0 0 0 1
ORGANISATION:
T 100 700 15 8 1 0 0 0 1
DATE:
T 1000 400 9 10 1 1 0 0 1
version=$version$
T 1000 100 9 10 1 1 0 0 1
revision=$revision$
T 4300 100 9 10 1 1 0 0 1
licence=$licence$
T 0 1800 8 10 0 0 0 0 1
device=none
T 0 2000 8 10 0 0 0 0 1
footprint=none
T 0 2200 8 10 0 0 0 0 1
refdes=none

BIN
picture/v1_back.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

BIN
picture/v1_front.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,507 +0,0 @@
v 20210626 2
C 47000 500 1 0 0 title.sym
{
T 48000 1200 5 10 1 1 0 0 1
date=$date$
T 51300 1200 5 10 1 1 0 0 1
org=CuVoodoo
T 51300 900 5 10 1 1 0 0 1
authors=King Kévin
T 50000 1700 5 14 1 1 0 4 1
title=USB bug detector
T 48000 900 5 10 1 1 0 0 1
version=$version$
T 48000 600 5 10 1 1 0 0 1
revision=$revision$
T 51300 600 5 10 1 1 0 0 1
licence=CERN-OHL-S
T 47000 2300 5 10 0 0 0 0 1
device=none
T 47000 2500 5 10 0 0 0 0 1
footprint=none
}
C 42700 800 1 90 0 capacitor-1.sym
{
T 42000 1000 5 10 0 0 90 0 1
device=CAPACITOR
T 42600 1400 5 10 1 1 0 0 1
refdes=C1
T 41800 1000 5 10 0 0 90 0 1
symversion=0.1
T 42600 1100 5 10 1 1 180 6 1
value=100nF
T 42700 800 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
C 42200 3100 1 0 0 SN74HC02D.sym
{
T 42200 3100 5 8 0 0 0 0 1
footprint=SOIC127P600X175-14N.fp
T 42600 6760 5 10 1 1 0 0 1
refdes=U1
T 43160 3440 5 10 1 1 0 2 1
device=SN74HC02D
T 42200 3100 5 10 0 0 0 0 1
footprint=SOIC127P600X175-14N.lht
}
C 45500 2800 1 0 0 SN74LVC1G02DBV.sym
{
T 45500 2800 5 8 0 0 0 0 1
footprint=SOT95P280X145-5N.fp
T 45900 4260 5 10 1 1 0 0 1
refdes=U3
T 46460 3140 5 10 1 1 0 2 1
device=SN74LVC1G02DBV
T 45500 2800 5 10 0 0 0 0 1
footprint=SOT95P280X145-5N.lht
}
C 40600 1700 1 0 0 VCC.sym
C 40700 800 1 0 0 GND.sym
C 47300 10100 1 0 0 switch-pushbutton-no-1.sym
{
T 47700 10400 5 10 1 1 0 0 1
refdes=S1
T 47700 10700 5 10 0 0 0 0 1
device=SWITCH_PUSHBUTTON_NO
T 47300 10100 5 10 0 0 0 0 1
footprint=MECHANICAL_1TS002E.lht
}
C 40100 9000 1 0 0 USB20_RECEPTACLE.sym
{
T 40100 9000 5 8 0 0 0 0 1
footprint=CONNECTOR_USB20_RECEPTACLE.fp
T 40300 9160 5 10 1 1 0 3 1
refdes=J1
T 40160 11140 5 10 1 1 0 2 1
device=USB20_RECEPTACLE
T 40100 9000 5 10 0 0 0 0 1
footprint=CONNECTOR_USB20_RECEPTACLE.lht
}
C 40600 1700 1 270 0 battery-1.sym
{
T 41500 1400 5 10 0 0 270 0 1
device=BATTERY
T 41100 1500 5 10 1 1 0 0 1
refdes=B1
T 41900 1400 5 10 0 0 270 0 1
symversion=0.1
T 41100 1100 5 10 1 1 0 0 1
value=CR2030
T 40600 1700 5 10 0 0 0 0 1
footprint=SQJ-WJ-CR2032-1-W.lht
}
C 45500 5500 1 0 0 SN74LVC1G02DBV.sym
{
T 45500 5500 5 8 0 0 0 0 1
footprint=SOT95P280X145-5N.fp
T 45900 6960 5 10 1 1 0 0 1
refdes=U2
T 46460 5840 5 10 1 1 0 2 1
device=SN74LVC1G02DBV
T 45500 5500 5 10 0 0 0 0 1
footprint=SOT95P280X145-5N.lht
}
C 43000 2900 1 0 0 GND.sym
C 50600 2600 1 0 0 GND.sym
C 50600 5200 1 0 0 GND.sym
C 42900 7100 1 0 0 VCC.sym
C 50500 4600 1 0 0 VCC.sym
C 50500 7200 1 0 0 VCC.sym
C 46200 7300 1 0 0 VCC.sym
C 46200 4600 1 0 0 VCC.sym
C 40900 8600 1 0 0 nc-bottom-1.sym
{
T 40900 9200 5 10 0 0 0 0 1
value=NoConnection
T 40900 9600 5 10 0 0 0 0 1
device=DRC_Directive
T 40900 10000 5 10 0 0 0 0 1
symversion=1.1
}
C 40700 8600 1 0 0 nc-bottom-1.sym
{
T 40700 9200 5 10 0 0 0 0 1
value=NoConnection
T 40700 9600 5 10 0 0 0 0 1
device=DRC_Directive
T 40700 10000 5 10 0 0 0 0 1
symversion=1.1
}
C 42400 600 1 0 0 GND.sym
C 42300 1700 1 0 0 VCC.sym
C 43600 800 1 90 0 capacitor-1.sym
{
T 42900 1000 5 10 0 0 90 0 1
device=CAPACITOR
T 42700 1000 5 10 0 0 90 0 1
symversion=0.1
T 43500 1400 5 10 1 1 0 0 1
refdes=C2
T 43500 1100 5 10 1 1 180 6 1
value=100nF
T 43600 800 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
C 43300 600 1 0 0 GND.sym
C 43200 1700 1 0 0 VCC.sym
C 44500 800 1 90 0 capacitor-1.sym
{
T 43800 1000 5 10 0 0 90 0 1
device=CAPACITOR
T 43600 1000 5 10 0 0 90 0 1
symversion=0.1
T 44400 1400 5 10 1 1 0 0 1
refdes=C3
T 44400 1100 5 10 1 1 180 6 1
value=100nF
T 44500 800 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
C 44200 600 1 0 0 GND.sym
C 44100 1700 1 0 0 VCC.sym
C 45400 800 1 90 0 capacitor-1.sym
{
T 44700 1000 5 10 0 0 90 0 1
device=CAPACITOR
T 44500 1000 5 10 0 0 90 0 1
symversion=0.1
T 45300 1400 5 10 1 1 0 0 1
refdes=C4
T 45300 1100 5 10 1 1 180 6 1
value=100nF
T 45400 800 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
C 45100 600 1 0 0 GND.sym
C 45000 1700 1 0 0 VCC.sym
C 46300 800 1 90 0 capacitor-1.sym
{
T 45600 1000 5 10 0 0 90 0 1
device=CAPACITOR
T 45400 1000 5 10 0 0 90 0 1
symversion=0.1
T 46200 1400 5 10 1 1 0 0 1
refdes=C5
T 46200 1100 5 10 1 1 180 6 1
value=100nF
T 46300 800 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
C 46000 600 1 0 0 GND.sym
C 45900 1700 1 0 0 VCC.sym
C 43900 4800 1 0 0 nc-right-1.sym
{
T 44000 5300 5 10 0 0 0 0 1
value=NoConnection
T 44000 5500 5 10 0 0 0 0 1
device=DRC_Directive
T 44000 6100 5 10 0 0 0 0 1
symversion=1.1
}
C 43900 4400 1 0 0 nc-right-1.sym
{
T 44000 4900 5 10 0 0 0 0 1
value=NoConnection
T 44000 5100 5 10 0 0 0 0 1
device=DRC_Directive
T 44000 5700 5 10 0 0 0 0 1
symversion=1.1
}
C 42000 3800 1 270 0 GND.sym
C 42000 4200 1 270 0 GND.sym
C 42000 4600 1 270 0 GND.sym
C 42000 5000 1 270 0 GND.sym
T 41800 3100 9 10 1 0 90 0 3
do not leave unused
inputs floating,
this draws power
C 42300 10400 1 0 0 nc-right-1.sym
{
T 42400 10900 5 10 0 0 0 0 1
value=NoConnection
T 42400 11100 5 10 0 0 0 0 1
device=DRC_Directive
T 42400 11700 5 10 0 0 0 0 1
symversion=1.1
}
C 42300 10200 1 0 0 nc-right-1.sym
{
T 42400 10700 5 10 0 0 0 0 1
value=NoConnection
T 42400 10900 5 10 0 0 0 0 1
device=DRC_Directive
T 42400 11500 5 10 0 0 0 0 1
symversion=1.1
}
C 42300 10900 1 0 0 VCC.sym
N 42300 10700 42500 10700 4
N 42500 10700 42500 10900 4
N 43900 5700 44200 5700 4
{
T 44000 5700 5 10 1 1 0 0 1
netname=Q
}
N 43900 5300 44200 5300 4
{
T 44000 5300 5 10 1 1 0 0 1
netname=\_Q\_
}
C 44700 10300 1 0 0 led-1.sym
{
T 45500 10900 5 10 0 0 0 0 1
device=LED
T 45500 11100 5 10 0 0 0 0 1
symversion=0.1
T 45500 10700 5 10 1 1 0 0 1
refdes=LED1
T 44700 10300 5 10 0 1 0 0 1
footprint=LEDC1608X90N.lht
}
C 43800 10400 1 0 0 resistor-1.sym
{
T 44100 10800 5 10 0 0 0 0 1
device=RESISTOR
T 44000 10700 5 10 1 1 0 0 1
refdes=R1
T 44400 10700 5 10 1 1 0 0 1
value=1k
T 43800 10400 5 10 0 0 0 0 1
footprint=RESC1608X55N.lht
}
C 45500 10300 1 0 0 GND.sym
C 44700 9500 1 0 0 led-1.sym
{
T 45500 10100 5 10 0 0 0 0 1
device=LED
T 45500 10300 5 10 0 0 0 0 1
symversion=0.1
T 45500 9900 5 10 1 1 0 0 1
refdes=LED2
T 44700 9500 5 10 0 1 0 0 1
footprint=LEDC1608X90N.lht
}
C 43800 9600 1 0 0 resistor-1.sym
{
T 44100 10000 5 10 0 0 0 0 1
device=RESISTOR
T 44000 9900 5 10 1 1 0 0 1
refdes=R2
T 44400 9900 5 10 1 1 0 0 1
value=1k
T 43800 9600 5 10 0 0 0 0 1
footprint=RESC1608X55N.lht
}
C 45500 9500 1 0 0 GND.sym
T 43200 11100 9 10 1 0 0 0 1
lights up when plug has a capacitor
T 43300 9000 9 10 1 0 0 0 2
on when detector is ready to be used
(optional, = LED1 off)
N 43500 10500 43800 10500 4
{
T 43600 10500 5 10 1 1 0 0 1
netname=Q
}
N 49500 3900 49800 3900 4
{
T 49600 3900 5 10 1 1 0 0 1
netname=Q
}
N 45200 3900 45500 3900 4
{
T 45300 3900 5 10 1 1 0 0 1
netname=Q
}
N 43500 9700 43800 9700 4
{
T 43600 9700 5 10 1 1 0 0 1
netname=\_Q\_
}
N 49500 6500 49800 6500 4
{
T 49600 6500 5 10 1 1 0 0 1
netname=\_Q\_
}
N 45200 6600 45500 6600 4
{
T 45300 6600 5 10 1 1 0 0 1
netname=\_Q\_
}
N 41900 6500 42200 6500 4
{
T 42000 6500 5 10 1 1 0 0 1
netname=\_Q\_
}
N 41900 5700 42200 5700 4
{
T 42000 5700 5 10 1 1 0 0 1
netname=Q
}
C 46300 5300 1 0 0 GND.sym
C 46300 2600 1 0 0 GND.sym
N 51500 6300 51800 6300 4
{
T 51600 6300 5 10 1 1 0 0 1
netname=Q
}
N 47200 6400 47500 6400 4
{
T 47300 6400 5 10 1 1 0 0 1
netname=Q
}
N 51500 3700 51800 3700 4
{
T 51600 3700 5 10 1 1 0 0 1
netname=\_Q\_
}
N 47200 3700 47500 3700 4
{
T 47300 3700 5 10 1 1 0 0 1
netname=\_Q\_
}
T 42100 2300 9 10 1 0 0 0 1
bypass capacitors
C 48200 10100 1 270 0 resistor-1.sym
{
T 48600 9800 5 10 0 0 270 0 1
device=RESISTOR
T 48500 9700 5 10 1 1 0 0 1
refdes=R3
T 48500 9400 5 10 1 1 0 0 1
value=1k
T 48200 10100 5 10 0 0 0 0 1
footprint=RESC1608X55N.lht
}
N 42600 10100 42300 10100 4
{
T 42500 10100 5 10 1 1 0 6 1
netname=S
}
N 48600 10100 48300 10100 4
{
T 48500 10100 5 10 1 1 0 6 1
netname=R
}
C 46900 10300 1 0 0 VCC.sym
N 47300 10100 47100 10100 4
N 47100 10100 47100 10300 4
C 48200 9000 1 0 0 GND.sym
T 46900 10900 9 10 1 0 0 0 2
press to reset detector
(switches LED2 on)
N 51900 10100 52300 10100 4
{
T 52200 10100 5 10 1 1 0 6 1
netname=S
}
C 49400 10300 1 0 0 VCC.sym
N 49800 10100 49600 10100 4
N 49600 10100 49600 10300 4
T 49400 10900 9 10 1 0 0 0 2
press to simular plug with capacitor
(switches LED1 on, optional)
C 49800 10100 1 0 0 switch-pushbutton-no-1.sym
{
T 50200 10400 5 10 1 1 0 0 1
refdes=S2
T 50200 10700 5 10 0 0 0 0 1
device=SWITCH_PUSHBUTTON_NO
T 49800 10100 5 10 0 0 0 0 1
footprint=MECHANICAL_1TS002E.lht
}
C 51900 10300 1 180 0 capacitor-1.sym
{
T 51700 9600 5 10 0 0 180 0 1
device=CAPACITOR
T 51700 9400 5 10 0 0 180 0 1
symversion=0.1
T 51100 10200 5 10 1 1 0 0 1
refdes=C6
T 52100 10500 5 10 1 1 180 0 1
value=100nF
T 51900 10300 5 10 0 0 0 0 1
footprint=CAPC1608X92N.lht
}
N 51000 10100 50800 10100 4
C 50800 10100 1 270 0 resistor-1.sym
{
T 51200 9800 5 10 0 0 270 0 1
device=RESISTOR
T 51100 9700 5 10 1 1 0 0 1
refdes=R5
T 51100 9400 5 10 1 1 0 0 1
value=1k
T 50800 10100 5 10 0 0 0 0 1
footprint=RESC1608X55N.lht
}
C 50800 9000 1 0 0 GND.sym
C 42400 10100 1 270 0 resistor-1.sym
{
T 42800 9800 5 10 0 0 270 0 1
device=RESISTOR
T 42700 9700 5 10 1 1 0 0 1
refdes=R4
T 42700 9400 5 10 1 1 0 0 1
value=1k
T 42400 10100 5 10 0 0 0 0 1
footprint=RESC1608X55N.lht
}
C 42400 9000 1 0 0 GND.sym
T 44700 8100 9 10 1 0 0 0 1
SR latch using NOR gates (in various alternative packages)
T 42800 7700 9 10 1 0 0 0 1
SOIC-14
T 45900 7800 9 10 1 0 0 0 1
SOT23-5
T 50300 7800 9 10 1 0 0 0 1
SOT-353
N 42200 5300 41900 5300 4
{
T 42100 5300 5 10 1 1 0 6 1
netname=S
}
N 42200 6100 41900 6100 4
{
T 42100 6100 5 10 1 1 0 6 1
netname=R
}
C 49800 5400 1 0 0 SN74LVC1G02DCK.sym
{
T 49800 5400 5 8 0 0 0 0 1
footprint=SOT65P210X110-5N.lht
T 50200 6860 5 10 1 1 0 0 1
refdes=U4
T 50760 5740 5 10 1 1 0 2 1
device=SN74LVC1G02DCK
}
C 49800 2800 1 0 0 SN74LVC1G02DCK.sym
{
T 49800 2800 5 8 0 0 0 0 1
footprint=SOT65P210X110-5N.lht
T 50200 4260 5 10 1 1 0 0 1
refdes=U5
T 50760 3140 5 10 1 1 0 2 1
device=SN74LVC1G02DCK
}
T 40600 2300 9 10 1 0 0 0 1
power
N 45500 6200 45200 6200 4
{
T 45400 6200 5 10 1 1 0 6 1
netname=R
}
N 45500 3500 45200 3500 4
{
T 45400 3500 5 10 1 1 0 6 1
netname=S
}
N 49800 3500 49500 3500 4
{
T 49700 3500 5 10 1 1 0 6 1
netname=S
}
N 49800 6100 49500 6100 4
{
T 49700 6100 5 10 1 1 0 6 1
netname=R
}

215
usb_bug_detector.brd.json Normal file

File diff suppressed because one or more lines are too long

109
usb_bug_detector.sch.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
0
1