Summary
The goal is to develop a cohesive, beginner-oriented ecosystem that replicates the “Arduino experience” with a safe, Ada-centric workflow. At its center is a simplified IDE—the Hub—which abstracts away the complexities of toolchain management by integrating Alire as a first-class citizen. This project seeks to provide a “plug-and-play” path for students and makers.
Rationale: The Post-Arduino Landscape
The recent acquisition of Arduino by Broadcom marks a pivot toward corporate enclosure. With the introduction of proprietary “App Labs” and a shift toward subscription-based cloud services, the maker community is facing a loss of sovereignty over their own code and hardware.
While the “Arduino way” was always technically limited, its simplicity was its strength. We now have an opportunity to offer a superior alternative: an ecosystem that is just as easy to use but built on the rock-solid foundations of Ada. By moving the community toward an open, Alire-powered stack, we ensure that the next generation of embedded developers isn’t locked into a single vendor’s proprietary cloud.
The “Hub” Concept: Simplicity by Design
The central pillar of this ecosystem is a dedicated IDE. Unlike GNAT Studio (GPS) or the highly extensible VS Code, this Hub is designed to do only one thing: get code onto a chip.
Key Features:
- Alire-First Workflow: The Hub acts as a visual wrapper for Alire. Beginners shouldn’t have to learn the CLI to add a driver. Adding a “NeoPixel” or “OLED” library should be a single-click action that updates the
alire.tomlin the background. - Zero-Configuration: Following the “no-hassle” spirit of projects like LEA (Lightweight Editor for Ada), the Hub will bundle or auto-download the necessary cross-compilers via Alire upon first launch.
- Context-Aware Scaffolding: The IDE will provide templates for packages with explanation of typical aspects like “Pure”, “Preelaborate”, “Elaborate_Body” and so on.
Synergies and Foundations
We aren’t starting from scratch. This proposal seeks to unify existing high-quality community efforts:
- Tooling: We can leverage the lightweight architecture of LEA 0.93 as a starting point for the editor, focusing on its small footprint and responsiveness.
- Hardware Support: Community runtimes runtimes (specifically the
light,light-tasking, andembeddedprofiles bydamaki) provide the perfect foundation. It should be extended for affordable maker chips like ESPs. - Drivers: We will utilize the Ada Drivers Library (ADL) to provide a consistent experience for all supported targets.
Comparison: A Shift in Philosophy
| Feature | The Legacy “Arduino” (Broadcom) | The Ada Hub Ecosystem |
|---|---|---|
| Backend | C++ (with “Magic” Pre-processor) | Pure Ada / SPARK |
| Package Management | Manual .zip or Library Manager |
Alire (Versioned, Reproducible) |
| IDE | Cloud-tethered “App Labs” | Local-First, Open Source |
| Safety | Runtime crashes, “Silent” failures | Compile-time safety |
Call for Collaboration
To move this from a proposal to a working environment, I am looking for community input on:
- The “Standard Library” for Beginners: What features should or intentionally should not be used in the HAL (e.g. interrupts, DMA)?
- UI/UX Implementation: Should we build on top of LEA, or develop an IDE the runs in the browser and requires zero installation?
- Tutorials: We need contributors to port classic Arduino “sketches” to this new Ada ecosystem, emphasizing how Ada’s
rangetypes andrepresentation clausesmake hardware interaction clearer.
The pieces—Alire, LEA, and the community runtimes—are already here. We just need to build the Hub that brings them together for the next generation of makers.