Open Source Leg
Menu

Open-Source Leg Software

Modular, extensible software stack for robotics research and development

The Open-Source Leg software platform is designed to be modular and flexible to allow for easy integration with a wide variety of sensors and robotics frameworks. Built around a Raspberry Pi compute platform, our software stack includes Robot CI for automated OS builds and a comprehensive Python SDK with abstract interfaces for device control. This ecosystem enables researchers to focus on their specific research questions rather than infrastructure setup.

Software Principles

Our software development follows core principles that ensure consistency, reliability, and usability across Robot CI and the Python SDK, providing researchers with powerful yet accessible tools.

Open

Both Robot CI and our Python SDK are fully open source with permissive licensing. All code, documentation, and development processes are transparent and accessible. Researchers can inspect, modify, fork, and contribute to every aspect of our software stack, fostering collaborative innovation across the robotics community.

Modular

Our software is designed with clear separation of concerns. Robot CI handles OS provisioning independently, while the Python SDK provides discrete modules for actuators, sensors, and control logic. Each component can be used independently or combined seamlessly, allowing researchers to adopt only what they need.

Extensible

Built around abstract base classes and plugin architectures that encourage customization. Add new sensors, implement custom actuators, or extend Robot CI workflows without modifying core functionality. Our software is designed to grow with your research needs and evolving hardware requirements.

Robot CI

Whether you're a researcher working with the Open-Source Leg platform, a student working on course projects, or a hobbyist building your next robot, setting up and maintaining consistent development environments is a time-consuming challenge that takes focus away from what really matters

Challenges we addressed

These common development obstacles led us to create Robot CI

Repetitive Setup

Hours spent manually configuring each Raspberry Pi with the same packages, users, and network settings. Every new device means starting from scratch.

Environment Drift

"It works on my Pi but not yours." Inconsistent environments lead to debugging nightmares and make collaboration difficult.

Onboarding Friction

New team members, students, or collaborators spend days just getting their development environment working before they can contribute.

Our Solution

Define your entire development environment as code, build it automatically with GitHub Actions, and deploy consistent, reproducible systems in minutes instead of hours. Perfect for research labs, educational projects, hobby builds, and commercial robotics development.

Loading diagram...

Sequence diagram demonstrating the complete workflow from repository setup to establishing a remote development connection.

Version-Controlled OS

Track and manage your robot environment in code. Enable reproducible builds with GitHub Actions, easy rollbacks, and seamless collaboration across your research team.

Remote Development

Optimized headless server images with automatic IP notifications via email. Develop remotely using VS Code without ever needing physical access to your robot.

Customizable Environment

Pre-install drivers, custom packages, and configure services automatically. Tailor the environment to your specific research needs without manual intervention.

Network Auto-Config

Automatically connects to WiFi networks and establishes a fallback access point when no networks are available, ensuring continuous connectivity for development.

opensourceleg SDK

A comprehensive Python SDK that provides standardized interfaces for common actuators and sensors, ready-to-use implementations for popular hardware components, and an extensible architecture for custom robotics applications.

Challenges we addressed

These common development obstacles led us to create the OpenSourceLeg SDK

Hardware Integration

Each actuator and sensor requires custom drivers, communication protocols, and calibration procedures. Researchers spend weeks just getting hardware to talk to their code.

Inconsistent APIs

Every component has its own API, units, and conventions. Switching between different sensors or actuators means rewriting significant portions of your control code.

Reinventing the Wheel

Common robotics tasks like real-time control loops, data logging, and safety monitoring are implemented from scratch for every project, leading to bugs and wasted time.

Our Solution

The opensourceleg Python SDK provides a unified interface for robotics hardware, comprehensive utilities for control and data collection, and extensive documentation with examples.

Class diagram demonstrating the architecture and extensibility of the opensourceleg library.

Standardized Interfaces

Consistent APIs across all actuators and sensors. Switch between different hardware components without changing your control code. All components follow the same patterns and conventions.

Hardware Support

Ready-to-use implementations for Dephy actuators, AS5048B encoders, Lord Microstrain IMUs, and more. Each component includes comprehensive testing and documentation.

Control Utilities

Built-in real-time control loops, finite state machines, compiled controller support, and safety monitoring. Everything you need for robust robotics control.

Data & Logging

Comprehensive logging system with variable tracking, automatic CSV generation, and configurable output formats. Capture all the data you need for analysis.

Community Driven

Our software is a community-driven effort, and we welcome contributions of all kinds! Whether you're reporting bugs, adding features, improving documentation, or sharing your research, every contribution helps advance robotics research for everyone.