imrishabh18/rp2040-motor-controller

A 4-layer RP2040-based NEMA17 stepper-motor controller with USB-C 5–20 V PD input, DRV8825 microstepping driver, current/temperature telemetry, protected power switching, status RGB LED, buzzer, programming flash, and optional magnetic encoder.

Version
1.0.48
License
unset
Stars
5

engineering/readable-schematic.md

# Automatic schematic grouping and readability

Revision 1.0.46 reorganizes the schematic following revision 1.0.45. All ten sheets use automatic functional grouping while retaining the validated PCB.

`schematic/functionalGroups.ts` declares circuit membership and human-readable headings. The DRV8825 core/charge pump, motor supply bypass, 1 A reference, winding regulation shunts, power-good/sleep/fault network and motor connector are separate groups. The USB-PD connector is separate from its controller and filtering. RP2040 I/O bypass and ADC filtering have their own groups. The red, green and blue LED sink branches are separate. The MCU enable pull-down is separated from temperature sensing.

`AutoLayoutSections.tsx` expands these groups with `schAutoLayoutEnabled`, removing component-level coordinates. There are no fixed schematic group origins. Native tscircuit layout arranges each group's components; skyline packing places the measured groups in the available sheet area without forcing every group to the next row below the tallest group. The existing analyzer-driven refinement keeps all schematic rules enabled. Titles follow their own content bounds, and capacitor-bank spacing includes designator text lengths. The INA226 description now belongs to the voltage-monitor group.

All ten A4 sheets remain. Component annotations, pin connectivity, custom symbol geometry and explanatory notes are retained. The artwork inside a custom symbol still defines its relative pin and drawing geometry; those coordinates do not position the component on a sheet.

The grouping changes regenerated source and PCB port identifiers. Routing metadata was mapped by physical component pin and geometry, then the complete routing input was compared to the existing plan. No routing-input geometry, physical pin connections or saved copper points changed. The strict routing and ground-pour guards remain enabled. Endpoint identifiers are excluded from the copper regression fingerprint; every coordinate, segment width, copper layer and via dimension remains included.

Snapshots include content-focused PNG/SVG views for reading and framed A4 SVG sheets for printing. Validation evidence is in `reports/readable-schematic-2026-10-22`.