The bridge to the physical world.
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.
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.
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.
- 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.
- 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.
- 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.
- 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.
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.
A second life for a drawer of devices
Source release in prep — Bifrost is being published under the MIT license alongside the rest of the flock.