Spot Micro Quadruped — Jetson Nano (ROS Melodic)

# Spot Micro Quadruped — Jetson Nano / ROS Melodic Port > **Jetson-Nano-specific port of the SpotMicro design family.** See also: SpotMicro (Pi) and SpotMicro ESP32 entries on orobot for other compute targets. A 12-servo, 4-legged 3D-printed open-source quadruped running ROS Melodic on an NVIDIA Jetson Nano. This fork (`0x49b/spotMicro-ROS-Melodic-Jetson-Nano`) ports the original `mike4192/spotmicro` Raspberry Pi 3B + ROS Kinetic stack onto the Jetson Nano with ROS Melodic, unlocking the GPU for on-board SLAM, perception, and future learned-policy work. The robot supports sit, stand, body angle, and walk control via two configurable gaits (8-phase stable gait by default; faster trot gait optional). Body-mounted RPLidar A1 enables real-time SLAM and 2D mapping. State is published over tf2 with open-loop calculated odometry. ## Hardware - **Compute:** NVIDIA Jetson Nano (this port). Original target was Raspberry Pi 3B. - **Frame:** Thingiverse Spot Micro (KDY0523) — [thing:3445283](https://www.thingiverse.com/thing:3445283) - **Servos:** 12× PDI-HV5523MG (or cls6336hv — print files compatible) - **Servo control:** PCA9685, i2c - **Power:** 2S 4000 mAh LiPo direct to servo board; HKU5 5V/5A UBEC for Jetson + peripherals - **Sensing:** RPLidar A1 (body-mounted) - **Optional:** 16×2 i2c LCD panel for state readout ## Software stack - **OS:** Ubuntu 18.04 (for ROS Melodic on Jetson Nano). Original used Ubuntu 16.04 + ROS Kinetic. - **Framework:** ROS Melodic catkin workspace - **Languages:** C++ (motion control, kinematics) + Python (keyboard command, plot) - **Key packages:** `spot_micro_motion_cmd`, `spot_micro_keyboard_command`, `spot_micro_rviz` (URDF), `ros-i2cpwmboard`, `spot_micro_joy`, `lcd_monitor` ## Build flow 1. Flash Jetson Nano with Ubuntu 18.04 + ROS Melodic. Add a 1 GB SWAP partition (catkin will OOM without it). 2. Create a catkin workspace, clone this repo into `src/`, run `git submodule update --init --recursive`. 3. `sudo apt-get install ros-melodic-joy ros-melodic-rplidar-ros ros-melodic-hector-slam libi2c-dev`. 4. `catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release && catkin build`. 5. Calibrate all 12 servos using the spreadsheet + `servo_move_keyboard` workflow before powering the legs. 6. `roslaunch spot_micro_motion_cmd motion_cmd.launch` on the Jetson; `roslaunch spot_micro_keyboard_command keyboard_command.launch` from a remote machine. ## Family cross-reference This is one of three SpotMicro variants on orobot — pick the compute target that matches your build: - **SpotMicro (Raspberry Pi)** — original `mike4192/spotmicro`, Pi 3B + ROS Kinetic. - **SpotMicro ESP32** — `michaelkubina/spotmicroesp32`, microcontroller-only port without ROS. - **SpotMicro Jetson Nano (this entry)** — Jetson Nano + ROS Melodic, GPU-accelerated SLAM. ## Source - Repo: https://github.com/0x49b/spotMicro-ROS-Melodic-Jetson-Nano - Commit: 8c027c8a357dceace856d586022954205bc247ed - License: MIT - Upstream: `mike4192/spotmicro` (this is a Jetson Nano fork)

Category: Other Robots

Bill of Materials

| Item | Qty | Notes |
|------|-----|-------|
| NVIDIA Jetson Nano (4GB) | 1 | This port's compute target |
| PDI-HV5523MG servo (or cls6336hv) | 12 | 3 per leg × 4 legs |
| PCA9685 16-channel PWM driver | 1 | i2c servo controller |
| 2S 4000 mAh LiPo battery | 1 | Direct to servo board for servo power |
| HKU5 5V/5A UBEC | 1 | 5V regulator for Jetson + LCD + PCA9685 |
| RPLidar A1 | 1 | Body-mounted for SLAM |
| 16×2 i2c LCD panel | 1 | Optional state display |
| Spot Micro 3D-printed frame (KDY0523) | 1 set | Thingiverse thing:3445283 |
| Custom 3D-printed mounts (lidar, reinforcements) | 1 set | See repo /assets |
| M2/M3 hardware, servo horns | — | See thingiverse assembly notes |

3D Print Files (13)

Print, Buy Parts, and Install Spot Micro Quadruped — Jetson Nano (ROS Melodic) — STLs, Code, BOM, Free