Skip to content

ServoBox πŸ¦ΎπŸ“¦

ServoBox Logo

Launch real-time VMs for robotics in a few steps.

ServoBox gives you Ubuntu 22.04 VMs with PREEMPT_RT kernel, automatic CPU pinning, and IRQ isolation. No manual configuration needed.


πŸš€ Quick Start

Prerequisites: Ubuntu 22.04+ or 24.04, 6, ideally 8+ cores, 8GB, ideally 16GB+ RAM, hardware virtualization enabled (Intel VT-x or AMD-V)

1. Install ServoBox

# Add ServoBox repository using wget (pre-installed on Ubuntu)
wget -qO- https://www.servobox.dev/apt-repo/servobox-apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/servobox-apt-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/servobox-apt-keyring.gpg] https://www.servobox.dev/apt-repo/ stable main" | sudo tee /etc/apt/sources.list.d/servobox.list

# Install
sudo apt update
sudo apt install servobox

2. Configure Host (Required for RT)

# ⚠️ **WARNING:** Check your CPU count first with:
nproc  

#You need 6+, ideally 8+ cores

# Edit GRUB for CPU isolation
sudo vim /etc/default/grub # or with any other editor

# Add the following settings to the GRUB_CMDLINE_LINUX_DEFAULT variable
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash isolcpus=managed_irq,domain,1-4 nohz_full=1-4 rcu_nocbs=1-4 irqaffinity=0"
Finalize with:

sudo update-grub
sudo reboot

3. Create Your First RT VM

servobox init

4. Start and Test

# Configure networking for communication with network devices if needed (interactive wizard)
servobox network-setup

# Start VM
servobox start
# Test RT performance
servobox test --duration 30 --stress-ng
That's it! You now have a real-time, low-latency VM ready for control.

5. Install & run your favorite stack!

# Install robotics software
servobox pkg-install deoxys-control
servobox run deoxys-control

What ServoBox Does

ServoBox automates the complex setup of real-time Linux environments for robotics:

  • πŸš€ One-Command Setup - servobox init creates fully configured RT VMs
  • ⚑ PREEMPT_RT Kernel - Ubuntu 22.04 with kernel 6.8.0-rt8 baked in
  • 🎯 Automatic CPU Pinning - Intelligent CPU isolation and IRQ affinity
  • πŸ“¦ Package Manager - Pre-built recipes for common robotics control stacks
  • βœ… Performance Testing - Built-in cyclictest with stress testing
  • πŸ”§ Zero Configuration - Works out of the box with sensible defaults

Why ServoBox?

Problem: Setting up real-time Linux for robotics is complex and error-prone.

Solution: ServoBox isolates RT workloads to dedicated CPU cores in VMs while keeping your host optimized for ML/vision with full GPU support.

Key Principle: VM handles real-time control, host handles high-level processing.


Architecture Overview

ServoBox follows a host-VM separation architecture optimized for real-time robotics:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Host System (Ubuntu)               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  High-Level Processing                    β”‚  β”‚
β”‚  β”‚  - Perception & Vision                    β”‚  β”‚
β”‚  β”‚  - Planning & Decision Making             β”‚  β”‚
β”‚  β”‚  - User Interfaces                        β”‚  β”‚
β”‚  β”‚  - Development Tools                      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Isolated CPUs (1-4)                      β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚   ServoBox VM (Ubuntu 22.04 RT)     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚   - PREEMPT_RT Kernel 6.8.0-rt8     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚   - Real-Time Control Loops         β”‚  β”‚  β”‚
β”‚  β”‚  β”‚   - Low-Latency Robot Control       β”‚  β”‚  β”‚
β”‚  β”‚  β”‚   - Package recipes (ROS2, etc)     β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  CPU 0: Host + IRQs    CPUs 1-4: RT Isolated    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases

  • Real-time Robot Control - 1kHz+ control loops with deterministic latency
  • Hardware-in-the-Loop Simulation - Test algorithms before hardware deployment
  • Motion Control Development - Isolated environment for time-critical code
  • RT Algorithm Testing - Validate performance before production
  • Robotics Education - Learn RT concepts without bare-metal setup

Documentation


Community & Support

License

ServoBox is licensed under MIT. See the LICENSE file for details.


Ready to dive deeper? Check out the Run Guide for detailed examples and advanced configuration β†’