Skip to the content
4 layers112 × 90 mmNova pcb v6 power v2, the printed circuit board in 3D

Nova pcb v6 power v2

Ace2932/Fennec1

This project is a heavily modified fork of the open-source NovaSM3 quadruped, redesigned to serve as a research platform for embodied AI.

Size
112 × 90 mm
Copper layers
4
Thickness
1.62 mm
Parts
61
Nets
24
Pads
168
Tracks, vias
334, 62
Pours
38
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
15 May 2026
Updated
14 Oct 2026

Overview

Nova pcb v6 power v2 is an open-source printed circuit board by Ace2932, from the Ace2932/Fennec repository on GitHub, published under the MIT licence. It is a 4-layer board of 112 × 90 mm with 61 parts on 24 nets, routed with 334 tracks and 62 vias.

It is built around the LM393DRG, RC0603FR-0710KL and XT30U-M, with the RC0603FR-07100KL, UPW1E471MPD and CC0603KRX7R9BB104 among its other parts. Its parts include 13 resistors, 12 connectors, 10 ICs, 9 capacitors and 4 transistors.

Main components

12

README

README.md

Fennec — Autonomous Quadruped

Fennec is an autonomous quadruped I'm building on the NovaSM3 platform (by Chris Locke / novaspotmicro.com) — rebuilt around a unified Feetech STS3215 TTL servo bus, NVIDIA Jetson Orin Nano Super compute, and ROS 2 Humble, as a platform for Vision-Language-Action (VLA) model deployment, 3D SLAM, and autonomous mobile manipulation.

Status: 🔧 Phase 1 — hardware bring-up + sim training. Both PCBs ordered 2026-07-01 (JLCPCB) — power board v2 (Pattern B bus master, INA226 rail telemetry, Phase-4 arm rail provisioned) + logic board. Firmware critical-path green (safety FSM, watchdogs, servo limits, joint-map loader; rostest suites in CI). Legs (leg_v6) printing; chassis-integration + CAD fit-gate audits closed; measured leg geometry → URDF + IK green. 🎉 RL locomotion walks in sim (MuJoCo MJX + Brax PPO, 2026-07-16) — stair-climb curriculum in progress. See STATUS.md for the live blockers / next-actions board. Platform: Quadruped (12 DOF) — arm (6-DOF, Phase 4 future) on shelf Compute: NVIDIA Jetson Orin Nano Super 8GB Middleware: ROS 2 Humble Last updated: July 22, 2026


Design outline: docs/design-outline.md — the canonical top-level design document (architecture, doctrines, lane status). Start there.

Table of Contents

  1. Project Overview
  2. Differences from Stock NovaSM3
  3. Hardware Architecture
  4. Software Architecture
  5. Power System
  6. Network Topology
  7. Bill of Materials
  8. Build Roadmap
  9. Pre-Assembly Test Sequence
  10. Setup Guide
  11. Open Decisions
  12. References & Credits

Project Overview

This project is a heavily modified fork of the open-source NovaSM3 quadruped, redesigned to serve as a research platform for embodied AI. Stock Nova uses PWM hobby servos and a Raspberry Pi running custom locomotion code. This build replaces:

  • 12 servos with Feetech STS3215 TTL bus servos for unified protocol, real-time joint feedback (position, load, temperature, voltage), and elimination of PWM wiring complexity. Six additional STS3215 (arm) remain on shelf for Phase 4.
  • The Pi with an NVIDIA Jetson Orin Nano Super (67 TOPS sparse INT8 / ~33 TOPS dense; 8GB RAM tight but workable for VLA inference + ROS 2 + SLAM — see Phase 4 notes). Real-time servo bus is offloaded to a Teensy 4.1 (Pattern B); Jetson runs ROS 2 + perception only.
  • The stock perception with Intel RealSense D456 (depth + RGB + IMU) and Unitree L2 4D LiDAR (360° × 96° FOV, 30m range)
  • The stock locomotion stack with ROS 2 Humble (Jetson) + Teensy bus master (Pattern B) + Nav2 + RTAB-Map / POINT-LIO

The arm is carried over from a prior SO-ARM101 build, also Feetech-based. v1 build scope: quadruped only (12 servos active). Arm install + integration is Phase 4 future work — bus IDs 13-18 and the 7.5V arm-rail buck footprint (D42V55F7) are reserved on the PCB v6 redesign so the future install is a populate-and-go.

Goals

  • ✅ Unified TTL servo bus across locomotion (12 servos v1; future-ready for 18 with arm)
  • 🔧 ROS 2 locomotion via micro-ROS bridge to Teensy 4.1 (Teensy owns the Feetech bus in Pattern B; FE-URT-1 retained as bench fallback)
  • 🔧 RL locomotion policy trained in simulation (sim/nova_mjx, MuJoCo MJX + Brax PPO) — ✅ walks in sim (2026-07-16); terrain curriculum + stair climbing + sim2real transfer in progress
  • 📋 3D SLAM using LiDAR + visual-inertial fusion (POINT-LIO baseline, RTAB-Map comparison)
  • 📋 Autonomous navigation (Nav2) on legged platform with stair climbing
  • 📋 VLA fine-tuning and deployment for mobile manipulation tasks
  • 📋 Open-source documentation of every design decision for community reuse

Differences from Stock NovaSM3

SubsystemStock NovaSM3This Build
Compute (main)Raspberry Pi 4NVIDIA Jetson Orin Nano Super 8GB
Compute (MCU)Teensy 4.0Teensy 4.1 (more RAM + SD slot)
Aux MCUArduino NanoArduino Nano (kept, peripherals only)
Locomotion servos12× PWM hobby servos12× Feetech STS3215 (4× 12V/30kg hip, 8× 7.4V/19kg femur/tibia)
ArmNone (stock)6× Feetech STS3215 from SO-ARM101 — on shelf, Phase 4
Servo protocolPWM (one signal per servo)TTL half-duplex serial bus (daisy-chained)
PerceptionNone / optionalRealSense D456 + Unitree L2 LiDAR
MiddlewareCustom Arduino loopsROS 2 Humble + micro-ROS
Power3S 11.1V LiPo4S 14.8V LiPo + Pololu buck rails (7.5V leg / 12V hip / 12V L2 dedicated / 12V Jetson / 5V aux). XL4016 dropped after capacity audit.
Print materialsPLA / PETGPA6-CF (structural) / PETG-CF (secondary) / TPU 95A (foot pads + strain relief)
Print feedDirect from spoolCreality SpacePi X4 dryer → 4 mm PTFE Bowden → P1S (AMS HF bypassed for PA6-CF — re-absorbs moisture in AMS chamber, defeats pre-drying)

Why redesign the PCB (v5.2b → v6)

After the v3.2 architecture audit, the stock Nova PCB v5.2b can't host the upgraded power tree (Pololu modules, INA226 telemetry, hard-cutoff MOSFET, E-stop chain) or the Pattern A/B bus master selector. The redesign retains the spirit of the stock board (Arduino Nano aux slot, battery input geometry) and adds the new safety + power architecture. Full feature set in hardware/pcb-mods/README.md.

What carries over from Nova v5.2b

  • Arduino Nano slot for aux peripherals — v3.5 cut: OLED + WS2812B only (PIR / ultrasonic / MP3 / MPU-6050 removed; D456 + L2 perception stack covers their roles)
  • Battery input + reverse polarity protection geometry (replicated with MOSFET-based reverse protection instead of diode)
  • Power switch, voltmeter, fuse (MRBF-30 in Blue Sea 5191 block, OFF-board at pack — ~9 kA AIC @ 16.8 V clears this pack's ~1.5–3 kA dead-short with 3–4× margin; ANL's 6 kA rejected, Class T superseded 2026-06-12)

What changes

  • All 12 PWM servo output headers removed (Feetech bus is daisy-chain TTL, doesn't use PWM)
  • XL4016 buck footprints → Pololu D42V110-class module footprints
  • Add: SN74LVC125A half-duplex driver (Pattern B prep), INA226 ×3, E-stop chain, hard-cutoff MOSFET, MRBF-30 fuse OFF-board (Blue Sea 5191 at pack — F1 not on PCB), bulk caps at injection points, bus-integrity footprints (series R + ferrite beads), reserved arm-rail buck footprint

Hardware Architecture

Block diagram

text
┌────────────────────────────────────────────────────────────────────┐
│                  NVIDIA Jetson Orin Nano Super 8GB                 │
│                          (ROS 2 Humble)                            │
│   • Nav2, SLAM, VLA inference, sensor fusion                       │
│   • Sends /joint_commands to Teensy via micro-ROS over USB         │
│   • Built-in WiFi 5 (802.11ac/ab/gn) per NVIDIA P3766 spec sheet   │
└──┬──────────┬─────────────┬─────────────┬───────────────────────────┘
   │ USB-C    │ USB 3.1     │ Ethernet    │ USB (micro-ROS transport)
   │          │             │             │
┌──▼───────┐ ┌▼───────────┐ ┌▼───────────┐ ┌▼─────────────────────────┐
│ Realsense│ │ FE-URT-1   │ │ Gig switch │ │ Teensy 4.1 (BUS MASTER v1)│
│ D456     │ │ (debug/    │ │            │ │  • Real-time gait loop    │
│ (depth + │ │  bench     │ │ ◄─ L2 ─►   │ │  • UART → SN74LVC125A → bus   │
│  RGB +   │ │  fallback) │ │            │ │  • INA226 I²C reader      │
│  IMU)    │ │            │ └────────────┘ │  • E-stop GPIO sense      │
└──────────┘ └────┬───────┘                │  • micro-ROS over USB     │
                  ↓                        └──┬────────────────────────┘
              (JP_BUS_MASTER                  │ UART → SN74LVC125A half-duplex
               solder bridge:                 │ (active v1 path)
               default = B,                   │
               flip to A for ID setup)        ▼
                                  ┌───────────────────────┐
                                  │ 12× STS3215 (TTL bus) │
                                  │ per-leg: FL1-3 FR4-6  │

Servo configuration

Joint groupCountServoVoltageBus IDsStatus
Hips4STS3215 30kg12V1-4v1 active
Femur + tibia8STS3215 19kg7.4V5-12v1 active
Arm (shoulder + elbow)3STS3215 19kg7.4V13-15⏸ Phase 4 — reserved
Arm (wrist + gripper)3STS3215 19kg7.4V16-18⏸ Phase 4 — reserved

v1 build = 12 active servos on a single daisy-chained TTL bus, 2 active servo-power voltage levels (7.5V leg, 12V hip) plus dedicated 12V/2.6A L2 LiDAR buck and 12V/3A Jetson buck. Bus master is the Teensy 4.1 (Pattern B) via a SN74LVC125A half-duplex driver. Bus IDs 13-18 and the 7.4V arm rail (D42V55F7 footprint) reserved on PCB v6 for Phase 4 arm install — populate-and-go.

Bus master pattern

Pattern B is v1 default. Both paths live on PCB v6 via solder bridge JP_BUS_MASTER.

  • Pattern B (v1 active): Teensy 4.1 hardware UART → SN74LVC125A quad tri-state buffer (half-duplex driver) → TTL bus pads. Bare-metal real-time loop at 200-500 Hz. Jetson sends joint targets via micro-ROS over USB; Teensy translates to bus reads/writes. Survives Jetson restarts, kernel preemption, CUDA stalls, journald flushes — none of which affect bus servicing. Solder bridge defaults to B.
  • Pattern A (bench / debug fallback): Jetson → USB → FE-URT-1 → TTL bus. Use for: initial servo ID assignment with the Feetech FD / SCServo SDK Python tools from a workstation (simpler than booting micro-ROS for ID setup), debug if Teensy firmware misbehaves, post-mortem inspection of bus traffic. Flip JP_BUS_MASTER to A.

Why B as default (decision history): Linux is not a real-time OS. USB-CDC latency on Jetson runs 1-10 ms typical, 50 ms+ under load. What Pattern B actually buys: bus-servicing isolation on the Teensy side — UART transactions to all 12 servos complete on time even when Jetson is jittery, so the bus doesn't time out and servos don't fault. The gait controller still runs on Jetson and publishes targets at 100 Hz, so Jetson's command rate is still Linux-bounded; the Teensy oversamples at 200-500 Hz against the last received target, holding it through Jetson stalls. A 100 ms Linux freeze becomes "robot pauses mid-step," not "bus dies and robot falls." v3.2 originally defaulted to A with "migrate if measurement forces it" — v3.3 flips to B-default because the migration cost is just populating one $1 IC + Phase 1 firmware work, and skipping the measure-then-migrate path eliminates a Phase 2 surprise. See Open Decisions row 5.

Phase 1 acceptance gate (revised): Pattern B's real guarantee is bus-servicing isolation on the Teensy side, not full RTT through Linux. Two mandatory criteria + one sanity check:

  1. Teensy local loop tick jitter p99 <100 µs over 60 seconds (bare-metal — easy if firmware is right)
  2. /joint_commands arrival rate ≥99% of 100 Hz target over 60 seconds (Jetson + uROS healthy)
  3. (Sanity) End-to-end RTT median <5 ms, p99 <20 ms — Linux-bounded, not a hard pass/fail

If (1) misses → debug Teensy firmware (DMA vs ISR, UART config). If (2) misses → debug Jetson uROS / USB cable / CPU contention. If only (3) is high → accept: Teensy holds last command under Jetson jitter, robot stays stable.


Software Architecture

ROS 2 stack (target)

text
┌──────────────────────────────────────────────┐
│             Application Layer                │
│  • Behavior tree / mission FSM               │
│  • VLA policy node                           │
│  • Teleop bridge                             │
└──────────────────────────────────────────────┘
┌──────────────────────────────────────────────┐
│            Navigation Layer                  │
│  • Nav2 (planning + control)                 │
│  • robot_localization (EKF)                  │
└──────────────────────────────────────────────┘
┌──────────────────────────────────────────────┐
│              Perception Layer                │
│  • RTAB-Map / POINT-LIO (3D SLAM)            │
│  • realsense2_camera                         │
│  • unitree_lidar_ros2                        │
└──────────────────────────────────────────────┘
┌──────────────────────────────────────────────┐
│            Locomotion Layer (Jetson)         │
│  • Gait controller (8-phase walk)            │
│  • 3-DOF-per-leg IK solver                   │
│  • Publishes /joint_commands                 │
│  • Subscribes /joint_states                  │
└──────────────────────────────────────────────┘

Key software components

ComponentPurposeStatus
ROS 2 HumbleMiddleware📋 Install on Jetson
librealsense2RealSense SDK📋 ARM64 build
realsense2_cameraROS 2 wrapper for D456📋 apt install
unilidar_sdk2Unitree L2 SDK✅ Built green on Jetson (official unitreerobotics/unilidar_sdk2, not discodyer fork — official now bundles ROS 2 wrapper)
unitree_lidar_ros2ROS 2 wrapper for L2✅ Built + streaming. Use Ace2932/unilidar_sdk2 fix/imu-bridge-double-call branch — fixes upstream IMU bridge bug where getImuData() is called twice in timer_callback(), draining the SDK queue before publish.
POINT-LIOLiDAR-inertial SLAM📋 Eval first
RTAB-MapVisual-LiDAR SLAM📋 Compare with POINT-LIO
Nav2Autonomous navigation📋 Phase 3
robot_localizationEKF sensor fusion📋 Phase 2
micro-ROS (Teensy)Embedded ROS 2📋 Phase 2
SCServo SDK (Teensy port)Feetech bus driver running on Teensy in Pattern B⚠️ Already familiar from SO-ARM101 — port to TeensyDuino in Phase 1
MJX/Brax sim (sim/nova_mjx)RL locomotion training — MuJoCo MJX physics, Brax PPO, procedural terrain curriculum (rough / steps / stairs), domain randomization🔧 Walks in sim (flat trot, 2026-07-16); stair-climb curriculum active

Power System

Voltage rails

text
4S LiPo 14.8V nominal (12.8-16.8V)
   │  MRBF-30 fuse (off-board) · MOSFET reverse-protection · MOSFET hard-cutoff @12.4V · E-stop NC (servo rails only)
   │
   ├── Pololu D42V110F7  ──► 7.5V/10A ──► 8× STS3215 19kg femur/tibia
   │       (star injection at 4 points along chain, bulk caps near point of load)
   │
   ├── Pololu D42V110F12 ──► 12V/9A   ──► 4× STS3215 30kg hips ONLY
   │
   ├── Pololu D24V22F12  ──► 12V/2.6A ──► Unitree L2 LiDAR (1A, LC filter on output)
   │
   ├── Pololu D42V55F12  ──► 12V/~3A  ──► Jetson Orin Nano (barrel jack)
   │
   ├── [reserved D42V55F7] ► 7.5V/3-8A ──► 6× STS3215 arm (Phase 4 — footprint unstuffed)
   │
   └── UBEC 5V/5A ──► 5V rail ──► fans, aux 5V peripherals

   INA226 ×3 (leg 7.5V, hip 12V, Jetson 12V) ──► I²C ──► Teensy 4.1 ──► ROS 2 diagnostics
   13.0V comparator ──► Teensy GPIO ──► /battery_low ──► Jetson clean shutdown
   12.4V comparator ──► MOSFET ──► breaks battery feed (autonomous backstop)

Notes

  • All rails share a common ground
  • Jetson MAXN peak power ~25W → 2.1A at 12V, plus USB peripherals (D456 streaming ~2-3W, FE-URT-1 ~0.5W) → ~2.5A continuous worst case. Pololu D42V55F12 derates to ~3A continuous at 14.8V Vin (4.5A typ headline is at 42V Vin) → ~1.2× headroom. Modest, not generous; watch thermal under sustained VLA inference + RealSense stream + Nav2 planning. Min Vin 12V — set LiPo LVC alarm at 3.3V/cell = 13.2V to stay above dropout.
  • Leg rail D42V110F7 (10A typ @ 42V Vin, derates at 14.8V Vin) sized for walking-gait avg 5-8A with bulk caps absorbing 25-40A impact transients near each star injection point. See docs/power-budget.md.
  • Hip rail D42V110F12 (9A typ @ 42V Vin) sized for 4× 30kg hips only — sustained avg ~8A. L2 LiDAR was moved off this rail to a dedicated D24V22F12 buck (v3.4) because combined hip+L2 load was margin-thin under 14.8V Vin derating.
  • L2 LiDAR rail D24V22F12 (2.6A / 12V / 36V Vin max) — dedicated buck for the LiDAR's 1A draw with LC filter on output. Clean power, no servo transient ringing.
  • Battery low-voltage chain (ordered by trip point):
    1. 13.2V — 608AC charger LVC alarm beeps (user-facing warning)
    2. 13.0V — graceful-shutdown comparator → Teensy /battery_low topic → Jetson systemctl poweroff (clean SD unmount). ~30-60s window before hard cutoff.
    3. 12.4V — autonomous MOSFET hard-cutoff on battery feed (drops everything; Jetson should already be shut down per #2)
  • E-stop kills leg + hip + L2 rail enables (LiDAR stops spinning) — Jetson rail stays alive for post-mortem debug + telemetry capture.
  • L2 self-heats below 30°C ambient; ~30-60s delay before point cloud output on cold boots
  • LC filter sits on the D24V22F12 output to clean any switching ripple before the L2 input (UDP packet loss is the failure mode)

Battery safety

  • Always charge inside a LiPo safe bag
  • Two 4S packs alternated; storage-charge to 3.8V/cell if unused >1 week
  • Label packs (A/B) with first-use date; track cycle counts

Network Topology

Point-to-point — no switch on the robot (decision 2026-08-14).

text
┌──────────────────────────┐               ┌────────────────────────┐
│ Unitree L2 LiDAR         │     Cat 6      │ Jetson Orin Nano       │
│ Static IP: 192.168.1.62  ├────────────────┤ eth0: 192.168.1.2/24   │
│ UDP target port: 6101    │    (direct)    │ wlan0: DHCP from home  │
└──────────────────────────┘                └────────────────────────┘
  • L2 → UDP port 6101 on the Jetson, direct on eth0
  • Jetson's eth0 needs a manual static IP because L2 is not a DHCP client/server
  • WiFi (built-in WiFi 5 / 802.11ac module on P3766 kit) handles dev SSH access + internet, leaving Ethernet free for the LiDAR. BT presence not explicitly listed in spec — verify on arrival.
  • The 5-port switch is bench gear only — a dev laptop can join via the switch on the bench when wanted; it is not mounted on the robot.

Bill of Materials

Full BOM lives in BOM.md. High-level summary:

CategoryCost
Compute + perception~$1,300 (NVMe deferred — NAND shortage)
Servos~$320 active (12-servo v1) + 6 SO-ARM101 carryover on shelf
Power + safety~$338 (Pololu rails + INA226 + E-stop + MOSFET hard-cutoff + graceful-shutdown comparator)
Mechanical + hardware~$110
Sensors (stock Nova)~$76
Filament + Bambu accessories~$700 (− Magigoo via Bambu liquid glue substitution)
Wiring + consumables~$80
Realistic total~$2,963 (v3.4: XT60 via Ovonic, Bambu glue, XL4016 ×2 return save $58 total)

Build Roadmap

Superseded — this roadmap is the May-2026 plan kept for history. Live state: STATUS.md (boards fabbed + populated to stage 9, firmware links, legs printing).

Phase 0 — Pre-build setup (current)

3-week sequenced plan in docs/work-schedule.md. Front-loads leg-joint CAD + prints; reserves 2026-05-29 away-week for laptop-only PCB schematic work in KiCad.

  • Define modified BOM (v3.4: Pattern B default, Pololu 4-buck split incl. dedicated L2, full safety, arm deferred)
  • Validate component compatibility (Jetson power rail, Feetech bus, L2 ethernet)
  • Pick LiPo charger → ISDT 608AC
  • Power rail audit (XL4016 → Pololu D42V110-class)
  • Confirm v1 scope = quadruped only (arm → Phase 4)
  • Bus master decision → Pattern B (Teensy + 74HC125) v1 default
  • Set up GitHub repo with this README and BOM

Week 1 (2026-05-15 → 2026-05-22):

  • Leg CAD complete — V5 OpenSCAD original-shell-carve (hardware/cad/leg_v5/, STS3215 cavity in original NovaSM3 STLs). Pending: caliper on-hand servos + first-article leg-joint print.
  • Install KiCad 8.x + Pololu library on laptop; cache datasheets for offline use during away-week
  • Back up LeRobot Pi SD contents
  • Create NVIDIA Developer account, download JetPack 6.x image

Week 2 (2026-05-22 → 2026-05-28): detailed checklist in docs/checklists/week-2.md

  • Carryover from Week 1: caliper pass + first-article leg print (V5 leg CAD itself is done)
  • ROS 2 Humble + librealsense2 + unilidar_sdk2 on Jetson (Jetson already flashed + persistent — Week 1 head-start)
  • PlatformIO + TeensyDuino + micro-ROS Teensy firmware skeleton (compile-green)
  • KiCad install + Pololu library (PCB v6 prep for Week 3)
  • Bambu Studio + PA6-CF drier preheat

Week 3 — Away (2026-05-29 → 2026-06-05, laptop only):

  • PCB v6 schematic captured in KiCad 9 (2026-06-03) — §1-§8 hierarchical, all 54 parts footprinted, pin-name wiring audit passed, ERC-clean (1 intentional warning: reserved arm rail). See hardware/pcb-mods/README.md
  • PCB v6 layout + DRC + Gerber export in KiCad
  • Backup: continue Teensy firmware / URDF / ROS 2 scaffolding if PCB stalls or finishes early

Week 4+ (back to shop):

  • Bench-validate prints; submit Gerbers to PCBWay (~$60) — both boards fabbed at JLCPCB 2026-07-01 (~$203 all-in, see STATUS.md); continue Phase 1 hardware bring-up
  • Order remaining parts (switch, Pololu bucks ×4, charger bundle, safety parts, accessories) — NVMe deferred

Phase 1 — Hardware bring-up (weeks 1-4)

  • Flash JetPack 6.x to microSD; firmware update Jetson if needed
  • Boot Jetson, complete Ubuntu setup
  • Verify pre-installed WiFi works; install AX210NGW only if missing. Confirm BT presence.
  • Install ROS 2 Humble + librealsense2 + unilidar_sdk2 (run from 128GB microSD; NVMe deferred)
  • D456 standalone test (realsense-viewer)
  • L2 standalone test (included 12V adapter + rviz2)
  • Print parts: Bambu P1S + PA6-CF (dry 24h before each print)
  • Bench-validate Pololu D42V55F12 / D42V110F7 / D42V110F12 / D24V22F12 / UBEC 5V (per BOM §12 step 2)
  • Verify E-stop chain + MOSFET hard-cutoff @ 12.4V + INA226 I²C reads
  • Write Teensy firmware (Pattern B critical path) — micro-ROS client + SCServo SDK port + SN74LVC125A TX/RX gating
  • ID setup pass: flip JP_BUS_MASTER to A (FE-URT-1), assign servo IDs 1-12 (v1 active), label each. IDs 13-18 reserved for Phase 4.
  • Flip JP_BUS_MASTER back to B (default). Verify Teensy firmware drives single servo, then full 12-servo chain.
  • Acceptance gate (two mandatory + one sanity, see "Bus master pattern" section): Teensy tick jitter p99 <100 µs + /joint_commands arrival ≥99% of 100 Hz + RTT median <5 ms / p99 <20 ms. Pattern A is not a workaround if (1) or (2) miss.
  • Assemble legs (redesigned for STS3215 dimensions)
  • Assemble chassis, mount L2 on top-center riser
  • Network setup: eth0 static 192.168.1.2; verify L2 UDP flow
  • Arduino Nano: strip code to aux peripherals only
  • Stand / sit test on hardware (no walk yet)

Phase 2 — Locomotion (weeks 5-8)

Two parallel tracks: the classical IK/gait stack below, and an RL policy trained in simulation (sim/nova_mjx — MuJoCo MJX + Brax PPO, procedural terrain curriculum, domain randomization bracketing measured servo behavior). The RL track walks in sim as of 2026-07-16; its deployment path is ONNX/TFLite-class policy export to the Jetson.

  • Implement 3-DOF-per-leg IK solver (reference mogar/spot_micro)
  • 8-phase walk gait controller on Jetson — publishes /joint_commands to Teensy via micro-ROS
  • Stand, sit, walk validated on hardware
  • Body stabilization feedback via D456 IMU (MPU-6050 cut per BOM v3.5)
  • Calibrate LiDAR ↔ RealSense extrinsics
  • EKF fusion: D456 IMU + L2 IMU via robot_localization (MPU-6050 cut)
  • RTAB-Map 3D SLAM on walking platform
  • POINT-LIO comparison (LiDAR-IMU only)

Phase 3 — Autonomy (weeks 9-12)

  • Nav2 integration on legged platform
  • Costmaps from D456 + L2
  • Autonomous waypoint navigation
  • Obstacle avoidance during walk
  • Stair climbing test (gait variation)
  • Telemetry dashboard

Forward-looking backlog (opportunistic, not scheduled)

Quality-of-life software + operational features captured in docs/notes-qol-features.md and docs/notes-virtual-view-autocal.md. Pick up during Phase 1/2 idle time or batch into a "QoL sprint" once v1 walk gait is stable. Suggested rollout order (per notes-qol-features.md):

  1. Preflight health check (nova_ops) — bus ping sweep, E-stop, battery latch. v1 ships 3 checks; rest land opportunistically. Highest payback during Phase 1 servo bring-up.
  2. make deploy for Teensy — build on laptop, flash over Jetson USB, no chassis open. Needed by mid-Phase-1 firmware iteration.
  3. Always-on MCAP dashcam with incident freeze on E-stop / fault / manual trigger. Required before first walk attempt.
  4. nova bringup launcher with profiles (bench / sensors / slam / walk / full / vla) — pay back at ~6 launch files.
  5. Per-joint safety envelope in the gait controller — position/velocity/load/temp clamping. Paired with first Phase 2 gait controller commit.
  6. Battery SoC widget — gated on adding a 4th INA226 on battery feed (PCB v6 footprint already supports it).
  7. RGB status LED on Arduino Nano — Phase 2 polish.
  8. Telemetry CSV writer → optional Grafana later (resist Docker on Jetson).
  9. Bag replay harness — Phase 3 when SLAM/Nav iteration is the bottleneck.
  10. Gazebo Fortress digital twin — Phase 4 prep for VLA dev without HIL.

Plus auto-calibration routines (nova_calibration package): IMU bias zero on boot, servo zero-position auto-detect via jig, camera↔IMU + LiDAR↔IMU + LiDAR↔camera extrinsics. Foxglove bridge over Tailscale for remote browser viewing of URDF + sensors + plots.

Phase 4 — Arm install + Manipulation + VLA (future, after Phase 3 stable)

Split into two sub-phases since hardware-arm-install precedes any manipulation software.

Phase 4a — Arm hardware install:

  • Populate D42V55F7 arm-rail buck on PCB v6
  • Install 6× STS3215 arm servos (carried from SO-ARM101), assign bus IDs 13-18
  • Mechanical mount of arm to chassis (CAD pending)
  • Full 18-servo daisy-chain ping test
  • Bench-validate arm rail under realistic load

Phase 4b — Manipulation + VLA software:

  • Arm joint state integration into unified URDF
  • MoveIt 2 motion planning for arm
  • COM-shift compensation in gait controller (arm extension + payload mass shifts support polygon — gait controller needs arm-state input)
  • VLA model selection (OpenVLA / Pi0 / RT-2 class). Constraint: 8 GB RAM shared with ROS 2 + SLAM + RealSense full rate. OpenVLA INT4 fits but tight; budget memory carefully.
  • Data collection harness for in-house fine-tuning
  • On-device VLA inference (TensorRT-optimized)
  • Mobile manipulation demo: navigate to object, grasp, transport

Pre-Assembly Test Sequence

Before assembling any subsystem into the chassis, validate on the bench. Catching a bad part on the desk is minutes; catching it after assembly is hours.

  1. Jetson desk bring-up — Firmware update → JetPack flash → Ubuntu setup → SDK installs → individual sensor smoke tests (NVMe migration deferred — see BOM §1)
  2. Power rail validation — Each buck/converter loaded with realistic current draw before being committed to the chassis
  3. Servo bring-up — Single-servo bench tests before daisy-chaining; full chain ping before powered movement
  4. Network smoke test — Static IPs, L2 UDP packet flow, simultaneous SSH-over-WiFi
  5. Sensor smoke test — OLED + WS2812B via Arduino Nano USB-serial (PIR/ultrasonic/MPU/DFPlayer cut per BOM v3.5)

Full test sequence and acceptance criteria in BOM.md Section 12.


Setup Guide

📋 To be written as components arrive. Will include:

  • JetPack 6.x flash + firmware update procedure
  • NVMe rootfs migration (when NAND prices recover; see BOM §1)
  • Built-in WiFi 5 setup + BT verification
  • ROS 2 Humble + sensor SDK install scripts
  • Feetech servo ID assignment procedure
  • Network static IP configuration
  • URDF + xacro for the modified platform
  • Calibration procedures (servo zero-positioning, sensor extrinsics)

Open Decisions

#DecisionStatusNotes
1Charger modelResolved → ISDT 608AC~$60. AC mode ~55W ≈ 110 min for 4S 6000mAh. Charge / discharge / storage modes. Bag + XT60 jumper bought separately.
2WiFi on P3766 kitResolved → 802.11ac/ab/gn includedConfirmed from NVIDIA P3766 datasheet (Developer Kit Content): "802.11ac/ab/gn wireless network interface controller". WiFi 5, not 6E. Antennas implied via product photos; verify-on-unbox.
2bBluetooth presence on P3766Resolved → BT 5.1 confirmed (Realtek)Verified 2026-05-17 on hardware: hciconfig -a shows hci0 UP RUNNING, Manufacturer "Realtek Semiconductor Corporation", HCI Version 5.1, BD Address 9C:C7:D3:F6:AC:5C. bluetoothctl list confirms controller present.
3L2 12V tap: shared with hip rail vs dedicated buckResolved → dedicated D24V22F12 (v3.4)Combined hip+L2 load was margin-thin on D42V110F12's 9A typ at 14.8V Vin derating. Split L2 to its own buck for $19 extra. Cleaner power, more hip-rail headroom.
4SLAM stack: POINT-LIO vs RTAB-MapOpenCompare during Phase 2
5Bus master: Pattern A (FE-URT-1) vs Pattern B (Teensy)Resolved → B is v1 defaultLinux jitter (USB-CDC 1-10 ms typical, 50 ms+ under load) is unacceptable at 100 Hz gait. Teensy bare-metal UART gives hard real-time. PCB v6 keeps Pattern A via JP_BUS_MASTER bridge for bench / ID setup / debug. Phase 1 acceptance gate (revised): Teensy loop p99 <100 µs + /joint_commands arrival ≥99% of 100 Hz + RTT sanity (median <5 ms, p99 <20 ms).
6L2 mounting positionResolved → top-center on riserSymmetric 360° FOV, minimal yaw moment
7Horn spline verificationResolved → absorbed into leg redesign
8NVMe SSD purchaseDeferred → NAND shortageMay-2026 NAND flash shortage 2-3x'd 1TB SSD prices ($60→$165-220). Revisit when prices recover (<~$100 for 1TB) or storage becomes a measured bottleneck. Run from 128GB microSD until then.
9v1 scope: arm included vs deferredResolved → arm deferred to Phase 412 active servos (4 hip + 8 femur/tibia). 6 arm servos on shelf. Bus IDs 13-18 + arm-rail buck footprint reserved on PCB v6.
10Power rail strategyResolved → 4-buck Pololu splitXL4016 8A cont. inadequate. v3.4 active rails: D42V110F7 (leg 7.5V), D42V110F12 (hip 12V only), D24V22F12 (L2 12V dedicated), D42V55F12 (Jetson 12V). Arm rail D42V55F7 footprint reserved. See docs/power-budget.md.
11Safety scopeResolved → full608AC LVC alarm at 13.2V (warning) + 13.0V graceful-shutdown comparator → Jetson clean poweroff + 12.4V MOSFET hard-cutoff (autonomous backstop) + E-stop on leg/hip/L2 rail enables + INA226 ×3 per-rail telemetry. ~$37 BOM add.
12Phase 4 COM-shift compensationOpen (Phase 4)Arm extension + payload mass shifts support polygon; gait controller needs arm-state input to stay stable. Design when arm install begins.
13Bus integrity strategy at 12 nodes / 1 MbpsOpen (measure first)PCB v6 includes footprints for series R + ferrite beads + GND-plane reference (GND plane = single low-Z return). Single-ended TTL — not RS-485, so 120 Ω differential termination is not the right tool. Populate iteratively based on measured error rate; drop baud if needed.

References & Credits

  • Original NovaSM3 by Chris Locke (cguweb) — GitHub · novaspotmicro.com · Discord — base platform, chassis geometry, parts list. PCB v5.2/v5.3 reference via PCBWay community share. Note: repo ships STL only, no STEP (re-model from STLs + datasheet + calipers for OnShape).
  • mogar/spot_micro — ROS 2 reference for quadruped IK and gait
  • discodyer/unitree_lidar_ros2 — ROS 2 wrapper for Unitree L2
  • Feetech SCServo SDK — TTL bus driver
  • NVIDIA Jetson AI Lab — JetPack documentation, VLA model deployment guides
  • POINT-LIO — Unitree-recommended LiDAR-inertial SLAM
  • Nova Discord community — Build gotchas, assembly tips

Project Status Log

DateMilestone
2026-05-15BOM v3 finalized, README v1 created
2026-05-15BOM v3.1 — NVMe deferred (NAND shortage), charger resolved to ISDT 608AC, WiFi confirmed included
2026-05-15D24V50F12 → D42V55F12 buck swap (older Pololu family deprecated)
2026-05-15BOM v3.2 — v1 scope narrowed to quadruped only; arm to Phase 4. Power rails redesigned (XL4016 → Pololu D42V110-class). Full safety scope adopted (LVC + E-stop + INA226 + MOSFET hard-cutoff). PCB v5.2b → v6 redesign.
2026-05-15BOM v3.3 — Bus master flipped: Pattern B (Teensy + 74HC125) is v1 default. Pattern A (FE-URT-1) kept as bench / debug fallback via solder bridge. Teensy firmware becomes Phase 1 critical path.
2026-05-153-week work schedule committed (docs/work-schedule.md): leg-joint CAD on OnShape now, prints week 2, PCB v6 schematic in KiCad during 2026-05-29 away-week.
2026-05-16BOM v3.4 — L2 LiDAR split off hip rail onto dedicated D24V22F12 buck after Pololu datasheet check showed D42V110F12's 9A typ @ 42V Vin derates below combined hip+L2 ~9A load at 14.8V Vin. +$19.
2026-05-16Two-pass internal audit: Pass 1 swept 7.4V/7.5V mismatches + stale version markers + stale L2 references + section numbering; Pass 2 reframed Phase 1 acceptance gate (Teensy tick jitter + uROS arrival rate, not RTT), clarified Pattern B benefit framing, extended E-stop to kill L2 rail too, added 13.0V graceful-shutdown comparator before 12.4V hard cutoff, noted pre-PCB ID-setup path, reconciled Jetson headroom (~1.2× incl. peripherals). +$3 safety, total ~$3,015.
2026-05-16Order status updates: ISDT 608AC + LiPo safe bag + Mxuteuk HB2-ES544 E-stop ordered. Ovonic 4S kit confirmed to include XT60 jumper + charging lead (−$13). Bambu Lab Liquid Glue substituted for Magigoo PA (−$15, with print-test gate to fallback if PA6-CF adhesion fails). Realistic total $3,015 → $2,993.
2026-05-16LeRobot Pi SD backed up to ~/Backups/lerobot-pi-128gb-2026-05-16.img.gz (SHA256 recorded in docs/backups.md). Card reformatted for Jetson.
2026-05-17Jetson Orin Nano Super: flashed JetPack 6.2.1 SD image → apt full-upgrade → JetPack 6.2.2 / L4T 36.5 running. MAXN_SUPER power mode set (mode 2 on this Dev Kit, not 0). Three first-boot networking gotchas hit + documented in docs/setup-network.md: (1) oem-config WPA association fails — skip + connect from CLI; (2) l4tbr0 USB-C bridge hijacks default route — unplug or lower WiFi metric; (3) NetworkManager doesn't write /etc/resolv.conf on this image — manually populate + chattr +i to lock immutable.
2026-05-17Open decision 2b resolved: Bluetooth confirmed present on P3766 — Realtek, BT 5.1, hci0 up.
2026-05-17Jetson full persistence verified across reboots: JetPack 6.2.2, MAXN_SUPER (mode 2), jetson_clocks.service (systemd oneshot), DNS chattr-immutable, WiFi profile, BT. 8-point verification block lives in docs/setup-jetson.md §11.
2026-05-17Week 1 substantially closed — Jetson bring-up overtook the planned CAD-first sequence (no harm). CAD + KiCad + Teensy firmware skeleton carried to Week 2. New checklist at docs/checklists/week-2.md.
2026-05-17ROS 2 Humble installed on Jetson via ros2-apt-source 1.2.0 deb (deb822 format, the new canonical method). ros-humble-desktop + python3-colcon-common-extensions + python3-rosdep running. Talker/listener verified working over DDS.
2026-05-17Background research pass committed. docs/research/2026-05-17-notes.md consolidates 14 topics: Unitree L2 SDK (use official, drop discodyer fork), POINT-LIO ROS 2 fork (dfloreaa), librealsense2 via jetsonhacks prebuilt modules, STS3215 libraries for Teensy, 74HC125 wiring, INA226 + LM393 design, MAXN_SUPER clocks verified (1.7 GHz / 1020 MHz), OpenVLA feasibility on 8GB. Two safety/correctness fixes applied: (a) ANL → Class T 30A fuse (LiPo needs 20 kA AIC, ANL only 6 kA), (b) NovaSM3 repo URL corrected to cguweb-com/Arduino-Projects/Nova-SM3 (the old SovGVD/NovaSM3 returns 404).
2026-05-17Unitree L2 stack built green on Jetson. Cloned unitreerobotics/unilidar_sdk2, built C++ SDK + unitree_lidar_ros2 ROS 2 wrapper. colcon build clean. Confirmed launch params + topics: /unilidar/cloud (cloud_scan_num: 18), /unilidar/imu, default IPs match BOM §5 (LiDAR 192.168.1.62, target 192.168.1.2 port 6101). Topic/frame mapping captured in docs/setup-network.md for POINT-LIO + URDF integration.
2026-05-17Network bundle ordered: gigabit 5-port unmanaged switch (TP-Link LS105G / NETGEAR GS305) + Cable Matters 10 Gbps snagless Cat 6 × 2-3 (1ft). $23 spend. Will unblock L2 standalone test via ros2 launch unitree_lidar_ros2 launch.py once delivered (~2 days).
2026-05-18XL4016 ×2 returned for $30 refund. Originally specced in v3.0 BOM as the servo-rail buck pair. v3.2 audit caught the 8A continuous limit being inadequate for walking-gait + impact transients on either the 7.5V leg rail or the 12V hip rail — replaced with Pololu D42V110-class modules. XL4016 was kept in spares bin until now; return path cleaner. Realistic total $2,993 → $2,963.
2026-05-18Intel RealSense D456 full stack (Color + Depth + IMU) running on Jetson. Step A: librealsense2-utils + librealsense2-dev via Intel apt repo (key FB0B24895113F120 fetched from keyserver.ubuntu.com). Step B: stock JetPack 6.2.2 kernel modules don't expose IMU — patched 3 in-tree drivers (uvc, IIO accel, IIO gyro) via jetson-orin-librealsense + rebuilt against L4T 36.5 sources via jetson-orin-kernel-builder, enabled HID_SENSOR_HUB/ACCEL_3D/GYRO_3D modules, ~25 min compile. Step C: ros-humble-realsense2-camera launched. Verified: Color 30 Hz, Depth 30 Hz, Accel 101 Hz, Gyro 200 Hz on actual hardware. Full procedure captured in docs/setup-jetson.md §13.
2026-05-18Unitree L2 LiDAR streaming end-to-end. Wired L2 ↔ Cat 6 ↔ gigabit switch ↔ Cat 6 ↔ Jetson enP8p1s0 (192.168.1.2/24 static via nmcli connection nova-lan). Ping to L2 (192.168.1.62) at 0.1 ms. ros2 launch unitree_lidar_ros2 launch.py brings up /unilidar/cloud at 12 Hz, 5042 points/scan, frame_id unilidar_lidar. Followup: /unilidar/imu topic advertised but no UDP frames arriving — driver initialize_type config may need tuning (non-blocking since D456 IMU at 200 Hz covers EKF). Full v1 perception stack online: RGB + depth + 2 IMUs + 3D LiDAR all in ROS 2.
2026-05-19POINT-LIO ROS 2 (dfloreaa fork) built green on Jetson in 1:42 colcon. Phase 2 SLAM toolchain compile-ready. L2-specific config at unilidar_l2.yaml (scan_line 18, imu_time_inte 0.004 = 250 Hz). Runtime tests deferred until L2 IMU ROS bridge bug fixed OR imu_en: false LiDAR-only mode set.
2026-05-19Teensy 4.1 PlatformIO firmware skeleton compile-green on Mac in 9.58 s (Flash 12.8 KB / 8 MB free; RAM1 487 KB / RAM2 512 KB free). Pin map + 74HC125 OE GPIO scaffolding + INA226 I²C placeholder + safety GPIO sense + 1 Hz LED heartbeat + USB-CDC log lines. micro-ROS lib_deps gated behind NOVA_USE_MICRO_ROS — Mac build path breaks on Python 3.14 + missing ROS dev libs; reinstate on Jetson for runtime testing. Repo path: firmware/teensy/firmware/.
2026-05-19Teensy firmware end-to-end on Jetson. IntervalTimer ISR-driven 200 Hz tick → loop p99 = 1 µs (50× under <100 µs acceptance gate). micro-ROS over USB-CDC + 20-topic contract live. feetech::Bus driver code-complete (untested on wire).
2026-05-20Firmware safety + telemetry batch: safety FSM (E-stop + battery-low latch + /safety_clear), full STS3215 telemetry (pos+vel+load + voltage + temp @ 5 Hz), per-joint slew limiter on SYNC_WRITE broadcast, software watchdog (ISR-checked main-loop progress + AIRCR reset), boot-time servo ping sweep → first real /servo_present_mask, INA226 → /power_rails Float32MultiArray @ 10 Hz, /firmware_version + boot self-test for safety GPIOs, categorised bus errors (/servo_err_timeout + /servo_err_bad_frame + /servo_err_servo). CI green on every PR.
2026-05-21Threadlocker (Loctite 243) + tape ordered. DP adapter dropped (headless SSH path validated).
2026-05-23L2 IMU bridge fixed via Ace2932/unilidar_sdk2 fork — /unilidar/imu now publishes @ 250 Hz, POINT-LIO green end-to-end (init walks 1% → 100% within 250 ms). Per-room PCD capture procedure documented in setup-jetson.md §15.
2026-05-23AMS HF bypassed for PA6-CF print workflow — feed direct from Creality SpacePi X4 → 4 mm PTFE Bowden → P1S. PA6-CF re-absorbs ambient moisture in AMS chamber within hours, defeating the 24 h pre-dry. SpacePi X4 keeps filament heated through the entire print.
2026-05-23Magigoo PA reinstated in BOM. Bambu Lab liquid glue is not rated for PA / PA-CF per their product page; Bambu wiki PA6-CF guide explicitly calls for PA-specific glue stick. The −$15 substitution was a false economy vs the cost of a 10 h first-layer detachment.
2026-05-24Forward-looking feature notes committed (PR #1, merge 8cb8b1e): docs/notes-qol-features.md (preflight check, always-on MCAP dashcam with incident freeze, per-joint safety envelope, nova bringup launcher with profiles, make deploy for Teensy, bag replay harness, telemetry → CSV/Grafana, RGB status LED, battery SoC widget, Gazebo digital twin) and docs/notes-virtual-view-autocal.md (Foxglove bridge over Tailscale, IMU bias zero on boot, servo zero-position auto-detect, camera/LiDAR/IMU extrinsic auto-cal). Notes only — opportunistic pickup during Phase 1/2 idle time. New packages proposed: nova_ops + nova_calibration.
2026-05-26Leg CAD done — V5 OpenSCAD original-shell-carve (hardware/cad/leg_v5/). Reuses the original NovaSM3 STLs and carves an STS3215 cavity inside via boolean difference() — keeps the original shape, resizes the servo pocket. 9 STLs (shoulder + coax_L/R + femur_shell_L/R + femur_cover_L/R + tibia_L/R); femur prints as shell+cover sharing one cavity; tibia passive. Beat the from-scratch OnShape (V4) + CadQuery (V3.1) brackets → those archived. Pending: first-article print (coax X-bbox tight).
2026-05-30CAD docs reorganized: V2/V3/V4 leg attempts moved to hardware/cad/archive/; hardware/cad/README.md + docs/cad-tooling.md reframed to the three-track model (V5 OpenSCAD = leg links, CadQuery = utility, OnShape = chassis).
2026-06Cross-domain system audit (firmware / PCB / software / docs alignment) opened; PCB v6 split into power + logic boards, layout + DRC iterations. Leg CAD moved to leg_v6 (Onshape, STS3215-exact reference frame, load-path + fit-gate doctrine).
2026-07-01Both PCBs ordered via JLCPCB (~$203 all-in): power board v2 (Pattern B bus master, 74HC125 driver, INA226 rail telemetry, Phase-4 arm rail provisioned) + logic board. v7 backlog captured.
2026-07-06System audit fully closed: servo firmware-limits lane, limp mode, watchdogs, joint-map loader. rostest suites (firmware limits, watchdog, joint-map, liveness, locomotion) wired into CI.
2026-07-10leg_v6 caliper session: 25T horn disc-to-disc measured 35.5 mm, yoke fixed, servo insertion proven; battery mount redesigned (top-flange); chassis-integration audit closed. Measured femur 106.9 / tibia 129.0 mm → URDF + IK green.
2026-07-13CAD fit-gate audit closed: every leg + chassis screw joint gated on both sides (bolted-joint gate pattern — probe STL first, solid-ring guard, blind-pocket proof, negative control). Legs printing.
2026-07-16🎉 First walk — in simulation. RL policy (MuJoCo MJX + Brax PPO, proprioceptive obs) trots on flat ground in sim/nova_mjx. Curriculum + DR bracket measured servo behavior (2.8 rad/s joint cap, ~75 ms latency).
2026-07-20Terrain-relative reward rework (#129/#130): resume-safe curriculum accounting; collision-exact terrain height under each foot — done/height/contact all terrain-relative, flat behavior bit-identical.
2026-07-21Climb objective (#131) + unidirectional staircases: privileged-heightmap teacher policy, signed non-farmable ascent reward. Project renamed Fennec. Stair-climb bootstrap iteration continues (climb-v2: PBRS approach density + joint pad curriculum).
TBDPhase 0 → Phase 1 transition (parts in hand)
TBDFirst successful walk gait — on hardware

This is a learning project as much as a research one. Decisions and tradeoffs are documented openly so others can fork and adapt.

Parts

61
QtyValueFootprintReferences
610kResistor_SMD:R_0603_1608MetricR5, R7, R8, R9, R13, R17
51000uF_25VCapacitor_THT:CP_Radial_D12.5mm_P5.00mmC1, C2, C3, C4, C5
5XT30_InjConnector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_VerticalJ3, J4, J5, J6, J7
4INA226nova_v6:INA226_Module_BreakoutU9, U10, U11, U12
4MountingHole_M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
3100kResistor_SMD:R_0603_1608MetricR_gs1, R2, R16
3470uF_25VCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC6, C8, C9
24.7kResistor_SMD:R_0603_1608MetricR11, R12
10.47μFCapacitor_SMD:C_0603_1608MetricC_gs1
1100nFCapacitor_SMD:C_0603_1608MetricC7
111.3kResistor_SMD:R_0603_1608MetricR4
112.1kResistor_SMD:R_0603_1608MetricR6
11MResistor_SMD:R_0603_1608MetricR15
122kResistor_SMD:R_0603_1608MetricR3
122uHInductor_SMD:L_12x12mm_H8mmL1
1470kResistor_SMD:R_0603_1608MetricR14
1BSS138_cutoffPackage_TO_SOT_SMD:SOT-23Q2
1BSS138_estopPackage_TO_SOT_SMD:SOT-23Q3
1BSS138_jetcutPackage_TO_SOT_SMD:SOT-23Q4
1BZT52C18 (18V)Diode_SMD:D_SOD-123FD1
1Estop_NC_latchingTerminalBlock_Philmore:TerminalBlock_Philmore_TB132_1x02_P5.00mm_HorizontalSW2
1IB_2x06Connector_IDC:IDC-Header_2x06_P2.54mm_VerticalJ20
1IRLB3034PBFPackage_TO_SOT_THT:TO-220-3_VerticalQ1
1LM393Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU8
1Pololu_D24V22F12_L2_12Vnova_v6:Buck_Offboard_Terminal_2xXT30U3
1Pololu_D42V110F12_HIP_12Vnova_v6:Buck_Offboard_Terminal_2xXT30U2
1Pololu_D42V110F7_LEG_7V5nova_v6:Buck_Offboard_Terminal_2xXT30U1
1Pololu_D42V55F12_JET_12Vnova_v6:Buck_Offboard_Terminal_2xXT30U4
1Pololu_D42V55F7_ARM_7V5nova_v6:Buck_Offboard_Terminal_2xXT30U5
1Rocker_30ATerminalBlock_Philmore:TerminalBlock_Philmore_TB132_1x02_P5.00mm_HorizontalSW1
1ServoBus_TTLConnector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ8
1UBEC_5V_AUXConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1Voltmeter_DCConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalM1
1XT30_Arm7V5Connector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_VerticalJ14
1XT30_JET_12VConnector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_VerticalJ12
1XT30_L2_12VConnector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_VerticalJ13
1XT60_4S_INConnector_AMASS:AMASS_XT60-M_1x02_P7.20mm_VerticalJ1

More from Ace2932/Fennec

2
  • 4 layers112 × 90 mmNova pcb v6, the printed circuit board in 3D

    Nova pcb v6

    Ace2932/Fennec

    This project is a heavily modified fork of the open-source NovaSM3 quadruped, redesigned to serve as a research platform for embodied AI.

    55 parts1MIT
  • 4 layers84 × 78 mmNova pcb v6 logic, the printed circuit board in 3D

    Nova pcb v6 logic

    Ace2932/Fennec

    This project is a heavily modified fork of the open-source NovaSM3 quadruped, redesigned to serve as a research platform for embodied AI.

    22 parts1MIT

Similar boards

  • 4 layers50 × 50 mmStern PCB, the printed circuit board in 3D

    Stern PCB

    Felix-Dietrich/stern_PCB

    PCB for the battery powered 12V christmas lighting with bq 25895

    52 parts
  • 4 layers83 × 52 mmMusic tinbox, the printed circuit board in 3D

    Music tinbox

    onionharvester/boardwalk

    A little gathering place for my PCBs. This is their favourite hangout spot! 🪼⋆.ೃ࿔*:・

    66 parts55
  • 6 layers162 × 171 mmAdc board prot, the printed circuit board in 3D

    Adc board prot

    bcancinov/4-channel-adc-module

    4 Channel ADC module for detector controller prototype

    383 parts1
  • 2 layers68.6 × 53.3 mmMie1001 daq board, the printed circuit board in 3D

    Mie1001 daq board

    Chaospossum/mie1001-daq

    MIE1001 Team 5: DAQ firmware and Arduino shield designs (preamp, ADS1115, MCP4725)

    40 parts
  • 4 layers188.3 × 49.3 mmSound Sensor Teensy Carrier, the printed circuit board in 3D

    Sound Sensor Teensy Carrier

    forrestrae/teensy-sound-sensor-pcb

    A KiCad 9.0 carrier board for the Teensy 4.x microcontroller, designed for real-time audio sensing with USB-C Power Delivery input, 4S Li-ion battery management, I2S MEMS microphone, and LED lighting outputs.

    257 partsApache-2.0
  • 2 layers119.4 × 55.9 mmDtZ80-memory, the printed circuit board in 3D

    DtZ80-memory

    soster/dtZ80

    A simple 8 Bit computer based on the Z80 CPU

    6 parts15
  • 6 layers220 × 100 mmMotion card placement, the printed circuit board in 3D

    Motion card placement

    DeadlySIn777/Controller

    Unfinished CNC controller motherboard: native KiCad sources, rules, DSN and global routing review

    203 parts
  • 2 layers228.6 × 228.6 mmArena 12-12 v11 top, the printed circuit board in 3D

    Arena 12-12 v11 top

    floesche/LED-Display_G4_Hardware_Arena

    41 partsCC-BY-4.0

Questions

How big is the Nova pcb v6 power v2 PCB?

It measures 112 × 90 mm and has 4 copper layers, 1.62 mm thick.

What parts does the Nova pcb v6 power v2 use?

61 parts, built around the LM393DRG, RC0603FR-0710KL, XT30U-M and RC0603FR-07100KL. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Nova pcb v6 power v2 KiCad files?

From the Ace2932/Fennec repository on GitHub, at the commit this page was made from: the board is hardware/pcb-mods/nova_pcb_v6_power_v2/nova_pcb_v6_power_v2.kicad_pcb and its schematic hardware/pcb-mods/nova_pcb_v6/01_battery.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Nova pcb v6 power v2 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).