Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b7f5f02
Schematic: US resistor symbols, decoupling caps at their ICs, drop fi…
Oct 24, 2026
279c05d
docs: VERIFY.md as GitHub task list with Jason comment lines; regener…
Oct 24, 2026
fa71e34
Add KiCad .gitignore, untrack lock/autosave/backup files, add tools/e…
Oct 24, 2026
7efbac6
Add GitHub Action: ERC (fail on errors) and auto-regenerate docs on s…
Oct 24, 2026
b808992
docs: regenerate schematic PDF, netlist, SVGs, ERC report [skip ci]
github-actions[bot] Oct 24, 2026
c29c052
CI: use kicad/kicad:10.0-full (stock libs) and ignore netlist source …
Oct 24, 2026
5fcc954
docs: regenerate schematic PDF, netlist, SVGs, ERC report [skip ci]
github-actions[bot] Oct 24, 2026
78d2aec
CI: install default KiCad lib tables so stock libraries resolve
Oct 24, 2026
0606286
docs: regenerate schematic PDF, netlist, SVGs, ERC report [skip ci]
github-actions[bot] Oct 24, 2026
9526a8c
CI: header comment
Oct 24, 2026
23b970b
docs: regenerate schematic PDF, netlist, SVGs, ERC report [skip ci]
github-actions[bot] Oct 24, 2026
5498dca
CI: fix ignore regex for netlist source line
Oct 24, 2026
ed1df7d
Resolve VERIFY directives: R9 to VIO, R29 on PB4, OLED bulk, SMD UPDI…
Oct 24, 2026
f9b80e6
docs: regenerate schematic PDF, netlist, SVGs, ERC report
Oct 24, 2026
bc66333
Pre-layout: project-local Etherkit libs (ERC 0/0), DS1/J2-J4/X1 fit r…
Oct 24, 2026
7b588e5
DS1 OLED: DNP user-fitted (partial kit), no LCSC, off BOM/pos; keep 3…
Oct 24, 2026
bd0226c
DS1: generic 1.3in SH1106 SPI 7-pin (GND,VCC,CLK,MOSI,RES,DC,CS); OLE…
Oct 24, 2026
5c3c63c
Retire schgen generator (kicad_sch files are master); drop unverified…
Oct 24, 2026
2778386
J2-J4 SMA: DNP, supplied in kit, user-soldered; off BOM/pos, LCSC cle…
Oct 24, 2026
7d24586
SW2-SW4: 6x6 mm 11 mm-tall SMD tact switch KH-6X6X11H-STM (C2837537) …
Oct 24, 2026
d0736eb
H1-H4: plated M3 mounting holes (MountingHole_3.2mm_M3_Pad_Via) tied …
Oct 24, 2026
5dade2b
SH1: DNP RF shield solder fence (GND), OSHW logo footprint
Oct 24, 2026
16752f4
VERIFY: SH1 sizing wording
Oct 24, 2026
4bcd143
Bypass: split each bypass jumper into two NO jumpers (JP104+JP105, JP…
Oct 24, 2026
ba1d212
U2 decoupling: C26 100n at VDDO (pin 7), C27 10u + C28 100n bulk on +…
Oct 24, 2026
24008ef
R100/R120/R140 -> 0402 0R (C17168) and C26 -> 0402 100n (C1525) so th…
Oct 24, 2026
a9b48d3
Soft buttons: BTN_BAND/STEP/MENU -> BTN_S1/S2/S3 (left to right), SW2…
Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions .github/workflows/kicad-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Regenerates docs/ and runs ERC on schematic changes; see tools/export_docs.sh.
name: KiCad docs and ERC

on:
push:
paths:
- 'PCB/**/*.kicad_sch'
- 'PCB/*.kicad_pro'
- 'tools/export_docs.sh'
- '.github/workflows/kicad-docs.yml'
pull_request:
paths:
- 'PCB/**/*.kicad_sch'
- 'PCB/*.kicad_pro'
- 'tools/export_docs.sh'
- '.github/workflows/kicad-docs.yml'

permissions:
contents: write

concurrency:
group: kicad-docs-${{ github.ref }}
cancel-in-progress: false

jobs:
erc-and-docs:
# Loop guard: never react to our own bot commits.
if: github.actor != 'github-actions[bot]'
runs-on: ubuntu-latest
container:
image: kicad/kicad:10.0-full # -full ships the stock symbol/footprint libs
options: --user root
steps:
- name: Install git
run: apt-get update -qq && apt-get install -y -qq git >/dev/null

- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'push' && github.ref || '' }}

- name: Trust workspace
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Install default KiCad library tables for this user
run: |
d="$HOME/.config/kicad/10.0"; mkdir -p "$d"
for t in sym-lib-table fp-lib-table; do
[ -f "$d/$t" ] || cp "/usr/share/kicad/template/$t" "$d/$t"
done
ls -l "$d"

- name: ERC (fail on errors only; warnings allowed)
run: |
kicad-cli sch erc --severity-error --exit-code-violations \
-o /tmp/erc-errors.rpt PCB/Si5351AVFO.kicad_sch
cat /tmp/erc-errors.rpt || true

- name: Export PDF, netlist, SVGs, ERC report
run: tools/export_docs.sh

- name: Commit regenerated docs (push only, skip date-only changes)
if: github.event_name == 'push'
run: |
git add -A docs
# Netlist, ERC report and SVGs are text renderings of the same
# schematic as the PDF. If they differ only in timestamp lines,
# the PDF change is just its embedded date: drop everything.
if git diff --cached --quiet -I 'date' -I '\(source ' -I 'ERC report \(' -- docs/Si5351AVFO.net docs/erc.rpt docs/svg \
&& ! git diff --cached --name-only --diff-filter=AD -- docs | grep -q .; then
echo "Only embedded dates changed; nothing to commit."
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git commit -m "docs: regenerate schematic PDF, netlist, SVGs, ERC report [skip ci]"
git push origin "HEAD:${GITHUB_REF_NAME}"
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# KiCad lock files
*.lck
~*.lck
# KiCad autosave and backups
_autosave-*
*-backups/
\#auto_saved_files\#
*.bak
*.bck
*-bak
*.kicad_sch-bak
*.kicad_pcb-bak
*~
# Caches
fp-info-cache
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
134 changes: 131 additions & 3 deletions PCB/Si5351AVFO.kicad_pro
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"clearance": 0.15,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
Expand All @@ -280,14 +280,142 @@
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.15,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "RF50",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 0,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.31,
"tuning_profile": "",
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 5
},
"net_colors": {},
"netclass_assignments": {},
"netclass_patterns": []
"netclass_patterns": [
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK0"
},
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK1"
},
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK2"
},
{
"netclass": "RF50",
"pattern": "Net-(C100-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C102-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C103-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C120-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C122-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C123-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C140-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C142-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(C143-Pad1)"
},
{
"netclass": "RF50",
"pattern": "Net-(J2-In)"
},
{
"netclass": "RF50",
"pattern": "Net-(J3-In)"
},
{
"netclass": "RF50",
"pattern": "Net-(J4-In)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP102-A)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP102-B)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP103-A)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP122-A)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP122-B)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP123-A)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP142-A)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP142-B)"
},
{
"netclass": "RF50",
"pattern": "Net-(JP143-A)"
},
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK0_BYP"
},
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK1_BYP"
},
{
"netclass": "RF50",
"pattern": "/Synth and RF outputs/CLK2_BYP"
}
]
},
"pcbnew": {
"last_paths": {
Expand Down Expand Up @@ -458,4 +586,4 @@
},
"tuning_profiles_impedance_geometric": []
}
}
}
2 changes: 1 addition & 1 deletion PCB/Si5351AVFO.kicad_sch
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
(date "2026-10-22")
(rev "A")
(company "Etherkit / NT7S")
(comment 1 "Draft schematic, not reviewed. See VERIFY notes.")
(comment 1 "Draft schematic, not reviewed. Open items: docs/VERIFY.md")
)
(lib_symbols)
(text "Si5351A VFO Rev A - Field Manual Ch. 6. Plan: PLAN.md (2026-10-22). Hierarchy: power/USB, MCU/UI, synth/RF.\nInter-sheet nets via global labels (MCU_TX, MCU_RX, DTR, I2C_SCL, I2C_SDA) and power rails."
Expand Down
Loading
Loading