Files
hexapod-robot/2026-current/hardware/main-pcb-2026-11-13/README.md
T
mangavalkandClaude Opus 4.7 b1c94e4149 2026 hardware: add main-pcb-2026-11-13/
The Teensy 3.6 carrier board mounted inside the robot body (Teensy
peeks through the top-body hole). Contents:

- PCB_test_2026-11-13.json : EasyEDA PCB source (editor v6.5.61).
- OBJ_test.obj + .mtl      : EasyEDA 3D OBJ export (slab + holes only).
- top.png, bottom.png      : EasyEDA renders of each side; bottom.png
                             is the authoritative source for the
                             JP1-JP7 silkscreen numbering.
- 20190524_234512.jpg      : photo of the populated bottom side.
- 20190524_234518.jpg      : photo of the top side, powered on.
- main-pcb.scad            : parametric OpenSCAD reconstruction. Real
                             board outline, 4 M3 holes, and every major
                             component (Teensy 3.6, nRF24L01+, GY-521
                             IMU, 7805, ZENER, JP7 battery JST, six
                             JST-PH 2mm servo headers JP1-JP6, POWER
                             LED + 510R resistor, "Hexapod v1" silk) on
                             the correct side of the board. Placements
                             are the pad-group centres pulled from the
                             EasyEDA JSON, not eyeballed.
- README.md                : explains the files, the EasyEDA format and
                             unit conversion, which side each part is
                             on, and an authoritative placement table.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-11-13 22:30:14 +01:00

6.0 KiB
Raw Blame History

Main PCB (2026-11-13)

The PCB mounted inside the robot body, with the Teensy 3.6 peeking through the hole in the top body. Teensy 3.6 carrier that distributes six servo connectors (one per leg), an nRF24L01 radio, an MPU6050 IMU, a TO-252 regulator, a status LED and a 2-pin battery input.

Files in this folder

File What it is
PCB_test_2026-11-13.json EasyEDA PCB source (editor v6.5.61). The authoritative board.
OBJ_test.obj + .mtl EasyEDA 3D OBJ export. Just a slab shape with the four mounting holes; no components. Keep it because it round-trips with the EasyEDA source — but prefer main-pcb.scad for anything readable.
main-pcb.scad Readable, parametric OpenSCAD model. Real board outline, 4 M3 mounting holes, and every major component as its own module on the correct side (see "Which side"). Component bodies have real-world dimensions; each module's local origin is the centre of its pad group so placements come straight from the pad bbox centres extracted from the EasyEDA JSON — no eyeballed positions.
20190524_234512.jpg Photo of the bottom side: nRF24, IMU, 7805, ZENER, BATT JST and the six servo headers (JP1–JP6).
20190524_234518.jpg Photo of the top side: Teensy 3.6 raised above the PCB on tall pin headers, USB powered, green POWER LED lit.
top.png EasyEDA render of the top side (shows "Hexapod v1" title, spider silk, Teensy footprint, POWER + 510 Ω SMDs).
bottom.png EasyEDA render of the bottom side (shows JP1–JP7 labels, NRF24L01, MPU, ZENER, 7805 footprints). This is the authoritative source for silkscreen names.

Which side each component is on

  • Top: Teensy 3.6 (on 2×24 tall pin headers so it clears the IMU/radio underneath and pokes through the hole in the top body), POWER LED and its 511 Ω series resistor.
  • Bottom: nRF24L01+ module (antenna hanging off the −Y board edge), GY-521 (MPU6050) IMU sitting directly under the Teensy, 7805 regulator, ZENER, 2-pin JST battery input, and the six servo headers JP1–JP6.

Understanding the EasyEDA JSON

The JSON is EasyEDA's native PCB format: a shape array of tilde-separated primitives. Here the board has 88 shape entries:

Kind Count Field layout (after first ~)
TRACK 54 width, layer, net, x y x y …, id, locked
COPPERAREA 2 id, layer, net, SVG path, … (one VCC pour, one GND pour)
TEXT 9 type, x, y, size, rotation, layer, …, string, path
SVGNODE 1 JSON of an SVG path (the 3D model placeholder)
LIB 14 x, y, package`NAME`, rotation, … (components)
HOLE 4 x, y, diameter (mm), id, locked
VIA 4 x, y, diameter, net, drill, id, locked

Layers (layers key) follow EasyEDA's standard numbering: 1 TopLayer, 2 BottomLayer, 3/4 silk, 5/6 paste mask, 7/8 solder mask, 10 BoardOutline, 11 Multi-Layer, 13/14 assembly, 19 3DModel, Hole, DRCError.

Units

Positions (and most sizes) are in 10-mil units = 0.254 mm. The user clearly laid out on a 1 mm grid: every component's x-offset from the EasyEDA origin (4000, 3000) divides cleanly by 39.3700787 (10 mm per 10-mil unit). Hole and via diameters in this export are in millimetres directly, which is standard EasyEDA practice.

Coordinate frame

EasyEDA: +X right, +Y down, origin at (4000, 3000) (also the top-left mounting hole). This OBJ export keeps the same X but flips Y to negative.

main-pcb.scad uses +X right, +Y up, origin at the board's bottom-left corner, so dimensions read the way you'd expect in CAD. The conversion applied is:

x_mm = (x_eda - 3980.315) * 0.254
y_mm = (3330.7087 - y_eda) * 0.254

Board summary

  • Outline: 46.0 × 89.0 mm, black soldermask, 1.6 mm FR4 (the OBJ's 2.54 mm "slab" is just the export; the physical board is standard).

  • Four M3 clearance holes (⌀ 4 mm), 5 mm in from each edge (hole grid 35.78 × 78.96 mm).

  • Component placements (pad-group centres from the EasyEDA JSON — these are the exact (x, y) the SCAD uses). All in mm from the board's bottom-left corner.

    Component Side (x, y) mm Notes
    Teensy 3.6 top (22.62, 44.79) centre of 2×24 pin pattern; long axis along Y; USB at +Y, SD at −Y; raised 11 mm on tall headers
    POWER LED (1206) top (33.00, 83.00)
    510 Ω series resistor (2010) top (32.55, 78.72)
    "Hexapod v1" title silk top (6, 80.9) top-silk text
    nRF24L01+ bottom (28.00, 8.00) header centre; module body + PCB antenna extend −Y and hang off the board edge
    GY-521 (MPU6050) bottom (19.22, 44.73) centre of 1×8 header; board extends +X; sits under the Teensy
    7805 regulator bottom (23.00, 79.00) EasyEDA uses a TO252 footprint but the physical board has a through-hole 7805 in TO-220 bent flat into those pads
    ZENER bottom (22.00, 67.00) horizontal between its two pads
    JP7 (2-pin JST, battery) bottom (15.00, 9.00)
    JP1 (5-pin JST-PH, servos) bottom ( 9.00, 69.00) left column, top
    JP2 bottom ( 9.00, 43.00) left column, middle
    JP3 bottom ( 9.00, 20.00) left column, bottom
    JP4 bottom (38.00, 69.00) right column, top
    JP5 bottom (38.00, 44.00) right column, middle
    JP6 bottom (38.00, 20.00) right column, bottom

    Servo headers are 5-pin JST-PH footprints at 2.0 mm pitch (total span 8 mm), not 2.54 mm pin headers.

Viewing

  • OBJ: any 3D viewer (Fusion 360 will import it; OBJ_test.mtl sets a dull-yellow material).
  • SCAD: open main-pcb.scad in OpenSCAD; toggle SHOW_COMPONENTS and EXPLODE to see parts lifted off the board.