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.
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.
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.
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.
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.
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
These common development obstacles led us to create Robot CI
Hours spent manually configuring each Raspberry Pi with the same packages, users, and network settings. Every new device means starting from scratch.
"It works on my Pi but not yours." Inconsistent environments lead to debugging nightmares and make collaboration difficult.
New team members, students, or collaborators spend days just getting their development environment working before they can contribute.
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.
Track and manage your robot environment in code. Enable reproducible builds with GitHub Actions, easy rollbacks, and seamless collaboration across your research team.
Optimized headless server images with automatic IP notifications via email. Develop remotely using VS Code without ever needing physical access to your robot.
Pre-install drivers, custom packages, and configure services automatically. Tailor the environment to your specific research needs without manual intervention.
Automatically connects to WiFi networks and establishes a fallback access point when no networks are available, ensuring continuous connectivity for development.
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.
These common development obstacles led us to create the OpenSourceLeg SDK
Each actuator and sensor requires custom drivers, communication protocols, and calibration procedures. Researchers spend weeks just getting hardware to talk to their code.
Every component has its own API, units, and conventions. Switching between different sensors or actuators means rewriting significant portions of your control code.
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.
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.
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.
Ready-to-use implementations for Dephy actuators, AS5048B encoders, Lord Microstrain IMUs, and more. Each component includes comprehensive testing and documentation.
Built-in real-time control loops, finite state machines, compiled controller support, and safety monitoring. Everything you need for robust robotics control.
Comprehensive logging system with variable tracking, automatic CSV generation, and configurable output formats. Capture all the data you need for analysis.
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.