Skip to content

Labs firmware (0.0.0)

The labs firmware is the phone firmware plus a set of experiments. It’s built separately from the phone’s own firmware (the 0.9 line), so the phone stays as it is, and you can switch between the two over USB at any time: your settings are kept.

The experiments that proved themselves are in the phone firmware now: the house intercom, the chime and the daily check-in, turned on per phone in the app. Labs builds on them.

House intercom

A key rings another room: lift, press “Kid’s room”, talk. “All” rings every room and the first to lift answers. Phones talk straight to each other on your Wi-Fi: no server, no internet. Uses the phone’s own intercom, so turn it on for the phone in the app.

Doorbell or front desk

A phone by the door: its key (or, in doorbell mode, any key) rings the phones inside with the door’s name. Whoever lifts talks to whoever is at the door.

Dinner's ready

One key and every phone on the intercom beeps and shows the words.

Daily check-in

Reminders such as 08:30 PILLS show until a key is pressed, and a key can be “I’m OK” for the phone’s daily check-in (its time is set in the app).

Home panel

A key calls a Home Assistant service (lights off, a scene), and the idle screen can show a status such as GARAGE: OPEN, refreshed every minute.

Dial-a-story

A key plays a recorded story in the handset from any web server on your network. 1 plays it again, 2 the next one, BACK stops.

Macro pad

The phone becomes a USB keyboard: keys send shortcuts, mute, play/pause or volume. Twelve mechanical keys and a hook switch on your desk.

Games

Press MENU ten times: 1 Snake on the e-paper screen (3, 8, 7 and 9 steer), 2 Memory (watch the digits, key them back). BACK leaves.

Build and flash it from the repository (ESP-IDF 5.5, see the firmware reference):

Terminal window
firmware/labs/labs.sh build # build
firmware/labs/labs.sh flash # build and flash the board on USB

Then on the phone press MENU, then 4 LABS (or 3, then 2, when 4 is the phone’s intercom or chime): it shows the phone’s address (for example OLP-KITCHEN.LOCAL) and a PIN. Open that address in a browser on the same Wi-Fi, enter the PIN, and set the room name, the mode, what each key does, Home Assistant, the reminders and the doorbell. Keys you leave as “phone” stay the server’s speed-dial keys.

To go back to the regular phone firmware, flash it from firmware/ the usual way.

  • The intercom, doorbell and chime work on your own home network, among phones of the same household with the intercom on: their messages are signed and their audio is encrypted with the household’s intercom key, which the phones get from their server once.
  • The Home Assistant token is write-only: the settings page never shows it again.
  • In macro-pad mode the USB port is a keyboard, so the USB console is off and flashing may need the BOOT button held.

Every setting, the key actions and the intercom’s messages on the wire are in the labs firmware reference. Ideas for where these fit: shared houses, grandparents, front desks, makers.

Proudly supported by unsubscribe.llc · Sponsor the project