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
PCB
Schematic
"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;