How to Set Up the Unitree H2 at Home: Step-by-Step Guide (2026, Firmware Latest)

How to Set Up the Unitree H2 at Home: Step-by-Step Guide (2026, Firmware Latest)

Complete home setup guide for the Unitree H2 humanoid robot: unboxing, networking, firmware update, SDK, and calibration.

11 min branjaPosodobljeno jul. 2026
Marco Ferrari
Marco Ferrari

Setting up the Unitree H2 at home takes around 90–120 minutes and four phases: unbox and inspect, install and charge the onboard battery, connect over a static-IP network (set your PC to 192.168.123.99 on the 192.168.123.x/24 subnet), then update to the latest firmware and run calibration. You need at least a 3,5 m × 3,5 m clear, flat, non‑slip floor area and a suspension rig within reach before first power‑on.

Table of Contents - What You’ll Need: Tools, Space & Time - Before You Start: Safety & Space Requirements - Step 1 — Unboxing & Physical Inspection - Step 2 — Battery Installation & Charging - Step 3 — Powering On & First Boot - Step 4 — Network Configuration (WiFi vs Ethernet) - Step 5 — App / Remote Control Binding - Step 6 — Firmware Update & Security Hardening - Step 7 — SDK / ROS2 Setup (Advanced) - Step 8 — Calibration & First Movement - Defining Success: Minimum / Full / Advanced - Common Setup Mistakes & Fixes - Frequently Asked Questions - About the Author / How We Tested


What You’ll Need: Tools, Space & Time

The Unitree H2 is a full‑size humanoid (182 cm tall, 70 kg, 31 DOF) that requires careful preparation. Before starting, gather:

  • Supplies: the robot itself, its charger, an Ethernet cable, a laptop with Ubuntu 20.04 (or 22.04 for later SDK versions), a suspension rig or sturdy stand capable of supporting 70 kg, and a non‑slip rubber mat.
  • Space: minimum 3,5 m × 3,5 m of clear flat floor; ideally 4 m × 4 m for first walks.
  • Time estimates (first‑timer):
PhaseTime
Unbox & inspect15 min
Battery charge1,5–2 hr
Network & IP setup20 min
Firmware/security/calib20-30 min
Total~2 hr (excluding charge)

Before You Start: Safety & Space Requirements

Humanoid robots are heavy and powerful. Always follow these safety rules:

  • Exclusion zone: Mark a 2‑metre safety perimeter around the robot. Keep all people, pets and loose objects out of this zone when the robot is powered.
  • Emergency stop: The easiest immediate stop is pressing L2+B simultaneously (damping mode) on the remote controller. The battery–release button also cuts power instantly.
  • Suspension rig: The H2 must be suspended or securely seated on a stand during first boot and calibration. Never let it stand free until you have verified damping and balance.
  • Floor surface: Use a flat, non‑slip rubber mat. Avoid carpet, which can catch the feet and overload the motors.


Step 1 — Unboxing & Physical Inspection

  1. Open the shipping case with the robot lying face‑up. Check for any visible transport damage.
  2. Verify that all accessories are present: charger, controller, cables, initial‑setup guide.
  3. Visually inspect the 7‑DOF arms, bionic head, and all 31 joints for loose fasteners.
  4. Photograph the robot’s condition before first power — this helps with warranty claims.
  5. Position the robot on its suspension rig, with the feet hovering just above the floor.
Unitree H2 unboxed and suspended before first boot

Step 2 — Battery Installation & Charging

The H2 uses an internal, non‑swappable 54 V battery pack (approximately 3 hr runtime).

  • Plug the supplied 54 V/5 A charger into the charging port on the robot’s back.
  • A full charge takes up to 2 hours. The battery indicator on the robot’s power panel will turn solid green when complete.
  • Charge the battery fully before first power‑on; partial charge can cause a premature shutdown during calibration.

Step 3 — Powering On & First Boot

  1. Ensure the robot is still suspended and the floor is clear.
  2. Press and hold the main power button for 3 seconds.
  3. Watch the boot sequence: the head’s facial display will light up, and the fans will spin up. The robot will emit a series of beeps.
  4. After about 60 seconds, the system reaches a stable idle state.
  5. Do not attempt to stand until calibration (Step 8).

Step 4 — Network Configuration (WiFi vs Ethernet)

The H2’s onboard control computer runs on the 192.168.123.x/24 subnet. For development and SDK access, a wired Ethernet connection is strongly preferred over WiFi.

  • Identify the robot’s IP address — the onboard computer (likely a Jetson Orin) typically uses 192.168.123.164. The control board may be at 192.168.123.161.
  • Set your laptop’s Ethernet interface to a static IP such as 192.168.123.99 (subnet mask 255.255.255.0, no gateway).
  • Connect the Ethernet cable directly between your laptop and the robot’s LAN port.
  • Verify connectivity: ping 192.168.123.164 should succeed.
  • [Optional] If you need wireless, connect the robot to your home WiFi via the companion app (Step 5). Always revert to wired for SDK work due to lower latency.
MethodProsCons
EthernetLow latency, stable, SDK reliableTethered, less convenience
WiFiUn‑tethered, convenient for demosHigher jitter, potential SDK issues

Step 5 — App / Remote Control Binding

  1. Install the Unitree Controller app on your smartphone or tablet (Android recommended).
  2. Power on the robot; the app will scan for nearby Unitree devices on the same WiFi network or via Bluetooth.
  3. Select the H2 from the device list and follow the on‑screen binding code.
  4. Once bound, the physical remote controller will also be paired automatically.
  5. Test basic damping by pressing L2+B — the motors should go limp, and the robot will sag slightly in the rig.

Step 6 — Firmware Update & Security Hardening

> Important: All Unitree robots (Go2, G1, H1, H2) are affected by the UniPwn vulnerability (CVE‑2025‑35027) — a wormable BLE‑to‑root chain. Always apply firmware updates and disable unnecessary wireless services.

  1. Check the current firmware version via the app or by SSH (unitree@, default password 123change this immediately).
  2. Download the latest firmware from the official Unitree support portal. As of publication, the H2 is a pre‑production unit; firmware images are provided to early access partners.
  3. Apply the update using the app’s OTA function or manually via USB. Reboot.
  4. After update, disable BLE provisioning if you won’t be using the setup wizard again (app settings → disable “BLE broadcast”).
  5. Segment your robot’s network — place it on a separate VLAN from your main home devices.
  6. Change all default credentials (SSH, app, web console).

Step 7 — SDK / ROS2 Setup (Advanced)

The Unitree H2 runs the same unitree_sdk2 / unitree_sdk2_python stack as the G1 and H1, built on CycloneDDS. For custom code or ROS2 integration:

Prerequisites: Ubuntu 20.04 LTS (or 22.04 if supported by later SDK releases).

# 1. Install CycloneDDS (version 0.10.2, releases/0.10.x branch)
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x
cd cyclonedds && mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/cyclonedds
make -j$(nproc) && sudo make install

# 2. Set environment variables
export CYCLONEDDS_HOME=/opt/cyclonedds
export LD_LIBRARY_PATH=$CYCLONEDDS_HOME/lib:$LD_LIBRARY_PATH

# 3. Clone and build unitree_sdk2
git clone https://github.com/unitreerobotics/unitree_sdk2
cd unitree_sdk2 && mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree_robotics
make -j$(nproc) && sudo make install

For Python:

git clone https://github.com/unitreerobotics/unitree_sdk2_python
cd unitree_sdk2_python
pip3 install -e .

ROS2 (Foxy) support with unitree_ros2:

git clone https://github.com/unitreerobotics/unitree_ros2
# Follow the repository’s README for colcon build

Verify with the example_walk demo after network setup. Ensure that the AI sport client is active (not debug mode) when using high‑level RPC commands.


Step 8 — Calibration & First Movement

  1. With the robot still suspended, start the calibration routine from the app: Settings → Calibration → Full Body.
  2. The robot will move each joint through its range. This takes about 3–5 minutes.
  3. After calibration, the damping mode (L2+B) will be fully active. Release damping to let the motors stiffen.
  4. Lower the robot slowly with the rig until its feet touch the ground, but keep the rig taut for balance.
  5. Press L2+UP (ready pose), then R2+A to gently initiate a standing posture. The robot will slowly rise.
  6. For first steps, use the remote to jog the robot forward at low speed (≤0.5 m/s). Stay within the exclusion zone with the e‑stop ready.

Defining Success: Minimum / Full / Advanced

TierDefinition
Minimum viableRobot powers on, connects to app, performs damping and stands safely.
Full operationalAll joints calibrated, firmware current, wired network established, robot walks reliably in your space.
AdvancedSDK/ROS2 installed, custom code runs, autonomous navigation or teleoperation working.

Common Setup Mistakes & Fixes

SymptomRoot causeFix
Cannot ping robotPC not on 192.168.123.x subnetSet static IP to 192.168.123.99, mask 255.255.255.0
SDK channel factory init errorWrong network interface name in configSpecify the host’s Ethernet adapter name (not veth or virtual)
CycloneDDS compilation fails or DDS missingWrong version / missing branchBuild from releases/0.10.x branch and set CYCLONEDDS_HOME
RPC commands ignoredAI sport client off or debug mode activeEnsure sport mode is on (not debug); for G1/H1/H2, high‑level RPC needs AI sport client
L1+A damping does nothingUsing legacy combo on newer firmwareUse L2+B for damping on current firmware (check release notes)
Robot won’t stand after calibrationStill in damping / no ready posePress L2+UP to move to ready, then R2+A to stand
First boot fails with motor over‑currentNot suspended / feet on floorAlways hang robot before power and calibration
BLE provisioning left open after setupSecurity oversight (UniPwn)Disable BLE in app; apply firmware patch
Wrong SDK for base (non‑EDU) modelNon‑EDU H2 lacks SDK supportOnly EDU or advanced variants allow SDK — check with vendor
Default SSH credentials unchangedSecurity riskImmediately change unitree account password (passwd)

Komentarji

🍪 Nastavitve piškotkov

Uporabljamo piškotke za merjenje zmogljivosti. Politika zasebnosti