astra/nema17-stepper-motor-controller-spring-clamp-rp2040

A 4-layer RP2040 controller board that negotiates USB‑C PD motor power and drives a NEMA17 stepper via a DRV8825, with current sensing, thermal shutdown, RGB status LED, buzzer alarm, optional AS5600 encoder, protection/filtering, and test points.

Version
1.4.0
License
unset
Stars
0

schematic/SchematicSheets.tsx

import { schematicSections, schematicSheets } from "./config";

export const SchematicSheets = () => (
  <>
    <schematicsheet
      name={schematicSheets.controller}
      displayName="RP2040 Controller"
      sheetWidth="310mm"
      sheetIndex={1}
    />

    <schematicsheet
      name={schematicSheets.programming}
      displayName="Programming USB-C & QSPI"
      sheetIndex={2}
    >
      <schematicsection
        name="MCU__usb"
        
      />
      <schematicsection name="MCU__programming_supply" />
      <schematicsection name="MCU__programming_flash" displayName="QSPI Flash" />
      <schematicsection name="MCU__programming_bypass" />
      <schematictext text="3.3 V Supply" schX={-10} schY={4.5} anchor="top_left" fontSize={0.22} />
      <schematictext text="3.3 V Bypass" schX={-3} schY={-4.8} anchor="top_left" fontSize={0.22} />
      <schematictext text="Programming USB-C" schX={-1.7} schY={5.5} anchor="top_left" fontSize={0.22} />
    </schematicsheet>

    <schematicsheet
      name={schematicSheets.motorDriver}
      displayName="Stepper Motor Driver"
      sheetIndex={3}
    >
      <schematicsection
        name={schematicSections.driverCore}
        displayName="H-Bridge, Power & Control"
      />
      <schematicsection
        name={schematicSections.motorOutputs}
        displayName="Stepper Motor Output"
      />
    </schematicsheet>

    <schematicsheet
      name={schematicSheets.motorPower}
      displayName="USB-C PD Motor Power"
      sheetIndex={4}
    >
      <schematicsection
        name={schematicSections.pdNegotiation}
        
      />
      <schematicsection
        name={schematicSections.pdFiltering}
        
      />
      <schematictext text="USB-C PD Negotiation" schX={-9} schY={4.5} anchor="top_left" fontSize={0.22} />
      <schematictext text="Power Filtering" schX={-6} schY={-5.7} anchor="top_left" fontSize={0.22} />
    </schematicsheet>
    <schematicsheet name={schematicSheets.thermalProtection}
      displayName="Temperature Protection" sheetIndex={5}>
      <schematicsection name="thermal_protection" />
      <schematictext text="Temperature Sensing & Hardware Shutdown" schX={-9} schY={4} anchor="top_left" fontSize={0.22} />
    </schematicsheet>
  </>
);