In development. The first aircraft is on the bench, and nothing is for sale yet.
OchoaLabsFlight systems

Downloads

The configurator

One program for the whole board: setup, calibration, motor test, flight logs and firmware updates. It is free, it needs no account, and it checks its own updates against a signature rather than against our word for it.

Checking what is published…

Every platform

macOS builds come last. Building, signing and notarising a Mac application needs a Mac, and there is not one on the bench yet. Windows and Linux builds come from the same machine the firmware is built on.

Firmware

Images for the board

You almost never need these: the configurator offers new firmware on its own, downloads it and sends it over USB. They are here because a thing you cannot download yourself is a thing you do not really own.

Version Board Slot Released sha256 File
Checking what is published…

Why there are two of each version. The board keeps two copies of the firmware and always writes the one it is not running, so an update cannot damage the copy that flies. An image is built for one slot and runs nowhere else. The tool asks the board which slot it is in and picks the other; if you are doing it by hand, so must you.

Verify

Checking what you downloaded

The tool and the board already do this, with keys, every time. These commands are for the person who would rather see it themselves, and for the day this server is not us.

The hash, on any machine

Compare the output with the sha256 shown in the tables above.

sha256sum OchoaLabs-Bench-*.AppImage        # Linux
shasum -a 256 OchoaLabs-Bench-*.dmg        # macOS
Get-FileHash .\OchoaLabs-Bench-*.exe       # Windows

The signature, which is the real check

Every firmware image carries an Ed25519 signature the bootloader checks against the key inside the chip. A hash that matches a manifest proves nothing if the server wrote both. The installers carry a signature the running configurator checks before it launches anything it downloaded.

A server we lost control of could stop giving you updates. It could not give you a false one. The long version.