Abse2001/Arduino-Nano-Servo-Breakout

This design features an Arduino Nano-based system with USB-C power input, dual female pin headers for microcontroller connections, servo headers for motor control, a push-button reset, and a separate P2 terminal, all interconnected on a compact PCB.

Usage: To import and use the "@tsci/Abse2001.Arduino-Nano-Servo-Breakout" component: 1. Import the component: ```tsx import ArduinoNanoServoBreakout from "@tsci/Abse2001.Arduino-Nano-Servo-Breakout" ``` 2. Use in a circuit design: ```tsx export default () => ( <board> <ArduinoNanoServoBreakout /> </board> ) ``` The component provides a pre-configured Arduino Nano breakout board with USB-C, servo headers, pin headers, and additional connectors.

Version
0.0.1
License
unset
Stars
0

dist/index.js

PCBPCB preview for dist/index.js
SchematicSchematic preview for dist/index.js
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _Abse = require("@tsci/Abse2001.Female-Header15P");
var _manualEdits = _interopRequireDefault(require("./manual-edits.json"));
var _Abse2 = require("@tsci/Abse2001.female-5-pin-header");
var _seveibar = require("@tsci/seveibar.smd-usb-c");
var _seveibar2 = require("@tsci/seveibar.push-button");
var _Abse3 = require("@tsci/Abse2001.Servo-header-3x6");
var _Abse4 = require("@tsci/Abse2001.P2Terminal");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var _default = () => {
  let pinlables = {
    pin1: ["TXD"],
    pin2: ["RXD"],
    pin3: ["RST"],
    pin4: ["GND"],
    pin5: ["D2"],
    pin6: ["D3"],
    pin7: ["D4"],
    pin8: ["D5"],
    pin9: ["D6"],
    pin10: ["D7"],
    pin11: ["D8"],
    pin12: ["D9"],
    pin13: ["D10"],
    pin14: ["D11"],
    pin15: ["D12"]
  };
  const H1 = (0, _Abse.useFemalePinHeader15)("H1", {
    pinlables
  });
  pinlables = {
    pin1: ["VIN"],
    pin2: ["GND"],
    pin3: ["RST"],
    pin4: ["5V"],
    pin5: ["A7"],
    pin6: ["A6"],
    pin7: ["A5"],
    pin8: ["A4"],
    pin9: ["A3"],
    pin10: ["A2"],
    pin11: ["A1"],
    pin12: ["A0"],
    pin13: ["REF"],
    pin14: ["3V3"],
    pin15: ["D13"]
  };
  const H2 = (0, _Abse.useFemalePinHeader15)("H2", {
    pinlables
  });
  const SERVOS = (0, _Abse3.useServoHeader)("SERVOS");
  const B1 = (0, _seveibar2.usePushButton)("B1");
  const P1 = (0, _Abse4.useP2Terminal)("P1");
  const USBC = (0, _seveibar.useUsbC)("USBC");
  const P2 = (0, _Abse2.usefemalePin5)("P2");
  return /*#__PURE__*/React.createElement("board", {
    manualEdits: _manualEdits.default,
    width: "44.9mm",
    height: "42.4mm"
  }, /*#__PURE__*/React.createElement(SERVOS, {
    schX: -10
  }), /*#__PURE__*/React.createElement(H1, {
    schX: 0.8,
    pcbRotation: 180
  }), /*#__PURE__*/React.createElement(H2, {
    schX: -4,
    pcbRotation: 180
  }), /*#__PURE__*/React.createElement(USBC, {
    schX: -17
  }), /*#__PURE__*/React.createElement(B1, {
    schX: -10,
    schY: 6
  }), /*#__PURE__*/React.createElement(P1, {
    schX: -14,
    schY: -4,
    pcbRotation: 90
  }), /*#__PURE__*/React.createElement(P2, {
    schX: -14,
    schY: 4,
    pcbRotation: 180
  }), /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 20.5,
    pcbY: 3.5,
    text: "H2"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -8,
    pcbY: -20,
    text: "USBC"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 18.5,
    pcbY: -12,
    text: "P1"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: -15,
    pcbY: -8,
    text: "B1"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -15.5,
    pcbY: 0.2,
    text: "RESET"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 21.2,
    pcbY: -2.9,
    text: "+"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 21.2,
    pcbY: -7.9,
    text: "-"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 1.2,
    pcbX: 0.9,
    pcbY: 1,
    text: "SERVOS"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 1.2,
    pcbX: -8.7,
    pcbY: -1.6,
    text: "-"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 1.2,
    pcbX: -8.7,
    pcbY: -4.18,
    text: "+"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -8.7,
    pcbY: -7,
    text: "SIG"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -0.4,
    pcbY: -9.5,
    text: "D5"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -5.5,
    pcbY: -9.5,
    text: "D7"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: -3,
    pcbY: -9.5,
    text: "D6"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: 4.7,
    pcbY: -9.5,
    text: "D3"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: 2.2,
    pcbY: -9.5,
    text: "D4"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.7,
    pcbX: 7.25,
    pcbY: -9.5,
    text: "D2"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 20.5,
    pcbY: 18.5,
    text: "H1"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 1.85,
    pcbY: 16.5,
    text: "D4"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 4.4,
    pcbY: 16.5,
    text: "D3"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 7,
    pcbY: 16.5,
    text: "D2"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 9.4,
    pcbY: 16.5,
    text: "GND"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 12.1,
    pcbY: 16.5,
    text: "RST"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 14.59,
    pcbY: 16.5,
    text: "RXD"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 17.1,
    pcbY: 16.5,
    text: "TXD"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -0.7,
    pcbY: 16.5,
    text: "D5"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -3.1,
    pcbY: 16.5,
    text: "D6"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -5.8,
    pcbY: 16.5,
    text: "D7"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -8.3,
    pcbY: 16.5,
    text: "D8"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -10.9,
    pcbY: 16.5,
    text: "D9"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -13.4,
    pcbY: 16.5,
    text: "D10"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -15.9,
    pcbY: 16.5,
    text: "D11"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbRotation: 90,
    pcbX: -18.45,
    pcbY: 16.5,
    text: "D12"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 1.85,
    pcbY: 5.7,
    text: "A5"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 4.4,
    pcbY: 5.7,
    text: "A6"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 7,
    pcbY: 5.7,
    text: "A7"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 9.5,
    pcbY: 5.7,
    text: "5V"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 12.1,
    pcbY: 5.7,
    text: "RST"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 14.59,
    pcbY: 5.7,
    text: "GND"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 17.1,
    pcbY: 5.7,
    text: "VIN"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -0.7,
    pcbY: 5.7,
    text: "A4"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -3.1,
    pcbY: 5.7,
    text: "A3"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -5.8,
    pcbY: 5.7,
    text: "A2"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -8.3,
    pcbY: 5.7,
    text: "A1"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -10.9,
    pcbY: 5.7,
    text: "A0"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -13.4,
    pcbY: 5.7,
    text: "REF"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -15.9,
    pcbY: 5.7,
    text: "3V3"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -18.45,
    pcbY: 5.7,
    text: "D13"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    pcbX: 9.5,
    pcbY: -15.9,
    text: "P2"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -1.73,
    pcbY: -18,
    text: "TX"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: -4.25,
    pcbY: -18,
    text: "GND"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 0.9,
    pcbY: -18,
    text: "RX"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 3.3,
    pcbY: -18,
    text: "RS"
  }), /*#__PURE__*/React.createElement("silkscreentext", {
    fontSize: 0.5,
    pcbX: 6,
    pcbY: -18,
    text: "VCC"
  })), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".USBC .VBUS1",
    to: ".SERVOS .pin2"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin2",
    to: ".SERVOS .pin5"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin5",
    to: ".SERVOS .pin8"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin8",
    to: ".SERVOS .pin11"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin11",
    to: ".SERVOS .pin14"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin14",
    to: ".SERVOS .pin17"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".SERVOS .pin17",
    to: ".P1 .VCC"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "VCC",
    from: ".H2 .pin4",
    to: ".P1 .VCC"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".USBC .GND1",
    to: ".P2 .pin5"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".P2 .pin5",
    to: ".SERVOS .pin3"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".SERVOS .pin3",
    to: ".SERVOS .pin6"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".SERVOS .pin6",
    to: ".SERVOS .pin9"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".SERVOS .pin9",
    to: ".SERVOS .pin12"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".SERVOS .pin12",
    to: ".SERVOS .pin15"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".SERVOS .pin15",
    to: ".SERVOS .pin18"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".P1 .GND",
    to: ".SERVOS .pin18"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "GND",
    from: ".P1 .GND",
    to: ".H2 .pin2"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "RX_TXD",
    from: ".P2 .pin3",
    to: ".H1 .pin1"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "TX_RXD",
    from: ".P2 .pin4",
    to: ".H1 .pin2"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "RS_RST",
    from: ".P2 .pin2",
    to: ".H1 .pin3"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "P2_3v3",
    from: ".P2 .pin1",
    to: ".H2 .pin14"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D2",
    from: ".SERVOS .pin16",
    to: ".H1 .pin5"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D3",
    from: ".SERVOS .pin13",
    to: ".H1 .pin6"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D4",
    from: ".SERVOS .pin10",
    to: ".H1 .pin7"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D5",
    from: ".SERVOS .pin7",
    to: ".H1 .pin8"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D6",
    from: ".SERVOS .pin4",
    to: ".H1 .pin9"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "D7",
    from: ".SERVOS .pin1",
    to: ".H1 .pin10"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "RS_RST",
    pcbRouteHints: [{
      x: -7,
      y: -12.4
    }],
    from: ".P2 .pin2",
    to: ".B1 .pin3"
  }), /*#__PURE__*/React.createElement("trace", {
    schDisplayLabel: "B1_GND",
    from: ".H1 .pin4",
    to: ".B1 .pin2"
  }));
};
exports.default = _default;