Skip to content

Firmware 1.0.0

Choose a tag to compare

@LearnWeaver LearnWeaver released this 29 Aug 01:24
· 2 commits to main since this release

First released firmware for the BBR Digital Expander.

What to download

bbr-digital-expander-1.0.0.uf2 — the firmware image. A UF2 is a drag-and-drop format: the board appears as a USB drive called RPI-RP2 and you copy the file onto it. Nothing to install.

Full instructions, including how to get the board into bootloader mode over I2C without touching it: Updating the firmware

sha256  3c0f37291b0c356eed66aff111e9a204077dc14e6822a2d9425c2c24c53438ca

What this firmware is

Protocol contract 1.1 — the register map every driver here is written against. The board reports 1.0.0 in its FW_VERSION registers, so what a device-info readout prints matches this release.

  • Four quadrature encoder channels, individually switchable to pulse-width absolute encoders, with velocity computed on the board
  • Four sensor ports, colour or distance in any mix, with type detection and on-board colour classification into seven taught slots
  • Four digital outputs driven by the board itself from a taught colour, a distance window, an encoder threshold or a heading — level, latched or pulse
  • IMU heading and a fused dead-wheel odometry localizer, pose CRC-checked on the wire
  • Configuration persisted to flash, with wear levelling across two slots

Your configuration survives the update

Taught colours, trigger configuration, encoder directions, localizer parameters and PWM calibration are stored in a flash region this image does not reach. Flashing it does not erase them.

Compatible drivers

Platform Driver
FTC (Java) DigitalExpander — this repository
Arduino (C++) DigitalExpander-Arduino
Raspberry Pi (Python) DigitalExpander-Python

All three speak protocol 1.x and refuse to start against a firmware whose protocol major they do not know, rather than reading a register map that may have moved underneath them.