imrishabh18/nema17-motor-controller-flex
An RP2040-based USB‑C/USB‑PD controller board that powers and drives a NEMA17 stepper via a DRV8825, with current/temperature/voltage monitoring, optional AS5600 encoder, buzzer/RGB status indicators, QSPI flash, and flexible motor/encoder connections.
- Version
- 1.2.0
- License
- unset
- Stars
- 0
schematic/MotorOutputsSection.tsx
import { motorPosition } from "../mechanical/flex-layout";
import { MotorSocket6 } from "../imports/MotorSocket6";
import { motorTrace, schematicSections, schematicSheets } from "./config";
export const MotorOutputConnectors = () => (
<>
<MotorSocket6 layer="bottom"
name="J1"
pcbX={motorPosition.x + 5.625}
pcbY={motorPosition.y + 8.25}
pcbRotation={270}
schPinArrangement={{
leftSide: { pins: [1, 2, 3, 4, 5, 6], direction: "top-to-bottom" },
}}
schSheetName={schematicSheets.motorDriver}
schSectionName={schematicSections.motorOutputs}
/>
</>
);
export const MotorOutputTraces = () => (
<>
{/* Reserve room for the wider motor routes before the remaining signals. */}
<trace
name="MOTOR_A_PLUS"
from=".DRIVER > .AOUT1"
to=".R_PHASE_A > .pin1"
schDisplayLabel="A_DRIVE"
{...motorTrace}
/>
<trace
name="MOTOR_A_MINUS"
from=".DRIVER > .AOUT2"
to=".J1 > .A_MINUS"
schDisplayLabel="A-"
{...motorTrace}
/>
<trace
name="MOTOR_B_PLUS"
from=".DRIVER > .BOUT1"
to=".R_PHASE_B > .pin1"
schDisplayLabel="B_DRIVE"
{...motorTrace}
/>
<trace
name="MOTOR_B_MINUS"
from=".DRIVER > .BOUT2"
to=".J1 > .B_MINUS"
schDisplayLabel="B-"
{...motorTrace}
/>
</>
);