Overview#
RP1 is RoboParty's fully open-source humanoid robot platform. From mechanical structures, circuit boards, and wiring harnesses to firmware, device drivers, robot models, and training and deployment code, every layer of RP1 is fully open-source and published in the GitHub repository. You can study a single subsystem, build a robot from the published materials, or use the platform to explore your own control methods and learning workflows.
We hope to make robots trusted companions to humanity.
RP1 is built for individual developers, research teams, and education. We aim to provide a high-performance robot that makes algorithm research easier, and a more open robot platform that makes teaching easier. RP1 aims to provide that shared starting point.

One Robot, a Fully Open System#
RP1 is open across three layers:
| Layer | What is open | Repositories |
|---|---|---|
| Hardware you can inspect | Mechanical CAD, engineering drawings, schematics, PCB routing, Gerber files, wiring harness drawings, BOMs, and assembly materials | RP1_hardware, RP1_description |
| Software you can extend | Linux BSP, USB-CAN-FD bridge, motor / IMU / dexterous hand / camera drivers, ROS 2 inference framework, and Python SDK | RP1_firmware, roboparty_deploy |
| Intelligence you can explore | Locomotion training, Adversarial Motion Priors (AMP), motion imitation (BeyondMimic), and Sim2Sim transfer checks | roboparty_train |
The interfaces between these layers are open as well. The robot model used for training, the exported policy, and the physical robot's motor mapping share the same joint definitions, with the mapping at each stage recorded in configuration files. A change at any layer can be traced through this chain to the others.
Specifications at a Glance#
Product Specifications#
The RP1 series offers two configurations: RP1 and RP1 Pro. The technical specifications below match the RP1 product page, with standard and optional equipment identified separately.
Structure#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Height | 1.35 m | 1.35 m |
| Weight | Approx. 39 kg (Including end effectors and battery) | Approx. 41 kg (Including end effectors and battery) |
| Standing dimensions | 1350 × 450 × 200 mm (Height × width × depth) | 1350 × 450 × 200 mm (Height × width × depth) |
| Thigh length | 250 mm | 250 mm |
| Shank length | 300 mm | 300 mm |
| Single-arm length | 550 mm | 550 mm |
| Active degrees of freedom | 24 | 30 |
| Head degrees of freedom | 0 | 2 |
| Degrees of freedom per arm | 5 | 7 |
| Waist degrees of freedom | 2 | 2 |
| Degrees of freedom per leg | 6 | 6 |
Motion and actuation#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Maximum running speed | ≤4 m/s | ≤4 m/s |
| Payload | 3 kg | 3 kg |
| Module peak torque | 160 N·m (100 mm outer-diameter model) | 160 N·m (100 mm outer-diameter model) |
| Joint modules | Four in-house designs; two-stage planetary gearing with inner-rotor motors | Four in-house designs; two-stage planetary gearing with inner-rotor motors |
| Maximum step height | 50 mm | 50 mm |
| Minimum obstacle size for avoidance | 50 mm | 50 mm |
| Slope climbing capability | 30° | 30° |
| Automatic case exit | Supported | Supported |
Battery and charging#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Battery capacity | 10 Ah | 10 Ah |
| Operating time | 3 h | 3 h |
| Charging time | 1.5 h | 1.5 h |
| Battery design | Dual-battery design | Dual-battery design |
| Battery replacement | Hot-swappable without shutdown | Hot-swappable without shutdown |
| Charging | 140 W USB-C fast charging; magnetic charging | 140 W USB-C fast charging; magnetic charging |
| Operation while charging | Supported | Supported |
Perception and expansion#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Standard head | Locomotion head | Interaction head |
| Standard end effectors | Dummy hands | 6-DoF dexterous hands |
| Standard vision sensor | None | Monocular RGB camera ×1 |
| Depth camera | Intel D435i (Optional) | Intel D435i (Optional) |
| Interchangeable heads | Locomotion, perception, interaction, and data-collection heads (Configuration dependent) | Locomotion, perception, interaction, and data-collection heads (Configuration dependent) |
| Dexterous hands | 6-DoF or 22-DoF configurations (Optional) | 6-DoF or 22-DoF configurations (Optional) |
| Supported end effectors | Dummy hands, dexterous hands, and grippers | Dummy hands, dexterous hands, and grippers |
| Motion sensor | High-precision 6-axis IMU ×1 | High-precision 6-axis IMU ×1 |
| Perception-head sensors | Intel D435i depth camera + 3D LiDAR (With perception-head configuration) | Intel D435i depth camera + 3D LiDAR (With perception-head configuration) |
| Data-collection-head sensors | Stereo RGB camera ×1 (With data-collection-head configuration) | Stereo RGB camera ×1 (With data-collection-head configuration) |
| End-effector wiring | Internal 24 V wiring with an adapter board | Internal 24 V wiring with an adapter board |
| Expansion interfaces | Hardware interfaces and mounting points; multi-protocol expansion | Hardware interfaces and mounting points; multi-protocol expansion |
| Additional sensors | Multimodal perception sensors (Optional) | Multimodal perception sensors (Optional) |
Computing and connectivity#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Base computing module | RK3588 ×1 | RK3588 ×1 + A733 |
| Development module | Optional | Orin NX (16 GB) |
| Wireless connectivity | Wi-Fi 6 · Bluetooth 5.2 · 4G | Wi-Fi 6 · Bluetooth 5.2 · 4G |
| Debug interfaces | USB Type-A ×2 · USB Type-C ×2 · RJ45 ×2 | USB Type-A ×2 · USB Type-C ×2 · RJ45 ×2 |
| Interaction hardware | Speaker | Speaker, microphone, and interaction display |
| Control methods | Remote controller and app | Remote controller, app, and voice control |
Construction and safety#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Operating temperature | −10–40 °C | −10–40 °C |
| Materials | AL6061/7075 aluminum, engineering plastics, and specialty rubber | AL6061/7075 aluminum, engineering plastics, and specialty rubber |
| Emergency stop | Remote and portable emergency stop with three-channel redundancy | Remote and portable emergency stop with three-channel redundancy |
| Joint protection | Enclosed, pinch-resistant joints | Enclosed, pinch-resistant joints |
| Handling and maintenance | Rounded soft handles and rear-access battery | Rounded soft handles and rear-access battery |
Open-source development#
| Parameter | RP1 | RP1 Pro |
|---|---|---|
| Open-source hardware | Supported | Supported |
| Secondary development | Supported | Supported |
| Hardware resources | Module and body mechanical drawings, BOM, interfaces, PCB designs, and 3D models | Module and body mechanical drawings, BOM, interfaces, PCB designs, and 3D models |
| Software resources | Operating system, motor drivers, locomotion algorithms, perception and decision models, ROS 2 middleware, SDK, simulation, and training code | Operating system, motor drivers, locomotion algorithms, perception and decision models, ROS 2 middleware, SDK, simulation, and training code |
- Performance and operating time vary with load, terrain, battery condition, and software configuration.
- Heads, end effectors, and perception sensors vary by model and selected options. Refer to the selected configuration for included equipment.
Robot Models#
Two open-source models are available, distinguished by their body motion joints; head and finger joints are excluded. These 24 / 28-axis counts refer to the body only, unlike the active degrees of freedom listed above: RP1 Pro has 28 body joints and 2 head joints for a total of 30 active degrees of freedom. Dexterous-hand finger degrees of freedom are counted separately.
| Model | Both legs | Waist | Both arms | Body motion joints | Deployment configuration |
|---|---|---|---|---|---|
| 24-axis | 6 × 2 | 2 | 5 × 2 | 24 | rp1_24dof |
| 28-axis | 6 × 2 | 2 | 7 × 2 | 28 | rp1 |
Compared with the 24-axis model, the 28-axis model adds Yaw and Pitch joints at each wrist. Both models are provided in URDF and MJCF formats and can be loaded directly into MuJoCo or Isaac Lab.
Note The 24-axis configuration currently provides a complete path from training through simulation transfer checks to deployment on the physical robot. The 28-axis deployment configuration is ready, but its default policy files have not yet been released, and no dedicated training tasks are available yet.
Mechanical Design#
Modular. The head and hand units can be changed to suit the task, while the legs and waist provide a common locomotion base. End effectors can use RoboParty's own RP Hand dexterous hand or other actuators and sensors.
Symmetric and standardized. The upper limbs are fully symmetric, and the same lower-limb molds are used on both sides. Fewer spare-part types make maintenance, replacement, and upgrades easier.
The structure is the enclosure. The main structure also serves as the enclosure, reducing additional covers and weight. Openings can serve as carrying handles or temporary mounting points for cameras and other accessories during experiments. Internal airflow channels help dissipate heat.
Designed for human contact. Rounded contours are paired with a soft rubber coating, and the head is shaped for an easy grip. The blue-and-white color scheme avoids both the imposing feel of industrial equipment and the childish look of a toy, giving it a character closer to a household appliance.
Version 1.3 improvements. The hip Pitch motors have been moved upward and the legs brought closer together for more human-like proportions. The hand motors now use a serial arrangement for more compact end effectors, and the rotating joint cross-sections have changed from square to circular.
Electrical and Computing Architecture#
RP1's electrical system comprises six parts: power, main control, expansion, interaction, perception, and actuation. They connect through CAN-FD buses, USB 3.0, Gigabit Ethernet, and power buses.
- Dual power supplies. A 48V lithium battery pack is the main power source. It slides into the rear of the torso and directly supplies both the main control board and the rear interface board. A smaller 30V backup battery supports hot swapping: the rear interface board charges it during normal operation, and it supplies power in the reverse direction during a momentary loss of main power to briefly maintain critical control circuits. The main battery is charged using a 140W charging management board and a custom charging dock.
- Separate application computing and real-time control. The RBE-MAIN-RK3588S main control board has two processors. The RK3588 application processor (6 TOPS NPU, 8GB LPDDR4x, 32GB eMMC) handles inference, vision, speech, and interaction; a 480MHz real-time MCU handles motion scheduling, power sequencing, and hardware emergency stops. Neither preempts the other.
- Distributed joint control. Each joint has a built-in driver that closes the current, velocity, and position loops locally. The main controller sends target positions or torques over CAN-FD and receives position, temperature, and fault codes.
- An independent emergency-stop path. Under the architecture design, emergency-stop signals reach the real-time MCU over a hardwired connection or 433MHz link and directly disable the motors without passing through the operating system.
- Expandable computing. RP1 includes RK3588 ×1 as its base computing module, with an optional development module. RP1 Pro includes RK3588 ×1 + A733 and an Orin NX (16 GB) development module. The rear interface board reserves space for an NVIDIA Jetson NX expansion module and provides USB 3.0, Gigabit Ethernet, Type-C, and multiple power outputs.
Gerber files, BOMs, component placement coordinates, and 3D models for all 14 circuit boards are available in RP1_hardware. For a system overview, see the RP1 Hardware System Architecture PDF in the repository.
Software Stack#
RP1's software has four layers, from bottom to top:
| Layer | Role | Repository |
|---|---|---|
| Board support | Kernel, device trees, bootloader, and image builds; HPM USB-CAN-FD bridge firmware and host tools that expose the robot's CAN-FD bus to Linux over USB; APT repositories and package management | RP1_firmware |
| Device drivers | IMU (HiPNUC), motors (five protocol families: DM / EVO / LRO / RP / XYN), and depth cameras; the Linux driver for RP Hand is maintained separately in roboparty_dexhand | roboparty_deploy, roboparty_dexhand |
| Robot interface | RobotInterface reads robot.yaml and unifies motor IDs, zero positions, directions, parallel-ankle kinematics, and IMU mounting extrinsics into a joint abstraction, providing consistent state and action interfaces to higher layers |
roboparty_deploy |
| Policy execution | ROS 2 inference nodes load ONNX policies, assemble observations according to the configuration, run the network, and send joint commands; control is available through a gamepad, /cmd_vel, and ROS 2 services |
roboparty_deploy |
The drivers and robot interface are implemented in C++ with Python bindings (imu_py, motors_py, and robot_py). You can bypass the inference node and use a few lines of Python to read the IMU, control a single motor, or send actions to the whole robot.
Control Cycle#
The default deployment configuration uses a 4 ms host control step (250 Hz) and runs the policy every 5 steps (50 Hz). A single observation frame for the default 24-axis policy has 81 dimensions:
| Field | Dimensions |
|---|---|
| Body angular velocity | 3 |
| Projected gravity direction | 3 |
| Velocity command | 3 |
| Joint positions relative to the default pose | 24 |
| Joint velocities | 24 |
| Previous action | 24 |
The policy receives a 243-dimensional vector formed by concatenating the latest 3 frames and outputs 24 joint target offsets. These are multiplied by an action scale of 0.25 and added to the default pose, then tracked by the joint drivers using PD control.
Learning and Training#
roboparty_train is a training workspace based on Isaac Sim 5.1.0, Isaac Lab 2.3.2, and RSL-RL. It currently registers the following RP1 tasks:
| Task | Description |
|---|---|
RP1.3-Flat |
Walk on flat ground while following velocity commands |
RP1.3-Rough |
Walk on rough terrain with terrain height scanning enabled |
RP1.3-AMP |
Adversarial motion learning using human motion data as a style prior |
RP1.3-BeyondMimic |
Track a reference motion; a dance motion is included in the repository |
After training, play.py exports the policy in both TorchScript and ONNX formats. The TorchScript version can be used directly in MuJoCo for Sim2Sim checks, while the ONNX version is used for deployment on the physical robot. The deployment repository already includes 24-axis velocity-tracking and dance-motion-tracking policies, which you can use to learn the deployment workflow when you receive the robot.
Companion Components#
RP Hand dexterous hand. A compact dexterous hand for small and medium-sized humanoid robots, with 6 actively controlled axes and 5 additional passive or coupled degrees of freedom, for a total of 11 mechanical degrees of freedom. It uses worm gearing, measures 147.54 × 73.53 × 26.35 mm, weighs 379 g ± 10 g, and offers optional tactile sensing. It connects through CAN-FD and comes with C++ / Python SDKs and ROS 2 nodes.
Gamepad and mobile app. The deployment software supports direct gamepad control: enable motors, reset the pose, start or stop inference, and switch motion sequences, with joysticks controlling walking direction and turning. The roboparty_joystick Android client sends control commands at 50 Hz over UDP or Bluetooth Low Energy. It includes virtual joysticks, an emergency-stop button with confirmation, and skills such as waving, bowing, and dancing, alongside live battery, IMU, and motor status.
Whole-robot testing platform. rp1_test publishes CAD and software for three types of load endurance test rigs covering the arms, torso, and legs, plus drafts of 18 whole-robot reliability test methods to assess whether an RP1 can operate reliably over extended periods.
Open-Source Licenses#
| Content | License |
|---|---|
| RoboParty's own hardware designs (CAD, PCB, wiring harnesses, BOMs) | CERN-OHL-W-2.0 |
| Hardware documentation and explanatory images | CC BY-SA 4.0 |
| Firmware (RP1_firmware) and deployment software packages (roboparty_deploy) | GPL-3.0 |
| Training code (robolab, rsl_rl) | BSD-3-Clause |
Third-party files retain their original licenses. Refer to LICENSE and LICENSES.md in each repository for details.
Repository Guide#
| Repository | Contents |
|---|---|
| RP1 | Project homepage and repository guide |
| RP1_hardware | Mechanical source files, electrical topology, schematics, PCBs, Gerber files, wiring harnesses, BOMs, and assembly materials |
| RP1_description | URDF, MJCF, and 3D meshes |
| RP1_firmware | Linux BSP, USB-CAN-FD bridge firmware, low-level SDKs, and package repositories |
| roboparty_deploy | Device drivers, Python SDK, and ROS 2 inference deployment |
| roboparty_train | Isaac Lab training tasks, policy export, and MuJoCo Sim2Sim |
| rp_dexhand | RP Hand dexterous hand materials and integration guide |
| roboparty_joystick | Gamepad and Android app interfaces |
| rp1_test | Module endurance and whole-robot reliability testing |
Issues and pull requests are welcome in the relevant repository. Including the part number, board revision, or software version helps us identify problems more quickly.