First releases are being built now. Follow the build

  1. Home
  2. Software

Software

Software you can remix.

A Koala board is not finished when it ships. A firmware profile decides what it actually is - and swapping the profile turns the same hardware into a different useful instrument.

The Koala Embedded mascot behind a mixing desk under stage lights, remixing a track.

The idea

One piece of hardware, many useful behaviours

Most development boards are sold once and used for one thing. A profile is the opposite bet: the same board, deliberately given several genuinely different jobs, each one documented well enough to trust.

A profile is three things

A firmware build, the configuration that shapes it, and the documentation that explains both. Ship one without the others and it is not a profile.

Configuration before code

Most changes should be a setting, not a rebuild. When you do need the source, the seams are documented so you know where to cut.

Reversible by design

Every profile documents how to get back - re-flash, recover, or return the board to a known state. A board should be hard to lose permanently.

The kinds of jobs a profile can give a board

These describe the categories being planned, so you can see what “many behaviours” means in practice. They are not released firmware, and none of them can be downloaded yet.

Logging

Planned

Record measurements over time, to storage or to a host, with timestamps you can trust.

Control

Planned

Drive outputs from inputs and rules, on a schedule or a threshold, without a computer attached.

Sensing

Planned

Read a sensor properly - calibration, filtering and units - and present the result in a usable form.

Test

Planned

Turn the board into a bench instrument: a signal source, a bus sniffer, a simple checker for other hardware.

Library

Firmware profiles

Line drawing of the Koala Embedded robotic koala mascot waving.

No firmware published yet

There is nothing to download, and we are not going to invent a version number to make this page look busier. The first profiles arrive alongside the first boards.

Format

What every profile has to document

A profile is only finished when all of this exists. Fields with nothing verified behind them stay visibly empty.

Profile name
What it is called, consistently, everywhere.
Compatible hardware
The exact boards and revisions it runs on.
Purpose
The job it gives the board, in one sentence.
Maturity
Stable, beta, experimental or planned - stated plainly.
Last updated
The date of the current release, or “not yet published”.
Setup instructions
From an unopened box to a working board.
Release notes
What changed, what broke, what to do about it.
Known limitations
The things it does not do yet, written down before you find them.
Flashing and recovery
How to load it, and how to get back if that goes wrong.
Source
A link to the repository, once the GitHub organisation exists.

Flashing

Each profile will name the exact tools and the exact steps for the board it targets - not a generic instruction that assumes you already know. Where a step can damage something, it will say so at that step.

Recovery

Every profile will document the way back: how to re-enter the bootloader, how to reflash from a known state, and what a board looks like when it genuinely cannot be recovered.

Open development

A GitHub organisation is coming

It does not exist yet, so there is nothing to link to and nothing to star. When it is created, this is what will be in it.

Firmware source

The code behind each profile, and the configuration that shapes it.

Example applications

Small, complete, readable programs meant to be copied and changed.

Issue tracking

A public place to report a bug and see whether anyone has answered it.

Tagged releases

Downloads that correspond to a specific commit, with notes attached.

Contribution guidance

Enough detail that sending a pull request is worth the effort.

The Koala Embedded mascot in a spacesuit standing in front of a rocket on a launch pad at sunrise.