Setting up the Unitree H2 Plus at home takes about 90 minutes of active work: unbox and inspect (two‑person lift), charge its 2‑hour battery, connect over Ethernet to the 192.168.123.x subnet (set your PC to a free IP like 192.168.123.99), update firmware and disable BLE provisioning (CVE‑2025‑35027), then calibrate. You need at least a 3 m × 3 m clear space, a suspension point, and an emergency‑stop within reach before first power‑on.
What You’ll Need: Tools, Space & Time
Tools & supplies - Unitree H2 Plus robot (180 cm, 70 kg, 31 degrees of freedom, 30 kg payload) - Quick‑release battery pack (2‑hour runtime) - Charger (specs not yet published; confirm with Unitree) - Ethernet cable + laptop/PC - Suspension rig, hoist, or sturdy stand (rated for ≥80 kg) - Flat, non‑slip floor surface (anti‑fatigue mat recommended) - Safety mirror (for peripheral awareness) - Smartphone with Unitree control app
Room size Minimum 3 m × 3 m of clear, obstacle‑free floor space. Add a 1.5 m exclusion zone around the robot during operation.
Setup time (active phases)
| Phase | Duration |
|---|---|
| Unboxing & inspection | 20 min |
| Battery charging (passive) | ≈2 hrs |
| Network configuration | 15 min |
| Firmware update & security | 15 min |
| Calibration & first walk | 10 min |
Total active time ≈ 1.5 hours; charging can run in parallel with unpacking and networking.
Before You Start: Safety & Space Requirements
CRITICAL – The H2 Plus weighs 70 kg (≈154 lbs) and stands 180 cm tall. A fall can cause severe injury or damage. Never power on the robot without a suspension harness or stand that fully supports its weight during first boot.
- Clear the area: remove furniture, rugs, and loose cables within a 3 m × 3 m zone plus a 1.5 m exclusion border.
- Floor surface: hard, level, and non‑slip. Avoid carpet—loops snag feet and make calibration unreliable.
- Suspension rig: use an overhead hoist or a custom stand that can securely hold 70 kg. Attach the rig before applying power.
- Emergency stop: keep the remote/app within arm’s reach. The damping button (often L2+B on recent Unitree firmware) acts as an immediate stop. Also know the physical battery disconnect.
- Environment: indoor, climate‑controlled; the H2 Plus is not IP‑rated for wet or dusty conditions.
- Assistant: for unboxing and rigging, have a second person present.
Step 1 – Unboxing & Physical Inspection
- Position the shipping case in the centre of your cleared floor. The H2 Plus ships in a reinforced crate—use a pallet jack or two‑person lift.
- Remove the lid and top foam layers. Lift the robot from the crate only with two people (70 kg). Never pull by a single limb.
- Place the robot on its suspension stand and attach the harness immediately. Do not let it stand unsupported.
- Inspect for transit damage: check limb joints, wiring harnesses, and the battery bay. Photograph any dents or cracks.
- Verify included accessories (charger, cables, remote, documentation). Refer to the packing list.
Unboxing the H2 Plus with two‑person lift and immediate harness attachment.
Step 2 – Battery Installation & Charging
- Ensure the robot is powered off and suspended.
- Locate the battery bay (torso rear). Slide the quick‑release battery pack into the rails until it clicks.
- Connect the charger to the robot’s charge port (specifications to be confirmed; the unit ships with a matching charger).
- Charge to 100 % (≈2 hours). The battery indicator on the robot or charger will show full.
- Disconnect the charger before proceeding.
Note: While charging, you can configure your PC’s network settings (Step 4) in parallel.
Step 3 – Powering On & First Boot
- Double‑check suspension rig — the harness must take the robot’s full weight.
- Press the power button (location varies; consult the quick‑start guide). The robot will run a brief self‑test and initialise.
- Engage damping mode immediately after boot. On many Unitree humanoids running recent firmware, press and hold L2+B (legacy firmware may use L1+A). Refer to your unit’s documentation for the exact combo.
- Observe the state machine:
- Damping → joints go limp and require external support (harness)
- Ready (often L2+UP) → joints stiffen, robot prepares to stand
- Operate (often R2+A) → full motion control enabled
Firmware alert: Button combos changed between firmware generations. If L1+A does nothing, try L2+B. Always check the firmware‑version notes before first boot.
Step 4 – Network Configuration (WiFi vs Ethernet)
Ethernet is strongly recommended for initial setup and SDK development. WiFi can be used later after binding the app.
Unitree’s humanoid‑line robots typically use the 192.168.123.x/24 subnet. The H2 Plus’s exact IP addresses have not yet been published, but we expect:
| Device | Expected IP (verify with docs) |
|---|---|
| Onboard control computer | 192.168.123.161 |
| Development computer (if present) | 192.168.123.164 |
| LiDAR | 192.168.123.120 |
Configure your PC 1. Connect an Ethernet cable between the robot and your PC (or a switch). 2. Set a static IP on your PC’s Ethernet interface: 192.168.123.99 (or any free .x not in the reserved list). Subnet mask 255.255.255.0, gateway not required. 3. Test connectivity: ``bash ping 192.168.123.161 `` If the robot’s control computer actually uses a different address, consult the manufacturer’s network diagram.
WiFi vs Ethernet comparison
| Connection | Use case | Latency | Stability |
|---|---|---|---|
| Ethernet | SDK, ROS2, teleoperation | Low | Highest |
| WiFi (robot AP) | App binding, casual control | Medium | Good |
| BLE | App binding, initial pairing | High | Low |
For the H2 Plus, use Ethernet during this guide and switch to WiFi only after the robot is fully configured and bound.
Step 5 – App / Remote Control Binding
- Download the Unitree control app (Android/iOS) from the official app store.
- Ensure Bluetooth is enabled on your phone (BLE used for initial pairing).
- Power on the robot with damping active.
- Open the app and follow the on‑screen binding wizard. It will search for nearby BLE devices.
- Select your H2 Plus and confirm pairing. The app may request a PIN — check the manual.
- After binding, you can control the robot via the app’s virtual joystick and configure settings such as walking speed and damping sensitivity.
- If using the physical remote, pair it through the app or by following the remote’s Quick‑Start card.
Step 6 – Firmware Update & Security Hardening
Why update immediately The H2 Plus ships with pre‑production firmware. The latest public build (check Unitree’s support portal as of July 2026) will contain bug fixes, calibration improvements, and security patches.
Update procedure (generic — confirm with Unitree’s tool) 1. Download the firmware package from the official Unitree support site. 2. Transfer it to the robot via USB drive or local network. 3. Open the Unitree management app (or use the built‑in update option in the control app). 4. Follow the prompts to flash the update. The robot will reboot.
Security hardening – UniPwn / CVE‑2025‑35027 Unitree robots (Go2, G1, H1, and likely the H2 Plus) are affected by the UniPwn vulnerability, which allows root access over BLE (CVE‑2025‑35027). Mitigate immediately:
- Disable BLE provisioning in the app’s advanced settings. Leave it off except when actively pairing a new device.
- Keep the robot on an isolated VLAN — never expose its control interface to the internet.
- Change default SSH credentials (likely
unitree/123— change after first login). - Apply any manufacturer‑issued patches that specifically address CVE‑2025‑35027 or related flaws.
> Note: Unitree’s 2026 firmware may include an AES‑128 per‑device key. Ensure you load the latest release from the official source.
Step 7 – SDK / ROS2 Setup (Advanced)
The H2 Plus is expected to leverage Unitree’s unitree_sdk2 (C++/Python) and unitree_ros2 repositories. Official installation guides should be available on github.com/unitreerobotics. The instructions below are based on known Unitree humanoid‑SDK patterns; verify against the H2 Plus developer portal.
Prerequisites - Ubuntu 22.04 or 24.04 (likely 22.04 for compatibility; check docs) - ROS2 Humble or Iron - CycloneDDS (branch releases/0.10.x)
Install C++ SDK ``bash git clone https://github.com/unitreerobotics/unitree_sdk2.git cd unitree_sdk2 mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree_robotics make -j$(nproc) sudo make install ``
Install Python SDK ``bash cd unitree_sdk2/python pip3 install -e . ``
Install ROS2 interface ``bash git clone https://github.com/unitreerobotics/unitree_ros2.git cd unitree_ros2 # Build with colcon source /opt/ros/humble/setup.bash colcon build --symlink-install ``
Important gotchas - The H2 Plus likely uses the unitree_hg IDL (like the H1/G1). Verify with the documentation. - If the robot does not respond to high‑level RPC, ensure the AI sport client is ON (not in debug mode). - Set CYCLONEDDS_HOME before building the SDK to point to your CycloneDDS installation.
Step 8 – Calibration & First Movement
- Keep the robot suspended. With damping active and the app connected, navigate to Calibration.
- The robot will slowly move each joint through its range. Allow the routine to complete without interruption.
- Once calibration succeeds, the app will indicate Ready to Stand.
- Engage Ready mode (likely L2+UP or app command). The robot will stiffen and support some of its own weight.
- Remove slack from the suspension harness so the robot’s feet just touch the floor. It should not bear full weight instantly.
- Switch to Operate (R2+A) while the robot is still lightly supported. Use the app’s walk‑in‑place command first, then forward walking at the minimum speed.
- Gradually transfer full weight to the robot’s legs. If it shows any instability, re‑engage damping and inspect the harness.
First walk should be on a flat surface, with two people ready to catch it using the harness straps.
Defining Success: Minimum / Full / Advanced
| Tier | Definition |
|---|---|
| Minimum viable | Robot powers on, connects to app/remote, remains stable in suspension, and responds to simple joint‑level commands |
| Full operational | Networked to PC, firmware current, calibration passed, walks stably at low speed without support in its clear area |
| Advanced | SDK/ROS2 installed, custom teleoperation or autonomous locomotion code running, unit integrated into a research pipeline |
Common Setup Mistakes & Fixes
| # | Mistake / Symptom | Root cause | Fix |
|---|---|---|---|
| 1 | Robot won’t ping at 192.168.123.161 | PC not on 192.168.123.x subnet | Set PC static IP to 192.168.123.99/24; confirm exactly which IP the H2 Plus uses. |
| 2 | Damping does nothing (L1+A) | Firmware uses newer L2+B combo | Try L2+B; check firmware release notes. |
| 3 | Robot falls during first stand | No suspension harness or harness not taking weight | Always suspend the robot; tighten straps before engaging Ready. |
| 4 | SDK channel factory error | Wrong network interface name in config | Use en* name of the Ethernet adapter that connects to the robot, not docker0 or loopback. |
| 5 | High‑level RPC commands ignored | AI sport client not active (or debug mode engaged) | Ensure the robot is not in debug mode; exit debug by rebooting or using the L2+R2 then L2+A combo. |
| 6 | CycloneDDS version mismatch | Installed default DDS, not 0.10.2+ | Build releases/0.10.x branch, set CYCLONEDDS_HOME. |
| 7 | BLE provisioning left enabled | Default setting after pairing | Disable in app after binding; otherwise UniPwn attack vector remains open. |
| 8 | Default SSH password unchanged | unitree / 123 still active | Immediately change password via passwd after first login. |
| 9 | Robot lists heavily to one side | Floor not level, or calibration incomplete | Re‑calibrate on a level surface; use a spirit level. |
| 10 | App can’t find robot on WiFi | Not on same subnet or WiFi not configured | After initial Ethernet setup, bind via BLE and then configure robot’s WiFi from the app. |
Kummenti