Quickstart Guide

Get up and running with Spiny IDE in less than 5 minutes. This guide will walk you through setting up your first autonomous mobility project.

Note: Ensure you have Node.js 18+ installed on your system before beginning.

1. Installation

Download the Spiny binary for your operating system and move it to your Applications folder. Once installed, log in via the Spiny CLI to sync your hardware keys.

$ spiny login
$ spiny init my-drone-project

2. Connect to Hardware

Open the Control Panel and select "Add Device". Spiny will automatically scan your local network for compatible SpinyOS devices. Select your device and enter the SSH credentials.

3. Your First Script

Create a file named index.ts and import the core hardware library. This script will arm the motors and return a simple telemetry stream.

import { Motor } from '@spiny/core';

export async function main() {
  await Motor.armAll();
  console.log('System Ready.');
}

Core Concepts

Spiny is built around the concept of Asynchronous Robotics. Every hardware interaction is non-blocking, allowing your scripts to maintain high-frequency control loops while processing mission-critical data.

Note: Spiny uses a virtualized hardware layer (VHL) that abstracts physical GPIO and UART interfaces into high-level TypeScript objects.

Hardware API

The Hardware API allows you to interact with motors, servos, and sensors. Use the Motor class to control brushless and brushed motors with built-in PID stability.

const motor = new Motor({ pin: 'PWM_1', type: 'ESC' });
motor.setPower(0.5); // 50% power

Telemetry API

Stream real-time data from your robot to the Spiny Desktop interface. Supported data types include vectors, heatmaps, and raw logging streams.

Telemetry.push({
  altitude: sensor.getAltitude(),
  heading: sensor.getHeading()
});

Network API

Manage peer-to-peer communication between multiple robots or connect your fleet to a centralized ground station via encrypted WebSockets.

Drone Configuration

Configure quadcopter, hexacopter, or custom VTOL airframes using the Airframe configuration module.

Rover Setup

Setup differential drive or Ackermann steering for land-based autonomous vehicles.

Custom Extensions

Build your own plugins to extend Spiny's capabilities. Extensions can add new UI components to the dashboard or support for proprietary sensors.