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}
		/>
	</>
);