- KiCad project generated by pcb/tools (design, route, schematic, fab outputs). - v0.4 fixes the v0.3 review findings: low-dropout 3.3 V regulator, OR'd 5 V supply, polyfuse, USB ESD protection, input clamps, ceramic decoupling at the drivers, A4988/DRV8825 jumper, ground stitching. DRC/ERC clean. - v0.3 (as ordered) kept in pcb/archive/v0.3. - FluidNC config.yaml for the board; rho hard limit on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
806 B
Python
22 lines
806 B
Python
"""Build the board, report placement problems and write an unrouted PCB for a look."""
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
import design as D
|
|
from board import build, check_placement, write_pcb, write_project, keepout_zone
|
|
|
|
OUT = os.path.expanduser('~/kicad/sandtable-controller')
|
|
|
|
parts = build()
|
|
probs = check_placement(parts)
|
|
print(f'{len(parts)} parts, {sum(len(v) for v in D.NETS.values())} net pins, {len(D.NETS)} nets')
|
|
for p in probs:
|
|
print(' !', p)
|
|
if not probs:
|
|
print(' placement OK')
|
|
zones = [keepout_zone('ANTENNA', 18.75, 56.9, 67.25, D.BOARD_H)]
|
|
write_pcb(os.path.join(OUT, 'sandtable-controller.kicad_pcb'), parts, zones=zones)
|
|
write_project(os.path.join(OUT, 'sandtable-controller.kicad_pro'), 'sandtable-controller')
|
|
print('wrote unrouted board')
|