Skip to content

Rooster Wake firmware 2.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 09:40
· 46 commits to main since this release

Install

You do not need a toolchain. Pick whichever suits you:

  1. Browser — open https://setup.roosterwake.com, plug the dongle in, and
    follow the steps. It writes both files for you. Chromium-based browsers only
    (Web Serial and WebUSB).
  2. Drag and drop — hold BOOTSEL while plugging the board in, then copy
    loader onto the drive that appears. The board restarts, finds no
    firmware and comes back as a drive by itself; copy -install onto it.
  3. Already flashed — kits ship ready to go; just plug it in.

Copy them one at a time. A single file spanning both regions loses whichever
region's blocks arrive last, in either order, and leaves one of them erased.

Board Loader Firmware
Pico 2 W (RP2350) — the product loader-2.3.0-pico2_w.uf2 roosterwake-2.3.0-pico2_w-install.uf2
Pico W (RP2040) loader-2.3.0-pico_w.uf2 roosterwake-2.3.0-pico_w-install.uf2

The two boards are not interchangeable. RP2040 firmware on an RP2350 does not boot.

Configuration in flash survives a firmware update, so a device reflashed this
way comes back already provisioned.

Updating over the air

The .rwfw files are signed firmware images. They are not flashed by hand —
the relay streams one to a device over its existing connection, and the device
checks the signature against a key compiled into the image already running. Each
release carries one per slot because firmware executes in place and is linked at
the address of the slot it occupies; a device is offered the one built for the
slot it is not running from.

A device that updates gets three boots to reach the relay. If it cannot, the
loader returns to the previous image on its own.

Verify downloads against roosterwake-2.3.0.sha256.

Flash used: 509128 bytes on the Pico 2 W of
720,896 available per slot; 524812 on the Pico W.

Changes

  • Firmware 2.3.0
  • A device that cannot reach the relay now recovers, and says why
  • PROTOCOL: the rdp capability and the frame pair it gates
  • docs: /v1/me and the entitled flag
  • docs: DOWNLOADS.md -- the direct-download reference
  • PROTOCOL: the adopt frame's token extension, documented
  • docs: the audit export -- row schema, CSV columns, paging, retention
  • docs: the hosted REST API, now that clients beyond ours speak it
  • README: voice is free, and the agent exists
  • PROTOCOL.md: the other half of the power button