Powered byPeppyOpen Source Robotics Framework

The robotics framework for simplified robot development.

Peppy is a robotics framework that takes you from development to production at scale, letting you focus on building intelligent robots while we handle the complexity.

Build and deploy robot software with ease. Peppy streamlines your entire robot stack including sensors, actuators, AI, and controllers to make robotics development accessible even if you've never worked with robots before.

15 minutes to get productive · Fully free · Python & Rust

launcher: generic robot

Input · launcher/v1

// This is an example launcher for a generic robot
{
  peppy_schema: "launcher/v1",
  deployments: [
    {
      source: {
        name: "vla_brain:v1",
      },
      instances: [
        {
          instance_id: "ai_brain",
          bindings: {
            torso_camera: "torso_camera",
            left_wrist_camera: "left_wrist_camera",
            right_wrist_camera: "right_wrist_camera",
            robot_controller: "the_controller"
          }
        }
      ],
    },
    {
      source: {
        name: "robot_backbone",
        tag: "v1"
      },
      instances: [
        {
          instance_id: "the_controller",
          bindings: {
            left_robot_arm: "the_left_arm",
            right_robot_arm: "the_right_arm"
          }
        }
      ]
    },
    {
      source: {
        name: "robot_arm:v1",
      },
      instances: [
        {
          instance_id: "the_right_arm",
        },
        {
          instance_id: "the_left_arm",
        }
      ]
    },
    {
      source: {
        name: "depth_camera:v1",
      },
      instances: [
        {
          instance_id: "torso_camera",
          arguments: {
            device_path: "/dev/video0",
            depth: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              depth_format: "z16",
              depth_units_m: 0.001,
            },
          }
        }
      ]
    },
    {
      source: {
        name: "uvc_camera:v1",
      },
      instances: [
        {
          instance_id: "left_wrist_camera",
          arguments: {
            device_path: "/dev/video1",
            video: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              camera_encoding: "mjpeg",
              topic_encoding: "rgb8",
            },
          }
        },
        {
          instance_id: "right_wrist_camera",
          arguments: {
            device_path: "/dev/video2",
            video: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              camera_encoding: "mjpeg",
              topic_encoding: "rgb8",
            },
          }
        }
      ]
    }
  ]
}
// This is an example launcher for a generic robot
{
  peppy_schema: "launcher/v1",
  deployments: [
    {
      source: {
        name: "vla_brain:v1",
      },
      instances: [
        {
          instance_id: "ai_brain",
          bindings: {
            torso_camera: "torso_camera",
            left_wrist_camera: "left_wrist_camera",
            right_wrist_camera: "right_wrist_camera",
            robot_controller: "the_controller"
          }
        }
      ],
    },
    {
      source: {
        name: "robot_backbone",
        tag: "v1"
      },
      instances: [
        {
          instance_id: "the_controller",
          bindings: {
            left_robot_arm: "the_left_arm",
            right_robot_arm: "the_right_arm"
          }
        }
      ]
    },
    {
      source: {
        name: "robot_arm:v1",
      },
      instances: [
        {
          instance_id: "the_right_arm",
        },
        {
          instance_id: "the_left_arm",
        }
      ]
    },
    {
      source: {
        name: "depth_camera:v1",
      },
      instances: [
        {
          instance_id: "torso_camera",
          arguments: {
            device_path: "/dev/video0",
            depth: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              depth_format: "z16",
              depth_units_m: 0.001,
            },
          }
        }
      ]
    },
    {
      source: {
        name: "uvc_camera:v1",
      },
      instances: [
        {
          instance_id: "left_wrist_camera",
          arguments: {
            device_path: "/dev/video1",
            video: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              camera_encoding: "mjpeg",
              topic_encoding: "rgb8",
            },
          }
        },
        {
          instance_id: "right_wrist_camera",
          arguments: {
            device_path: "/dev/video2",
            video: {
              frame_rate: 30,
              resolution: {
                width: 1280,
                height: 720,
              },
              camera_encoding: "mjpeg",
              topic_encoding: "rgb8",
            },
          }
        }
      ]
    }
  ]
}

Output nodes · your robot stack

torso_cameraleft_wrist_cameraright_wrist_cameraai_brainthe_controllerthe_left_armthe_right_arm
1config file
7nodes
6links

Why robotics teams choose Peppy

Node-Based Robot Architecture

Define your robot stack as modular nodes such as cameras, lidar, AI brains, and servo controllers connected through a simple configuration file.

From Prototype to Production

Deploy robot software that scales from a single prototype to a fleet of robots. Peppy handles orchestration, monitoring, and updates.

Multi-Language Support

Write robot nodes in Python or Rust. Peppy connects them seamlessly with low-latency inter-process communication.

Built for Performance

Peppy is written in Rust for maximum throughput and minimal resource usage. Run more nodes on less hardware without sacrificing reliability.