imrishabh18/rp2040-motor-controller

An RP2040-based NEMA17 stepper-motor controller with USB-C programming and PD motor-power negotiation, DRV8825 dual H-bridge drive, current/temperature telemetry, protected power filtering, status RGB LED, buzzer alarm, and optional magnetic encoder.

Version
1.0.41
License
unset
Stars
3

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 Telemetry" sheetIndex={5}>
      <schematicsection name="thermal_protection" />
      <schematictext text="Temperature Sensing & MCU Alert" schX={-9} schY={4} anchor="top_left" fontSize={0.22} />
    </schematicsheet>
  </>
);