Meta bricked your Portal. Bring it back — as a private voice + vision AI assistant that runs on the device itself.
Quick Start · Full Guide · How it works · Troubleshooting · FAQ
In 2022 Meta discontinued its Portal smart displays and shut down the cloud services that ran them — turning perfectly good hardware into e-waste.
unbrick-portal repurposes that hardware into a self-contained AI assistant. Walk up, tap the glowing orb, talk, and it answers out loud — and can even see through the camera when you ask. The Portal does the listening, routing, and orchestration on its own hardware; only the heavy thinking is handled by cloud AI APIs you control.
🔴 Reality check (read this): this is a DIY weekend project, not a one-tap app. You'll need a computer, a USB-C cable, ~1 hour, and a willingness to follow step-by-step instructions and paste a few commands. It also uses paid AI APIs (typically a few dollars of usage). The Full Guide is written for patient beginners — no prior coding knowledge assumed.
📹 Demo GIF coming soon — record your Portal answering a question and drop it in assets/demo.gif.
- 🎙️ Talk to it — tap the orb, speak, hear a natural spoken reply.
- 👁️ It can see — ask "what do you see?" and the camera turns on only then (privacy-first).
- 🌐 Knows current things — live web search for news, weather, scores, prices.
- 🟢 Reactive orb UI — a calm animated face that pulses to your voice and its reply.
- 🔒 Privacy-first — the camera is off until you ask; your keys stay on your device.
- ⚡ Fast — ~2–4s responses.
- 🔁 True appliance — boots straight to the orb and restarts itself; no laptop needed once set up.
- 🧩 Open & hackable — small, readable code; swap the voice, the model, or the persona.
The Portal orchestrates everything itself and calls cloud AI only for the heavy lifting.
flowchart LR
U([🗣️ You tap & talk]) --> F["🟢 Orb UI<br/>Fully Kiosk WebView"]
F -- "16kHz WAV" --> B["🧠 Brain<br/>Termux · Python"]
B --> S["whisper.cpp<br/>speech → text"]
S --> R{"Router<br/>on-device rules"}
R -- "time" --> T[🕒 local clock]
R -- "see" --> V["📷 camera → Claude vision"]
R -- "news / weather" --> W["🌐 Claude web search"]
R -- "anything else" --> C["💬 Claude Haiku"]
T --> X["🔊 ElevenLabs<br/>text → speech"]
V --> X
W --> X
C --> X
X -- "MP3" --> F
F --> U
On the device: the orb UI, speech-to-text (whisper), and the router/glue. In the cloud (your keys): Claude for answers/vision/search, ElevenLabs for the voice.
Why not run the AI fully on-device?
We tried — a small on-device language model (gemma 1B) was the original plan. On the Portal's older chip it was ~60 seconds per reply and unreliable. So routing stays on-device and instant (simple rules), while the actual answers come from fast cloud models. The device still does all the orchestration itself. (Revisiting on-device models via the chip's AI accelerator is on the roadmap.)
| 📺 A Meta Portal | Built/tested on the Portal Mini (Android 10). Other Portals likely work with tweaks. It must still power on to its home screen. |
| 💻 A computer | Mac, Windows, or Linux — to run a few adb commands over USB. |
| 🔌 A USB-C cable | A data cable (not charge-only) to connect the Portal to your computer. |
| 🔑 Anthropic API key | For the AI brain. console.anthropic.com · ~cents per chat. |
| 🔑 ElevenLabs API key | For the voice. elevenlabs.io · has a free tier. |
| ⏱️ ~1 hour & patience | One careful pass through the guide. |
👉 New to this? Follow the step-by-step Full Guide — it explains every step with zero assumptions. The summary below is the 10,000-ft view.
- Get two API keys (Anthropic + ElevenLabs).
- Enable ADB on the Portal (Settings → tap build number 7×, then turn on ADB Enabled).
- On your computer, install
adband sideload Termux + Termux:API + Termux:Boot + Fully Kiosk to the Portal. - In Termux on the Portal, install the project and run the one-shot setup:
pkg install -y git && git clone https://github.com/MavericksStudio/unbrick-portal cd unbrick-portal && bash scripts/setup-termux.sh
- Add your keys to
~/.portal-agent.env(the setup script shows you how). - Set Fully Kiosk as the home launcher, pointed at
http://127.0.0.1:8088/. - Reboot. It comes up to the talking orb. 🎉
Every one of these is spelled out, with screenshot-level detail, in the Full Guide ».
- Tap the orb → it listens (orb turns green and reacts to your voice).
- Tap again → it thinks, then speaks the answer (orb pulses).
- Try: "What's the capital of France?", "What's the weather in Tokyo?", "What do you see?", "Tell me a joke."
Make it yours: edit brain.json to change the voice (tts_voice_id), the
model (claude_model), or the persona (persona).
The orb shows but nothing happens when I talk
Check the brain is running and your keys are set. In Termux: tail ~/brain-errors.log.
A 401/402 means an API key is missing or unfunded.
It won't search the web / gives old info
Web search uses Claude's web-search tool (needs the Anthropic key). Make sure
ANTHROPIC_API_KEY is in ~/.portal-agent.env.
After a reboot my computer can't see the Portal over ADB
A Portal reboot drops the ADB authorization. On the Portal: Settings → re-enable ADB Enabled and accept the prompt. (The appliance itself doesn't need ADB — only you do, for tweaks.)
Microphone is blocked in the orb UI
In Fully Kiosk → Web Content Settings, enable Camera/Microphone Access, then restart Fully Kiosk so it re-detects the permission.
More in the guide's troubleshooting section.
Is it really free?
The software is free and open source. The cloud AI is pay-as-you-go: Claude costs roughly cents per conversation, and ElevenLabs has a free monthly tier. No Meta account or subscription needed.
Does the camera spy on me?
No. The camera is off until you explicitly ask it to look ("what do you see?"), then it grabs one frame and turns off again. Nothing is recorded or stored.
I'm not technical. Can I really do this?
If you can carefully follow instructions and copy-paste commands, yes. The Full Guide assumes no coding background. Budget an hour and don't skip steps.
Will this work on the bigger Portal / Portal+ / Portal TV?
It's built and tested on the Portal Mini. The others run similar Android-based software and should work with minor tweaks — please open an issue (or PR!) with your results.
- Always-on wake word ("Hey Portal") — no tap needed
- Revisit an on-device model using the chip's Hexagon AI accelerator
- Smart-home / tool integrations
- One-script installer for Windows users
- Custom character avatars (not just the orb)
Contributions welcome — see issues.
Built on the shoulders of great open source:
- be-more-agent by brenpoly — the original local AI-agent project this was forked from (MIT).
- Termux — the Linux environment that makes this possible on Android.
- whisper.cpp — on-device speech-to-text.
- Fully Kiosk Browser — the kiosk WebView shell.
- Anthropic Claude & ElevenLabs — the cloud brain and voice.
MIT — see LICENSE. Do what you like; no warranty.
⚠️ Not affiliated with, endorsed by, or sponsored by Meta. "Portal" is a trademark of Meta Platforms, Inc. This is an independent community project for repurposing hardware you already own.