What's new · Built on EchoLocal · Why · Screenshots · Stock vs TECHO5 · Install · Under the hood · Credits · TECHO5 ATHENA · TECHO5 Dot · TECHO5 Spot
--- > **New: the Echo Show 8 2nd gen (2021, `athena`) runs TECHO5 on a 64-bit mainline Linux kernel.** > The story, the board and the UART pads: [TECHO5 ATHENA](https://github.com/HuskerMinion/techo5-athena). > Install: [docs/install-athena.md](docs/install-athena.md). **TECHO5** (Tech Echo 5) is open firmware for **Amazon's Echo Show 5 and Echo Show 8**, both generations of each. It replaces Fire OS and Alexa with a small Alpine Linux image and one Go daemon, turning the Show into a fast, private Home Assistant voice satellite with a touch screen of its own. It started on the Show 5, which is where the name comes from. **Every Echo that can be unlocked now runs it.** The bootloader exploit these devices are opened with, [amonet](https://github.com/R0rt1z2/amonet), reaches five Amazon Echos, and saiyaku-athena unlocks a sixth. All six run the same daemon: | Device | Model | Repository | Status | |---|---|---|---| |
Waking to light. For up to half an hour before an alarm the screen becomes a dawn, on a curve that does most of its work near the end. Every frame here is drawn by the code the device draws with.
## What's new The bigger changes of September and October 2026. Every release lists the rest. - 📖 **Long answers page along with the voice** (v1.6.14). An Assist answer too long for the screen is shown a page at a time, turning as the voice reads it, on the Show and the Spot ([#333](https://github.com/HuskerMinion/techo5/discussions/333)). The glance chips under the clock can keep one size ([#332](https://github.com/HuskerMinion/techo5/issues/332)), and a second AirPlay sender can take over from the first ([#334](https://github.com/HuskerMinion/techo5/issues/334)). - 🌍 **German, Spanish and Italian on the screen** (v1.6.13). **Screen language** gains German ([#322](https://github.com/HuskerMinion/techo5/pull/322)), Spanish ([#327](https://github.com/HuskerMinion/techo5/pull/327)) and a first Italian draft ([#310](https://github.com/HuskerMinion/techo5/issues/310)), and the PIN pad and alarm editor follow the language too. The 2nd gen Show 8's camera pages and stream use its hardware JPEG encoder ([#320](https://github.com/HuskerMinion/techo5/pull/320), [#321](https://github.com/HuskerMinion/techo5/pull/321)), and calls can switch to WebRTC's echo canceller for their length ([#331](https://github.com/HuskerMinion/techo5/pull/331)). - 📡 **The Panel is a Bluetooth proxy, and AirPlay can set the volume** (v1.6.12). On TECHO5 Panel, Android's Bluetooth now feeds Home Assistant's Bluetooth proxy, with one active connection lent through it ([#278](https://github.com/HuskerMinion/techo5/pull/278)); the Panel app also bridges the front camera and, on the JBL Link View, the raw microphone. On the Echos, **AirPlay sets the volume** makes an iPhone's or Mac's AirPlay slider the device's own volume ([#312](https://github.com/HuskerMinion/techo5/issues/312)), and Home Assistant can turn an alarm off and back on without deleting it (`alarm_turn_off` / `alarm_turn_on`, [#317](https://github.com/HuskerMinion/techo5/issues/317)). - 🖥️ **The 2nd gen Show 8 draws its screen on its GPU** (v1.6.11). The Show 8 2nd gen's Mali GPU now draws the panel, which leaves the cores free, and an **Adaptive backlight** switch turns the backlight down on dark screens and draws the pixels brighter by as much, so the screen looks the same for less light ([#308](https://github.com/HuskerMinion/techo5/pull/308)). Its camera no longer hangs on a picture too big for the encoder's buffer ([#309](https://github.com/HuskerMinion/techo5/pull/309)). Also in v1.6.11: the **Bluetooth Secure Connections** switch now really reaches the controller ([#183](https://github.com/HuskerMinion/techo5/issues/183)), and the installers say when a unit restarts partway, what was erased and how to finish by hand. - 🎚️ **Wake word scores, and wakesmith for words of your own** (v1.6.10). The setup page shows each wake word's score as it comes, so you can see how close a word gets in your room and pick a threshold that fits ([#314](https://github.com/HuskerMinion/techo5/pull/314)). To train a word of your own, [wakesmith](https://github.com/HuskerMinion/wakesmith) does it on your own computer from synthetic speech plus real voices: takes you record in the browser and the clips your devices kept. [Training a wake word](#training-a-wake-word-of-your-own) - 🎵 **Now Playing follows several players** (v1.6.10). Pick more than one media player, and the screen shows whichever is playing. Also in v1.6.10: the 2nd gen Show 8's JD9365 backlight comes back from off ([#253](https://github.com/HuskerMinion/techo5/issues/253)), reminders speak on a Home Assistant that isn't in English ([#294](https://github.com/HuskerMinion/techo5/issues/294)), and Bluetooth proxy connections need an API encryption key. - 🇯🇵 **Japanese, Louder speech and Dim after idle** (v1.6.9). The screen in Japanese ([#270](https://github.com/HuskerMinion/techo5/pull/270)), AirPlay 2 groups that play in step ([#311](https://github.com/HuskerMinion/techo5/pull/311)), a **Louder speech** switch for replies and announcements, **Dim after idle**, and four new skins. - 🎵 **AirPlay 2 on every device** (v1.6.8). With the AirPlay switch on, an iPhone can group the device with other AirPlay 2 speakers, like a HomePod or a Sonos. The **AirPlay 2** switch keeps it to classic AirPlay if a group doesn't play in step. Its firewall ports are open only while the AirPlay 2 receiver runs. - 🛰️ **NetBird** (v1.6.8). The other way, beside Tailscale, to keep a device in another house in your Home Assistant, with NetBird's own service or your own server. Off until you give it a setup key. [docs/netbird.md](docs/netbird.md) - 📶 **Also in v1.6.8.** Home Assistant can connect to Bluetooth devices through a Show, up to three at a time, with the new **Bluetooth proxy connections** switch ([#184](https://github.com/HuskerMinion/techo5/pull/184)). Weekend nights can have their own hours ([#305](https://github.com/HuskerMinion/techo5/issues/305)), and the Skylight's night clock now dims well below its old floor. - 🌐 **Reach a device from away** (v1.6.7). An Echo Show, Echo Spot or Skylight can join your Tailscale network, so a device in another house stays in your own Home Assistant, and its setup page can be opened from afar with Remote setup. Off until you give it a key; over the tailnet only Home Assistant's encrypted connection, the setup page while Remote setup is on, and SSH when it's on get in. [docs/tailscale.md](docs/tailscale.md) - 🆕 **The Skylight Calendar 15** (v1.3.0). Not an Echo: the 15-inch wall calendar (150-CAL) runs TECHO5 on its own 64-bit mainline Linux kernel. Touch, the calendar, photos, dashboards, music and the radio, Bluetooth, the light sensor and the clock work. It has no microphone, so there's no wake word or voice, and no phone calls or intercom. One command installs it over adb from its stock firmware, after a full backup of the unit; it has been tried on one unit. Install: [docs/install-skylight.md](docs/install-skylight.md) - 📱 **TECHO5 on a tablet, no unlock** (v1.3.0). TECHO5 Panel is an Android app with the same daemon inside: Home Assistant adds it like an Echo, with the same wake words, screens, timers, alarms, intercom and announcements. No unlock and no root, on tablets and the Meta Portal. Tested on a Fire HD 8 (10th gen), a Galaxy Tab S6 Lite and a Meta Portal (2nd gen); other Android 8.0+ tablets may work. [TECHO5 Panel](https://github.com/HuskerMinion/techo5-panel), [docs/panel.md](docs/panel.md) - 🗣️ **Also in v1.3.0.** Nearest device answers is now on by default, also on devices where it had been turned off. The Show 8 (both generations) draws some controls larger to fit its screen. The Show 8 2nd gen's kernel now picks its screen from the name the bootloader passes, so a unit installed with `--force-panel` gets its own screen's driver with the kernel update (ten screens known; only the BOE ILI9881C one tried on a unit). - 📷 **The Echo Show 8 2nd gen's camera works** (v1.2.24). Live on its own screen, a Home Assistant camera, and everything else the other Shows do with theirs (presence, person detection, gestures, your recorder). It's off while the device is muted or the shutter is closed. It comes with a new kernel, which the device installs on its own as a trial and puts back if it doesn't come up right. Also: a **Bluetooth Secure Connections** switch for phones that pair and then drop a second later ([#183](https://github.com/HuskerMinion/techo5/issues/183)); on the Dot, AirPlay recovers when it stops showing up after the first use ([techo5-dot#14](https://github.com/HuskerMinion/techo5-dot/issues/14)); and the camera's `/camera.jpg` and `/camera.mjpeg` pages now ask for the camera password and light the green dot while they're watched. **If something reads those pages with no password today** (a Home Assistant Generic Camera, a recorder), set a camera password and give it to that with Digest authentication, or it stops getting pictures. [docs/setup.md](docs/setup.md#4-cameras) - 📅 **A calendar for the wall** (v1.2.23). The calendar's new look: a day and a week on their hours, a cleaner month, Coming up with each day's weather, event icons, countdowns, a filter for which calendars a screen shows, and the next event at the foot of the clock, each with its own switch under Settings > Display > Calendar. The screen can stay on when you say "lights off" in its room ([#179](https://github.com/HuskerMinion/techo5/issues/179)), light themes work over a photo, and the Show's music buttons are drawn like the rest of its buttons ([#173](https://github.com/HuskerMinion/techo5/issues/173)). Music Assistant finds a device it reaches by address again after the device restarts ([#182](https://github.com/HuskerMinion/techo5/issues/182)), a radio favorite Home Assistant didn't start says why on the screen ([#174](https://github.com/HuskerMinion/techo5/issues/174)), a slideshow folder set again is read again at once ([#180](https://github.com/HuskerMinion/techo5/issues/180)), and the log says why the ambient noise sensor has no reading ([#178](https://github.com/HuskerMinion/techo5/issues/178)). Thanks to [@christianschmidt](https://github.com/christianschmidt) and [@tibole](https://github.com/tibole). [docs/setup.md](docs/setup.md#calendar) - 🔗 **Settings that follow you, a realtime voice, and a camera that knows a person** (v1.2.22). Pick a setting on the setup page and tick the other devices that should keep it in step: each one agrees first, and a device that was off catches up when it's back. A wake word can be answered by a speech-to-speech model at OpenAI, xAI or Gemini (it sends your voice to them, and they bill for it; off until you choose it, with a daily limit). With presence detection on, a Show or Spot can tell a person from anything else that moves, on the device. - 🎥 **Your Echo as a camera for your recorder, and cameras by the grid** (v1.2.21). A Show or Spot can serve its own camera to Frigate or any NVR over RTSP and ONVIF, with a login and a green dot on the screen while it's watched; the Show shows up to six cameras at once, and go2rtc's streams join the list. Off until you turn them on. - 🗣️ **The nearest Echo answers, and more you can run from home** (v1.2.21). With several devices in earshot, only the one that heard you best answers. Thermostats open their controls in Drawn mode ([#170](https://github.com/HuskerMinion/techo5/issues/170)); settings save to a file and restore; a signed remote API and live logs; timers pause and take extra time from Home Assistant; and an event on two calendars shows once. Thanks to [@remylpat](https://github.com/remylpat), and to [@wonderslug](https://github.com/wonderslug) for the Echo 2nd gen's own speaker tuning ([#169](https://github.com/HuskerMinion/techo5/pull/169)). - 🔊 **The Echo 2nd gen** (dot-v1.0.19). The 2017 Echo (`radar`) runs TECHO5 Dot: the same release, installer and daemon as the Dot, with its own amplifier, the speaker filters from the unit itself and its own Bluetooth kernel. Its USB is only inside the case: [install steps](https://github.com/HuskerMinion/techo5-dot#echo-2nd-gen). - 🌄 **Light only alarms, and a night that's easier to live with** (v1.2.20). An alarm can be a wake-up light with no sound ([#164](https://github.com/HuskerMinion/techo5/issues/164)), a tap can lift the night light on the Show ([#163](https://github.com/HuskerMinion/techo5/issues/163)), and the Spot's night clock comes sooner and goes dimmer ([techo5-spot#7](https://github.com/HuskerMinion/techo5-spot/issues/7)). Thanks to [@kevin909867](https://github.com/kevin909867) and [@paolofaz](https://github.com/paolofaz). - ⚡ **The Show 8 2nd gen at full speed** (v1.2.19). Its kernel now scales the CPUs up to 1.99 GHz instead of leaving them at the bootloader's 1.1 to 1.2 GHz: about 55% faster on one core and 60% on all eight, ahead of a Raspberry Pi 5 on all cores, with temperature control. The kernel comes over the air from Home Assistant like any update. Numbers: [TECHO5 ATHENA](https://github.com/HuskerMinion/techo5-athena#speed) - 🌅 **A wake-up light that stays on, and sounds and wake words of your own** (v1.2.19). The light holds at full between close alarms and through a snooze ([#161](https://github.com/HuskerMinion/techo5/issues/161)), and the setup page takes your own sounds and wake word models ([#160](https://github.com/HuskerMinion/techo5/issues/160)). Thanks to [@7rozen7ear](https://github.com/7rozen7ear). - 🆕 **The Echo Show 8 2nd gen** (v1.2.16). TECHO5 now runs on the 2021 Show 8 (`athena`), on its own 64-bit mainline Linux kernel: the first OS other than Fire OS on it. Screen, touch, all four mics, the speaker, Bluetooth, Wi-Fi and the light sensor work. The story and the board: [TECHO5 ATHENA](https://github.com/HuskerMinion/techo5-athena). Install: [docs/install-athena.md](docs/install-athena.md) - 🌙 **The night clock on the Spot** (spot-v1.1.14). The Spot can show the Show's dim red night clock at night, or turn its screen off, instead of only dimming. - 🔊 **Speaker gain** (v1.2.15, Show 5 units with the TAS5805M amp; also the Show 8 2nd gen and the Dot). Up to +6 dB more, kept across restarts. Thanks to [@OneWithNoFace](https://github.com/OneWithNoFace). - 📱 **Your phone plays to the device** (v1.2.11 to v1.2.15). Pair a phone and play to the Show, Spot or Dot over Bluetooth; pause and play on either side reach the other. Thanks to [@tibole](https://github.com/tibole). - ✋ **Cancel request** (v1.2.14). A button in Home Assistant ends a request that's running, at any step. Thanks to [@tibole](https://github.com/tibole).![]() |
![]() |
| Drawn on the device: instant, no server | Streamed: exactly as Home Assistant draws it |
The Echo Spot takes the same twenty minutes across its round face.
## Stock vs TECHO5 | | Stock Echo Show (Alexa) | TECHO5 | |---|---|---| | Operating system | Fire OS (Android) | Alpine Linux, one daemon | | Voice assistant | Alexa, in Amazon's cloud | Home Assistant Assist, with any pipeline you run, a different one for each wake word; or your own speech servers and chat model, with no Home Assistant | | Where your voice goes | Amazon | Your Home Assistant, encrypted | | Wake word | "Alexa", processed for Amazon | On the device, two at once: Alexa, Okay Nabu, Hey Jarvis, Hey Mycroft, eight more, or your own. Plus a "stop" word | | Screen | Alexa cards and ads | Clock, weather, now playing, Home Assistant dashboards, cameras, timers, alarms, settings | | Music | Amazon Music and skills | Home Assistant radio lists with cover art, Music Assistant (Sendspin), Home Assistant media, AirPlay 2 and Spotify Connect, DLNA, a phone over Bluetooth, sleep sounds made on the device | | Timers and alarms | Alexa | Home Assistant timers on screen; alarms that ring without Home Assistant | | Camera | Video calls, Drop In | A Home Assistant camera entity, off unless watched; a camera for Frigate or an NVR over RTSP and ONVIF, if you turn it on; presence and gestures, on the device only | | Bluetooth | Speaker and phone audio | Audio to earbuds and speakers; Home Assistant Bluetooth proxy | | Smart home | Alexa routines | Everything Home Assistant does | | Updates | Amazon, automatic, whenever | From this repo's releases, when you press Install, or overnight if you choose; A/B slots with automatic fallback | | Remote access | None | SSH with keys, off by default | | Listening on your network | Amazon's services | Home Assistant's encrypted API and the Sendspin player; SSH, web pages, AirPlay and Spotify Connect only when switched on, behind a Wi-Fi firewall. A signed-in phone keeps its own connection out to the provider | | Calling | Alexa calling and Drop In | Phone calls through your own SIP provider (TLS and SRTP), placed from Home Assistant or by voice, answered on the screen; device to device calls and announcements in the house, even with Home Assistant down, and Drop In if you turn it on | | Shopping, skills | Yes | **No.** Those are Alexa cloud services | ## How well does it hear? | Device | Mics | |---|:---:| | Echo Show 5, 1st and 2nd gen | 2 | | Echo Show 8, 1st and 2nd gen | 4 | | Echo Spot | 4 | | Echo Dot, 2nd gen | 7 | | Echo, 2nd gen | 7 | The Dot's seven are a ring of six plus one in the middle, the best array of the bunch. The wake word runs on the device itself. After that, what you say goes to your Home Assistant pipeline, so misheard words are mostly down to the speech to text you have set up in HA, not the mics. There's echo cancellation too, so it can hear you over its own music. You can tune a lot of it from Home Assistant: **Microphone gain**, **Microphone mixing** (all averaged, center mic only, delay and sum, or beamformer), **Microphone noise reduction**, **Microphone echo cancellation** and the **Wake word threshold**. The defaults are what worked best in my testing, but every room is different. If the device's own models don't hear your voice well, Home Assistant's wake word engine (openWakeWord, say) can listen alongside it, or only check the wakes the device wasn't sure of: [Wake word on Home Assistant](docs/setup.md#wake-word-on-home-assistant). **Keep wake clips** saves what your room really says, so a model you train fits it: [Wake word clips](docs/setup.md#wake-word-clips). ### Training a wake word of your own For a word that isn't in the list, or one that hears your voice better, use **[wakesmith](https://github.com/HuskerMinion/wakesmith)**, our wake word trainer. It trains microWakeWord models (what TECHO5 runs) and openWakeWord models on your own computer, on an NVIDIA or Intel Arc GPU or the CPU alone, from a page in your browser. It mixes synthetic speech with real voices: takes you record in the browser, your device's saved [wake word clips](docs/setup.md#wake-word-clips), and Common Voice. Every model is scored on recordings it never trained on, so you can compare runs before you pick a cutoff. Load the result on the setup page like any other ([A wake word of your own](docs/setup.md#a-wake-word-of-your-own)), and the setup page's wake word scores show how it does in your room. [docs/training-wake-word.md](docs/training-wake-word.md) walks through it step by step, and the manual way with microWakeWord's own tools for a language other than English. On my Show 5 it hears me fine from across the room without raising my voice. With music playing I have to raise my voice, and sometimes still need to tap the screen or a button to get it to hear me. Amazon's own voice processing chip isn't used, so it's not going to match Alexa at its best. It's a lot better than it was a month ago though, and still getting better. ## Install **New to this? Start with [Getting started](docs/getting-started.md)**: every step from a stock Echo Show 5, Dot or Spot, with the unlock guides linked, what to check after each step, and notes for Windows, Linux and macOS. Once it's in Home Assistant, **[Setting it up](docs/setup.md)** covers photos, weather, cameras, music and the night settings, in order. You need a Show 5 **unlocked and running LineageOS 18.1** — 2nd gen with [amonet-cronos](https://xdaforums.com/t/unlock-root-twrp-unbrick-amazon-echo-show-5-2nd-gen-2021-cronos.4772596/) and [this ROM](https://xdaforums.com/t/rom-unofficial-11-cronos-lineageos-18-1-for-the-amazon-echo-show-5-2021.4772598/) in its 2026-09-04 build (v0.4; the newer v0.5 is not supported yet), 1st gen with [amonet-checkers](https://xdaforums.com/t/unlock-root-twrp-unbrick-amazon-echo-show-5-1st-gen-2019-checkers.4762900/) and R0rt1z2's `checkers` build of the same LineageOS (v0.7) — a USB cable, a computer (Windows, Linux or macOS) with Python 3, `adb` and `fastboot`, and Home Assistant. Each [release](https://github.com/HuskerMinion/techo5/releases/latest) carries everything else: the boot image (with Bluetooth) and the root filesystem. Nothing is built. ``` git clone https://github.com/HuskerMinion/techo5 cd techo5 python3 tools/install-show.py ``` It finds the Show, asks what to call it and asks once before erasing anything (or takes `--serial`, `--name` and `--force` from a script), downloads and checks the release, flashes the boot image, creates the slot store and installs over the USB serial console, and prints where the Home Assistant key is kept. Later updates come from Home Assistant. Every step by hand, and the fixes for what can go wrong: **[docs/install.md](docs/install.md)**. > **Status:** in daily use on at least five 2nd gen Echo Show 5s, a 1st gen Show 5, two 1st gen > Show 8s and two 2nd gen Show 8s, plus the Spot and the Dot, and working on an Echo 2nd gen and a > Skylight Calendar 15. It's a hobby project, not a product: keep your backups, and expect rough edges. **Echo Show 5 1st gen (2019, `checkers`)** installs with the same command: the installer sees which generation it is talking to and takes that unit's boot image from the release. Everything works on it: screen, touch, speaker, microphones, wake word, camera, the mute button and voice. One is in daily use. The hardware notes are in [techo5-checkers](https://github.com/HuskerMinion/techo5-checkers). **Echo Show 8 1st gen (2019, `crown`)** installs with the same command as well. Its screen, touch, speaker, four microphones, wake word, camera, lens cover and mute latch all work, and it takes slot updates like the others. Two of them are in daily use. Two things worth knowing first: a seller's model number does not tell the two Show 8 generations apart, so go by the year when buying second-hand. A unit installed before v1.0.1 needs the new boot image so a quick tap to unmute no longer leaves the camera off ([updating the boot image](docs/install.md#updating-the-boot-image)). **Echo Show 8 2nd gen (2021, `athena`)** installs differently. There's no LineageOS for it: after the saiyaku-athena unlock, `tools/install-athena.py` puts TECHO5's own 64-bit mainline kernel and the system on it from TWRP, backing up every partition first. Only one of the screen panels Amazon used is supported on that kernel so far, and the installer checks yours. Every step: **[docs/install-athena.md](docs/install-athena.md)**. The story and the hardware: [TECHO5 ATHENA](https://github.com/HuskerMinion/techo5-athena). **Skylight Calendar 15 (150-CAL)** isn't an Echo and needs no unlock. On its stock firmware (D156.V1.3) adb is open, and `tools/install-skylight.py` backs up the whole eMMC, then puts TECHO5's own 64-bit mainline kernel and the system on it. The installer knows that one firmware and refuses any other. It has been tried on one unit, and the way back in Loader mode hasn't been tried yet, so keep the backup. Every step: **[docs/install-skylight.md](docs/install-skylight.md)**. The hardware: [tools/linux/skylight](tools/linux/skylight/README.md). ## Under the hood | Layer | What | |---|---| | Boot | Amazon's LK, unlocked with amonet; the LineageOS 4.9 kernel rebuilt with Bluetooth; a rescue initramfs that picks a slot. On the 2nd gen Show 8: saiyaku-athena and TECHO5's own Linux 6.18 kernel ([source](tools/linux/athena/kernel)). On the Skylight Calendar 15: its stock U-Boot and TECHO5's own Linux 6.18 kernel ([source](tools/linux/skylight/kernel)) | | System | Alpine Linux armv7 in two root filesystem slots, read-only, with a trial-and-commit boot counter | | Daemon | `echod`, one Go binary: audio, wake word, echo cancellation, screen renderer, touch, camera ISP, Bluetooth, updates | | Home Assistant | The native ESPHome API: voice satellite, media player, camera, update entity, dozens of settings | - [docs/overview.md](docs/overview.md): the one-page description of how it all fits. - [docs/porting-plan.md](docs/porting-plan.md): how it was built, step by step, dead ends included. - [docs/hardware.md](docs/hardware.md): the `cronos` hardware and the unlock path. - [docs/camera-research.md](docs/camera-research.md): driving the camera's ISP from userspace. - [docs/building.md](docs/building.md): building it yourself: where every input comes from (`tools/fetch-inputs.py`), and the daemon, kernel, boot image and root filesystem builds, for each OS. - [tools/linux/README.md](tools/linux/README.md): the image tooling in detail. - [docs/training-wake-word.md](docs/training-wake-word.md): training a wake word of your own with [wakesmith](https://github.com/HuskerMinion/wakesmith), or by hand in any language. - [CONTRIBUTING.md](CONTRIBUTING.md): reporting problems, trying a build on your device, and pull requests. ## Sister projects **[TECHO5 Dot](https://github.com/HuskerMinion/techo5-dot)** does the same for the Echo Dot 2nd generation and the Echo 2nd generation: Linux in place of Fire OS, all seven microphones, Bluetooth speaker mode, signed updates. **[TECHO5 Spot](https://github.com/HuskerMinion/techo5-spot)** does it for the Echo Spot (1st gen), on its round screen. All three run the same daemon source, built per device. **[TECHO5 ATHENA](https://github.com/HuskerMinion/techo5-athena)** tells the story of the 2nd gen Echo Show 8 port, which lives here in this repository. ## Made possible by TECHO5 exists because of these projects and the people behind them. The codename badges in the device table are photos from Wikimedia Commons; who took each one, and its license, is in [docs/images/badges/CREDITS.md](docs/images/badges/CREDITS.md). **The path here** - [EchoLocal](https://github.com/ygelfand/echolocal) (MIT, Yuri Gelfand): the daemon TECHO5 is built on (see [Built on EchoLocal](#built-on-echolocal)), and [go-esphome-device](https://github.com/ygelfand/go-esphome-device), the ESPHome device API it speaks. - **amonet-cronos and kaeru** (k4y0z, [R0rt1z2](https://github.com/R0rt1z2)): the bootloader unlock and recovery that make any of this possible. - **saiyaku-athena** ([R0rt1z2](https://github.com/R0rt1z2) with bengris32 and FieryFlames (jackmthws); thanks to nuno407 for the META mode idea): the unlock for the 2nd gen Echo Show 8, [on XDA](https://xdaforums.com/t/unlock-root-twrp-unbrick-amazon-echo-show-8-2nd-gen-2021-athena.4804958/). - The mainline Linux kernel, and everyone who brought the MT8183 into it for its Chromebooks: the 2nd gen Show 8's kernel is built on their work. - [vpavlin/mt8183-camera](https://github.com/vpavlin/mt8183-camera) (Václav Pavlín): cameras on MT8183 Chromebooks with no ISP firmware, on BayLibre's and MediaTek's sensor interface and CAMSV drivers. The 2nd gen Show 8's camera runs on those drivers; its OV13855 register tables are Rockchip's. - [@proffalken](https://github.com/proffalken): the [step-by-step install from Linux](https://gist.github.com/proffalken/377ae50146affe1886dddaaacb87926b) that [Getting started](docs/getting-started.md) and the cross-platform installers are based on. - **LineageOS 18.1 for `cronos`** (unofficial, R0rt1z2), built on [Amazon's GPL kernel source](https://github.com/amazon-oss/android_kernel_amazon_mt8163): the kernel TECHO5 rebuilds and the vendor drivers it keeps. [TWRP](https://twrp.me/) stays as the way back. - ShowAssist and the [View Assist Companion App](https://github.com/msp1974/ViewAssistCompanionApp) (Mark Parker): what ran the Show before TECHO5, and the first proof it could be a Home Assistant satellite. - [jxlarrea/lineageos-echo-show-camera](https://github.com/jxlarrea/lineageos-echo-show-camera): the OV02B10 camera driver and sensor fixes, the privacy latch, and echo cancellation work on the Echo Show family. - [bengris32/linux-mtk](https://github.com/bengris32/linux-mtk): the mainline MT8163 effort, a map of the hardware. - The BQ Aquaris E10 GPL source release: MediaTek's ISP register map for this chip generation, which let the camera run from userspace. - [@Empty2k12](https://github.com/Empty2k12): the first hardware findings from an Echo Show 5 1st gen (`checkers`), including the recipe that made its speaker play, in [pull request #2](https://github.com/HuskerMinion/techo5/pull/2). - [@JonGilmore](https://github.com/JonGilmore): every 1st gen build tested on a real unit, two days of it. The microphones, the mute latch cutting their power, the camera and the spoken replies were all found or confirmed from what he reported. **What runs on the device** - [microWakeWord](https://github.com/kahrendt/microWakeWord) (Kevin Ahrendt), the [ESPHome wake word models](https://github.com/esphome/micro-wake-word-models), and [zserge/microwakeword](https://github.com/zserge/microwakeword) for Go. - [Home Assistant](https://www.home-assistant.io/) and [ESPHome](https://esphome.io/): Assist, the native API, and the reason to build any of this. - [Music Assistant](https://www.music-assistant.io/) and [Sendspin](https://github.com/Sendspin/sendspin-go). - [Radio Browser](https://www.radio-browser.info/), through Home Assistant's integration, for stations near home. - The rain map and weather alerts: the U.S. [National Weather Service](https://www.weather.gov/) for the radar and the [alerts](https://www.weather.gov/documentation/services-web-api) (public domain), with the radar's map tiles from the [Iowa Environmental Mesonet](https://mesonet.agron.iastate.edu/) at Iowa State University; [RainViewer](https://www.rainviewer.com/api.html) for the radar outside the U.S.; NASA's [GIBS](https://www.earthdata.nasa.gov/engage/open-data-services-software/earthdata-developer-portal/gibs-api) for the Blue Marble map and NOAA's GOES satellites' clouds; and [GeoNames](https://www.geonames.org/) (CC BY 4.0) for the town names. - [Alpine Linux](https://alpinelinux.org/), BusyBox, Dropbear, wpa_supplicant, [BlueZ](https://www.bluez.org/), [bluez-alsa](https://github.com/arkq/bluez-alsa) (arkq), and [webrtc-audio-processing](https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing). - Go libraries: go-mp3 (Hajime Hoshi), godbus, gorilla/websocket, zeroconf, mewkiz/flac, pion/opus, cobra, viper, protobuf and the Go fonts; for calls, [diago](https://github.com/emiago/diago) and [sipgo](https://github.com/emiago/sipgo) (Emir Aganovic), [Pion](https://github.com/pion) SRTP and RTP, and zaf/g711. See [NOTICE](NOTICE) for licenses of code carried in this repository.