◆ Bifrost · the rainbow bridge

The bridge to the physical world.

A native Home Assistant device, built from a spare Android tablet

In the old stories, Bifröst is the burning rainbow bridge that joins the realm of the gods to the world of mortals. This one joins your smart home to the physical edge of every room: install one app and a spare Android tablet or phone becomes a native Home Assistant device — Bluetooth proxy, sensors, media player, camera, voice satellite, and more — speaking ESPHome's own protocol, with no add-on and no webview.

1 app
turns any Android 6.0+ tablet or phone into a full Home Assistant device — old hardware, new life.
native
it speaks ESPHome's own protocol straight to Home Assistant — no add-on, no webview, no MQTT, no cloud.
29
audio-reactive music-visualizer effects, all rendered natively and in per-room sync with the sound.
What it does

One device, many entities

Each capability is a self-contained module that registers its own Home Assistant entities — turn on only what a given device should be.

Native ESPHome device

A from-scratch implementation of the ESPHome native API in Kotlin. The tablet advertises itself over mDNS and Home Assistant discovers and adds it automatically — exactly as it would an ESP32. No add-on, no integration to install, no IP to type.

Bluetooth proxy

Acts as a full ESPHome Bluetooth proxy, relaying nearby BLE devices to Home Assistant. Drop a tablet in a far room and your sensors, thermometers, and trackers reach the hub from wherever its Wi-Fi does.

Device sensors

Battery level and charging state, illuminance, and more surface as proper HA sensors — so automations can react to the device's own context, from a dimming room to a tablet that's been unplugged.

Multi-room media player

A real Home Assistant media_player: the device becomes a synced audio endpoint. A latency-aligned streaming protocol keeps every room locked in time, so the same track plays in step across the house.

Live camera

Turns the device camera into a Home Assistant camera — hardware H.264 with RTSP, WebRTC, and MJPEG outputs, plus resolution and rotation controls. A wall tablet doubles as a doorway or nursery cam.

Voice assistant satellite

A full Assist satellite: open-wake-word detection, Silero voice-activity detection, an ambient streaming pipeline, mic-mute control, a soft wake chime, and a rainbow-bridge edge-glow overlay that tracks listening, thinking, and replying.

Kiosk & screen control

Everything a wall panel needs: brightness control, motion-aware auto-dim, a launcher mode, idle watching, dashboard reloads, a photo-frame slideshow backed by your own library, and a screensaver "dream clock."

Native music visualizer

29 audio-reactive effects — neon cyber-grids, aurora waves, fireworks, fluid smoke, fractal orbs — drawn on a Compose canvas from a live FFT of the very audio the device is already playing, so it's in perfect per-room sync. No browser, no third-party client.

Ambient light sync

Drives WLED matrices and smart bulbs to match what's playing — the room's lighting moving with the music or the moment, an extra surface for the same now-playing signal.

How it works

A phone that speaks ESP32

The trick is honesty about the protocol: instead of bolting on a custom integration, Bifrost talks to Home Assistant the way the firmware it impersonates does.

  1. The protocol core. A native Kotlin implementation of the ESPHome native API — length-prefixed protobuf frames over a plain TCP socket — so Home Assistant talks to the tablet with the integration it already ships.
  2. Zero-config discovery. The device publishes itself over mDNS; Home Assistant finds it on the network and offers to add it, no manual IP or pairing step.
  3. Modular capabilities. BLE, camera, voice, media, sensors, and screen each live in their own feature module that registers its own entities — enable per device, so a kitchen photo-frame and a doorway camera node run the same app with different jobs.
  4. 100% native rendering. Every screen mode — visualizer, slideshow, dream clock, the voice overlay — is drawn with Compose Canvas off the audio and sensors the device already handles. No embedded webview anywhere.
Why it exists

Old hardware, made sovereign

The drawer full of retired tablets and phones is some of the most useful smart-home hardware you already own — once it speaks the right protocol.

A commercial smart display rents you a screen that phones home. Bifrost does the opposite: it takes a device you already own, gives it a real job in a system you control, and adds it to Home Assistant as a first-class citizen — no cloud account, no subscription, no telemetry. The same conviction that runs through the rest of the flock, pointed at the physical edge of the home.

And because every capability is a toggle, one APK covers a wall-mounted dashboard, a kitchen photo frame, a doorway BLE-and-camera node, and a whole-home music endpoint — each device doing only what that spot needs.

What to run it on

A second life for a drawer of devices

Wall panel — a mounted tablet as a live Home Assistant dashboard Photo frame — a kitchen tablet cycling your own library Camera node — a doorway phone as a BLE proxy + camera Music endpoint — a synced speaker with a live visualizer Voice satellite — hands-free Assist in any room

Source release in prep — Bifrost is being published under the MIT license alongside the rest of the flock.