Skip to main content
Substrate is a desktop development environment for robotics engineers. It combines a full code editor, physics simulation management, 3D visualization, and telemetry analysis into a single native application. Instead of switching between a text editor, terminal windows, RViz, PlotJuggler, and QGroundControl, you work in one integrated workspace. Substrate is designed for teams building with PX4, ArduPilot, ROS 2, and Gazebo. It runs locally on your machine with GPU-accelerated rendering and connects to both simulated and real hardware over MAVLink or ROS 2 topics.

The Workflow

A typical development cycle in Substrate follows four stages:
1

Write

Edit flight controllers, ROS 2 nodes, or mission scripts in the built-in code editor. Language Server Protocol support provides autocompletion, diagnostics, and go-to-definition across Python, C++, Rust, and more. Tree-sitter powers syntax highlighting for instant feedback as you type.
2

Simulate

Launch a PX4 SITL or Gazebo simulation directly from the editor. Substrate manages the Docker containers, monitors readiness indicators, and tells you when the simulated vehicle is ready to fly. No terminal juggling required.
3

Visualize

Inspect the simulation in real time through the 3D viewer. View URDF and SDF models, TF transform trees, sensor data overlays, and collision geometry. Telemetry plots update live alongside the 3D scene.
4

Deploy

Connect to real hardware over MAVLink or ROS 2. The same visualization and telemetry tools work with physical vehicles, so you can validate behavior on real systems using the same interface you used in simulation.

Core Capabilities

AI Assistant

An integrated AI agent that can control simulations, inspect telemetry, and execute mission commands through natural language. Ask it to take off, run a waypoint mission, or diagnose a sensor failure.

3D Visualization

GPU-accelerated 3D viewer for URDF and SDF models with real-time TF tree rendering, collision geometry overlays, and interactive camera controls. Supports entity selection, pose editing, and transform gizmos.

Telemetry and Plotting

Live and recorded telemetry plots for MAVLink messages, ROS 2 topics, and ULog data. Drag-and-drop channels onto plot groups, synchronize time cursors, and zoom into microsecond-level detail.

Data Playback

Open ULog files and MCAP recordings with synchronized multi-panel playback. Scrub through time and every panel — 3D viewer, plots, GPS map, log messages — updates together.

Simulation Management

Launch, monitor, and control PX4 SITL and Gazebo environments from within the editor. Readiness indicators track EKF convergence, GPS lock, and sensor health. Supports multi-vehicle scenarios and custom world files.

Code Editor

Full-featured text editor with LSP integration, tree-sitter syntax highlighting, multi-cursor editing, Vim keybindings, and split panes. Built on a rope-based text buffer for responsive editing even on large files.

Why It’s Fast

Substrate is written in Rust with GPU-accelerated rendering via wgpu. There is no Electron, no bundled Chromium, and no JavaScript runtime.
  • Local text buffer. Keystrokes are handled in the UI process on your machine. Editing never crosses a network boundary, even when the workspace proxy runs remotely.
  • GPU rendering. The 3D viewer, text rendering, and UI compositor run on the GPU through Vulkan, Metal, or DirectX 12. Complex scenes with thousands of entities render at full frame rate.
  • Split architecture. Heavy operations — LSP, file I/O, Docker management, simulation streaming — run in a separate proxy process. The UI thread is never blocked by disk or network activity.
  • Low memory footprint. No browser engine means Substrate uses a fraction of the memory of Electron-based tools.