Skip to content
PlatformGo / TypeScriptMIT · v0.1.0High — Core Service

EoS Platform — Device Management & OTA

Fleet Management · OTA Updates · Telemetry · Remote Debug

The cloud-side platform for managing EoS device fleets. Provides over-the-air firmware updates, device telemetry, remote debugging, configuration management, and a REST API for integration with existing DevOps pipelines.

OTA
Firmware Updates
REST
Management API
A/B
Safe Rollout
TLS
Secure Telemetry

How It Works

Step-by-step flow — from initialization to output.

1

Register Devices

Each EoS device registers with the platform at first boot using its eBoot-derived device identity. The platform issues a device certificate that is used for all subsequent communication.

// Device registration (runs at first boot)
#include <eos_platform/client.h>

void platform_register(void) {
    // Derive device identity from eBoot TPM
    uint8_t device_id[32];
    eboot_derive_key(device_id, "eos_platform_id");

    // Register with platform
    eos_platform_register(
        "https://platform.embeddedos.org",
        device_id,
        FIRMWARE_VERSION
    );
}
2

Push OTA Updates

Upload a signed firmware image to the platform and target a device group for update. The platform delivers the update to devices via HTTPS, and eBoot's A/B mechanism handles the safe rollout.

# Upload firmware to platform
eos-platform firmware upload build/firmware.eos \
    --version 1.2.0 \
    --release-notes "Bug fixes and performance improvements"

# Deploy to 10% of fleet (canary)
eos-platform deploy firmware/1.2.0 \
    --group production \
    --canary 10%
3

Monitor Telemetry

Devices send telemetry (CPU, RAM, temperature, error logs) to the platform via TLS-secured HTTPS. The platform dashboard shows fleet health in real time.

// Device-side telemetry reporting
#include <eos_platform/telemetry.h>

void telemetry_task(void *arg) {
    for (;;) {
        eos_platform_telemetry_t t = {
            .cpu_pct   = eos_cpu_usage(),
            .ram_free  = eos_mem_free(),
            .temp_c    = eos_hal_temp_read(),
            .uptime_s  = eos_uptime_s(),
        };
        eos_platform_send_telemetry(&t);
        eos_task_delay_ms(60000); // Every 60 s
    }
}
4

Remote Debug

Open a secure tunnel to a device for remote GDB debugging or shell access. The tunnel is authenticated with the device certificate and authorized by the platform.

# Open remote debug tunnel
eos-platform debug device/node-42 --gdb
# Tunnel open: localhost:3333 → node-42:3333

# Connect GDB
arm-none-eabi-gdb firmware.elf
(gdb) target remote localhost:3333

Usage Examples

Real-world scenarios showing EoS Platform in action.

Fleet OTA Rollout

Rolling out a security patch to 10,000 industrial sensors with automatic rollback on failure.

# Staged OTA rollout
# Phase 1: 1% canary (100 devices)
eos-platform deploy firmware/1.2.1 --group industrial --canary 1%

# Monitor for 24 hours
eos-platform deploy status firmware/1.2.1
# Healthy: 99/100 devices updated successfully
# 1 device rolled back (watchdog timeout)

# Phase 2: 10% rollout
eos-platform deploy firmware/1.2.1 --group industrial --canary 10%

# Phase 3: Full rollout
eos-platform deploy firmware/1.2.1 --group industrial --canary 100%

Features

The shape of EoS Platform at a glance.

OTA Firmware Updates

Signed firmware delivery to device fleets. Staged canary rollouts with automatic rollback.

Fleet Management

Device registry, group management, and bulk operations via REST API and web dashboard.

Telemetry Pipeline

Real-time device health metrics (CPU, RAM, temperature, errors) with alerting.

Remote Debug

Secure GDB tunnel and shell access to any registered device.

Configuration Management

Push configuration changes to device groups. Version-controlled config history.

REST API

Full REST API for integration with existing DevOps pipelines (GitHub Actions, Jenkins, etc.).

A/B Rollout

Canary deployments with automatic rollback if devices fail to mark firmware healthy.

Audit Log

Immutable audit log of all platform operations for compliance and forensics.

Role in the EoS Ecosystem

Why EoS Platform matters — and what breaks without it.

EoS Platform is the bridge between the EoS device ecosystem and the cloud. Without it, managing a fleet of EoS devices at scale — pushing firmware updates, monitoring health, debugging issues — would require manual intervention on each device. EoS Platform makes EoS deployments production-ready: it provides the OTA infrastructure that eBoot's A/B slots are designed for, the telemetry pipeline that operations teams need, and the remote debug capability that reduces on-site service calls. It is the component that turns EoS from a development platform into a production fleet management system.

Depends On

eBoot — A/B update slots are the delivery mechanism for platform OTA updates
EoS Kernel — device identity and telemetry APIs
eDB — device configuration and update history stored on-device
EIPC — platform client communicates with device services via EIPC

Enables / Powers

Production EoS deployments — any fleet of EoS devices at scale
DevOps pipelines — REST API integrates with existing CI/CD workflows
Operations teams — real-time fleet health monitoring and alerting
Field service teams — remote debug reduces on-site service calls

Open source on GitHub

MIT licensed and developed in the open. Issues, discussions, and pull requests welcome.

⌥ embeddedos-org/eos
Device Management & OTA
Go / TypeScriptMITv0.1.0
Open ↗

In the EoS stack

EoS Platform is highlighted in the layer below.

App layer
UI / browser layer
Data layer
AI runtime
Neural interface
IPC fabric
EoS kernel + HAL
eos-platform profile
eBootloader
Build / IDE / Sim

Technical Specifications

Deployment ModelSaaS (platform.embeddedos.org) or self-hosted (Docker)
APIREST + WebSocket for real-time telemetry
AuthenticationDevice certificates (eBoot-derived); OAuth 2.0 for operators
Transport SecurityTLS 1.3 for all device-to-platform communication
OTA ProtocolHTTPS with Ed25519-signed firmware images
Telemetry Retention90 days (SaaS); configurable (self-hosted)
LicenseMIT (self-hosted); SaaS pricing TBD