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

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.