Introduction – Iottly Docs

Introduction

Iottly is a platform for remote control and telemetry of embedded Linux devices — Raspberry Pi, ARM boards, x86 machines. It lets your engineering team write Python scripts in the browser, flash them to devices over-the-air, send commands, and receive telemetry — all without VPNs, custom servers or touching the hardware.

How Iottly works

The core idea is simple: you write Python code in the Iottly web interface and deploy it to your devices with a single click — Flash over-the-air. The Iottly Agent, installed on each device, receives the new code and runs it.

Communication between devices and the cloud is secured with MQTT + X.509 mutual authentication (client certificates): both the device and the broker verify each other’s identity using an internal CA.

Key concepts

Projects

A project is a collection of devices that share the same hardware architecture and run the same Python scripts. Before connecting any device you must create a project and choose the right device type:

Device typeWhen to use
Raspberry PiRPi boards — agent can interact with GPIOs and I2C
ARMv5ARM7EJ / ARM9E / ARM10E processors (armel, no hardware FP)
ARMv6ARMv6+ processors, e.g. ARM11 (armhf, hardware FP)
AMD64Intel/AMD 64-bit
i386Intel/AMD 32-bit

Management Scripts

Each project has a set of Python scripts, organized in two sections:

  • global — variable definitions, imports, helper functions. Executed once at startup.
  • loop — the main device loop, runs continuously in a dedicated process.

Messages & Commands

You can define structured messages (JSON commands) to interact with your devices remotely. Iottly automatically generates the Python handler function for each message type. The handler receives the command parameters and can reply using the built-in send_msg() function.

The Elastic Pi

Every new account comes with a Getting Started project that includes an Elastic Pi — a virtual device already connected and running in the cloud. It lets you explore all Iottly features without any physical hardware.

Dashboard panels

PanelPurpose
Device ConfigurationSee connected devices and their status
Management ScriptsWrite and edit the Python code (global + loop)
MessagesDefine commands and their JSON structure
ConsoleSend commands interactively to a device
LogsRead messages sent back by the device via send_msg()

Next steps

Follow the Quick Start guide to explore the Getting Started project with the Elastic Pi — no hardware required.