Main Links

The quickest ways to find the project and follow along.

GitHub

Where the repos live — source code, hardware designs, and tools.

Visit GitHub

Hackaday

Project logs for SDA Wonder and the story behind the build.

Visit Hackaday

YouTube

Playlist of SDA-related videos and demos.

Visit YouTube

GitHub Repositories

All SDA source code, hardware designs, and documentation live on GitHub. The project is split across several repositories covering the shared portions of the operating system, firmware "bases" for different platforms, hardware, applications and tools.

SDA OS

The system is divided into a part shared across specific platforms and a part containing drivers for specific hardware.

Main repo: SDA_OS

For historical reasons, some of the main components of SDA_OS are in separate repositories and are included in the main repository as sub-modules.

  • GUI library: GR2

    This library handles the organisation of elements and screens, their rendering and the processing of input.

  • Scripting language: SVS

    SVS is a scripting language in which the applications are written. The repository contains an interpreter for this language as well as documentation and examples.

Note: Developer docs are split between the SVS repo (syntax, base functions, rudimentary examples), the main SDA_OS repo (SDA_OS specific api, callbacks, consts) and the APPS repo (dev example apps, full application sources).

Applications

It contains applications for SDA_OS. The applications are written in the SVS language, so the repository can also serve as a source of sample applications. By its very nature, it is not loaded as a sub-module.The applications are designed to run on any base, provided they do not require specific hardware.

Applications repository: SDA_applications

Hardware base

Each ‘Base’ imports SDA_OS as a submodule. The base repository implements hardware-specific features, such as rendering to a specific display, reading inputs, functions for obtaining the real time, and so on.

  • Linux/Web based simulator: SDA_base_sdl2

    It includes a system simulator for Linux, built using SDL2. It allows you to run and test applications from the comfort of your computer. It also includes an option to build a web-based simulator, which can be found here in the software section.

  • SDA Evo: TODO

    Evo is now work-in-progress.

  • SDA Wonder: SDA_base_Wonder

    SDA_OS base for SDA Wonder hardware.

Software tools

  • P16 Image tools: P16

    SDA_OS uses custom image format, tooling for wich lives in this repo. There is also a web based converter here.

  • SIC image tools: ppm2sic

    It includes tools for converting PPM to its own format for single-colour icons. There is currently no online tool available for this functionality.

  • Font creator: TODO

    Fork of TTF2BMH by JD Morise with added support for emojis and SDA_OS font format. Work in progress, needs a bit of cleanup.

Hardware Designs

Hardware repos contain PCB files in KiCad format and case designs in FreeCad. Final exports for manufacturing should also be there. Beware of "Known bugs" section.

  • SDA Wonder: SDA_Wonder_HW

    Wonder – as in "I wonder if it’ll work..." It turned out it did work.

  • SDA Evo: SDA_Evo_HW

    Evo – Wonder Evolution. Same, but better: more power, more music, more USB-C.
    The source code for Evo Base isn’t public yet; I’m still toying with the idea of trying to sell it, and the need to licence a source-available OS base would be a good form of vendor lock-in. But I’ll probably just give it a miss and publish the repo – if anyone’s interested, do drop me a line.