Badge Software Development

From Open Hardware Miniconf
Revision as of 05:40, 30 December 2020 by Nicola (talk | contribs) (Created page with "{{DISPLAYTITLE:Badge Software Development}} Want to write your own programs to run on your badge? This page gives a brief overview of the software architecture, an example of...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Want to write your own programs to run on your badge? This page gives a brief overview of the software architecture, an example of a program, and a reference guide on how to access the hardware.

Background

The badge runs MicroPython (written by Damien George from Melbourne!) and has the Aiko framework (written by OHMC's Andy Gelme) loaded on it.

MicroPython gives you libraries to access the ESP32 microprocessor functionality. Things like: reading and writing to specific pins on the processor or performing operating system functions such as accessing the file system).

Aiko gives you convenience libraries for driving the badge hardware like the OLED screens, as well as running threads to keep your badge connected to wifi, a connection to the MQTT server, the emergency-stop function to prevent runaway code, and an automatic upgrade function so we can ship upgrades to your device without you having to wrangle git.

Sample code

 

Software reference

MicroPython environment

  • lib path
  • filesystem/module includes

Aiko

MQTT

Hardware reference

OLED screens

Screen buttons

Sliders

SAOs (simple addons)