Back Original

PeppyOS: A simpler alternative to ROS 2 (now with containers support)

PeppyOS 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. PeppyOS streamlines your entire robot stack — sensors, actuators, AI, and controllers — making robotics development accessible even if you've never worked with robots before.

15 minutes to get productive Fully free

Input

{
  // This is an AI brain that can plug to any hardware controller
  schema_version: 1,
  manifest: {
    name: "robot_brain",
    tag: "0.1.0",
    language: "python"
  },
  process: {
    add_cmd: ["uv", "sync"],
    start_cmd: ["uv", "run", "src/main.py"]
  },
  parameters: {},
  interfaces: {
    exposes: {},
    subscribes_to: {
      // The brain receives inputs from sensors
      topics: [
        {
          id: "camera_stream",
          node: "uvc_camera",
          name: "video_stream",
          tag: "0.1.0",
        },
		{
          id: "lidar_sensor",
          node: "rplidar",
          name: "scan",
          tag: "0.1.0",
        },
      ],
      // And emit actions to the controller
      actions: [
        {
          id: "move_right_arm_action",
          node: "openarm01_controller",
          name: "move_right_arm",
          tag: "0.1.0",
        },
        {
          id: "move_left_arm_action",
          node: "openarm01_controller",
          name: "move_left_arm",
          tag: "0.1.0",
        }
      ]
    },
  }
}
{
  // This is an AI brain that can plug to any hardware controller
  schema_version: 1,
  manifest: {
    name: "robot_brain",
    tag: "0.1.0",
    language: "python"
  },
  process: {
    add_cmd: ["uv", "sync"],
    start_cmd: ["uv", "run", "src/main.py"]
  },
  parameters: {},
  interfaces: {
    exposes: {},
    subscribes_to: {
      // The brain receives inputs from sensors
      topics: [
        {
          id: "camera_stream",
          node: "uvc_camera",
          name: "video_stream",
          tag: "0.1.0",
        },
		{
          id: "lidar_sensor",
          node: "rplidar",
          name: "scan",
          tag: "0.1.0",
        },
      ],
      // And emit actions to the controller
      actions: [
        {
          id: "move_right_arm_action",
          node: "openarm01_controller",
          name: "move_right_arm",
          tag: "0.1.0",
        },
        {
          id: "move_left_arm_action",
          node: "openarm01_controller",
          name: "move_left_arm",
          tag: "0.1.0",
        }
      ]
    },
  }
}

Output nodes

camera lidar robot brain hardware controller servo id 1 servo id 2

Your robot stack

Why robotics teams choose PeppyOS

Node-Based Robot Architecture

Define your robot stack as modular nodes — 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. PeppyOS handles orchestration, monitoring, and updates.

Multi-Language Support

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

Built for Performance

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