OS (1)

THE AUTONOMOUS
MOBILITY ENV.

Spiny IDE is a specialized fork of VS Code engineered exclusively for drone and robotics developers. Write code, connect via SSH, and monitor live telemetry—all within a single, unified interface.

DOWNLOAD SPINY v1.0
Control Panel
src/navigation.ts
Spiny Console
// Initialize connection to Spiny device
import { Controller } from '@spiny/hardware';

const drone = new Controller({ url: 'spinyos.local' });
await drone.connect();

// Telemetry streaming channel ready
Ready
WiFi 1 120m 4G 85%

REIMAGINED FOR HARDWARE

We took the world's most popular editor and rebuilt its peripheral systems to interface seamlessly with autonomous hardware.

( 1 ) NATIVE SSH & TELEMETRY

No more external terminal windows. Connect to your drone, run commands, and view persistent real-time states directly inside the editor's live console. Connection drops? Spiny reconnects automatically the moment your vehicle returns to range.

( 2 ) DYNAMIC CONTROL PANEL

A customizable dashboard that replaces the blank welcome screen. Monitor vital systems and interact with your fleet the moment the IDE opens.

( 3 ) HARDWARE STATUS BAR

Battery, signal strength, and distance telemetry injected cleanly into the VS Code status bar. Context-aware and visible only when a device is active.

First-class API integration.

Spiny isn't just a physical wrapper; it comes with a deeply integrated TypeScript API. Import `@spiny/core` and gain immediate access to physical sensors, GPIO pins, and network interfaces without writing boilerplate middleware.

  • ✓ Zero-config serial port access
  • ✓ Pre-built React/Web UI widgets
  • ✓ Typesafe telemetry streams
src/flight-controller.ts
import { Motor, Network } from '@spiny/core';
export async function armSequence() {
  if (await Network.ping() < 50) {
    await Motor.armAll({ throttle: 0.1 });
    console.log('Motors armed.');
  }
}

Never lose a session.

Drones fly out of range. Rovers go behind concrete walls. Spiny's terminal is built specifically for erratic connections. It caches your session, pauses stdin, and silently re-establishes the SSH link the millisecond your hardware is reachable again.

spiny@rover:~$ ping controller
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.2ms
[Spiny] Connection lost. Device out of range.
Reconnecting... (Attempt 4)
[Spiny] Connection restored.
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=2.1ms

Ready to write real-world code?

Join the next generation of autonomous developers.