Open-source project
jxlarrea/kiosk-satellite avatar
jxlarrea/kiosk-satellite

Kiosk Satellite: a Home Assistant kiosk app with voice, music and fleet control

Turn any Android device into a beautiful, dedicated Home Assistant kiosk. Purpose-built for Home Assistant from the ground up.

1,034 stars33 forksDartNOASSERTION

At a glance

What is it?
Kiosk Satellite is a Dart/Flutter Android app that turns a tablet into a dedicated Home Assistant display. It adds native voice satellite support, synchronized Music Assistant playback, screensavers and browser-based remote administration, all running locally on the device.
Who is it for?
Adopt Kiosk Satellite if you already run Home Assistant, have a spare Android 7.0 or newer tablet, and want voice, screensavers and remote administration in one app rather than assembling several. Skip it if your kiosk hardware is an iPad or an Amazon Fire tablet with a locked-down launcher, since the project ships an Android APK only.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Dart, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 19, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap Kiosk Satellite fills between a tablet and Home Assistant

A wall-mounted tablet running the Home Assistant web UI in a browser is the cheap way to build a dashboard. It also breaks in predictable places. The browser drops the websocket connection overnight, the screen sleeps and the dashboard is stale when someone walks up, and the microphone never works because HTTP dashboards cannot request it without certificates. Kiosk Satellite is an Android app rather than a browser session, so it owns the screen, the microphone and the connection lifecycle. The README states it is "fully local and free for personal, non-commercial use," and the target reader is a Home Assistant user with an older tablet that is otherwise idle. The project's own framing is that it is "purpose-built for Home Assistant from the ground up," which matters because the features are not generic kiosk features. They are Home Assistant features: an ESPHome connection that exposes screen controls and sensors, a Bluetooth proxy that relays nearby devices, camera imports from Home Assistant or Go2RTC, and a Voice Satellite integration that reads its configuration from HACS. If you do not run Home Assistant, almost none of this applies.

How the app talks to Home Assistant: ESPHome, Voice Satellite and Sendspin

The architecture is a Flutter app on the Android device that speaks several Home Assistant protocols rather than one. The built-in ESPHome connection is the control channel: it exposes screen controls, volume and device sensors to Home Assistant, so your automations can dim the kiosk or read its state the same way they would read an ESP32. Voice is delegated. Kiosk Satellite detects the Voice Satellite card integration installed through HACS and uses its configuration automatically, which means wake-word detection and the voice pipeline are configured in Home Assistant, not in the app. The README notes microphone access works with HTTP dashboards without certificates, which is the specific failure the browser approach cannot fix. Music playback goes through Sendspin for synchronized Music Assistant audio, with an option to follow a Home Assistant or Sonos player, and the Now Playing view renders album art, controls and lyrics. The optional Bluetooth proxy relays nearby Bluetooth devices back to Home Assistant, which is useful if the tablet sits somewhere an ESP32 cannot reach. Remote administration runs a web server on the device at port 2324, and fleet management shares configuration profiles and coordinates updates across multiple kiosks.

Installing the APK and connecting your first dashboard

The README gives a three-step install. You need Android 7.0 or newer, a reachable Home Assistant instance, and a long-lived access token created under Home Assistant Profile, then Security, then Long-lived access tokens. Download the latest APK from the project site on the Android device itself rather than sideloading from a desktop, then open it and allow installation from this source when Android prompts. On first launch the setup wizard asks for the Home Assistant connection and your dashboard choice. You can instead enable Remote Administration in the first setup step and finish from a computer on the same network.

bash
# On the Android device: download the APK from
# https://kiosksatellite.com/download
# then open the downloaded file to install it.

If you prefer to configure from a desktop, the README states the remote interface is reachable at this address, substituting your device's IP.

bash
http://<device-ip>:2324

For voice, install Voice Satellite through HACS on the Home Assistant side. The README says Kiosk Satellite detects it and uses its configuration automatically, so there is no separate pairing step in the app. The first thing to confirm after setup is that the dashboard renders and that the ESPHome connection appears as a device in Home Assistant; if it does not, the token or the network path is the likely cause, and the README does not document a troubleshooting flow beyond the setup wizard.

Where Kiosk Satellite is the wrong tool

The licence is the first constraint. The repository carries NOASSERTION rather than a recognised SPDX identifier, and the README describes the app as free for personal, non-commercial use. There is a LICENSE file and a PLUGIN-EXCEPTION.md at the top level, but the README does not summarise what the exception permits. If you intend to deploy kiosks commercially, in a hotel lobby or a rental property, the licence text is the thing to read, not the feature list. The second constraint is hardware. The README specifies Android 7.0 or newer and ships an APK, so an iPad or a Fire tablet running a locked-down Amazon launcher is out of scope. The third is that several features are conditional on other software being present: voice requires the Voice Satellite card integration, music requires Music Assistant and Sendspin, and camera views depend on Home Assistant or Go2RTC. Install the app alone on a tablet with no Home Assistant instance and you have a screensaver. The README also does not document rollback or downgrade for a bad release, and releases land frequently, so a fleet that cannot tolerate a broken update should not enable coordinated fleet updates until it has tested a pinned version.

Kiosk Satellite compared with Fully Kiosk Browser

Fully Kiosk Browser is the obvious alternative, and the difference is architectural rather than a feature checklist. Fully Kiosk is a browser wrapper: it renders the Home Assistant web UI, manages the screen, and exposes a REST API for control. That approach works with any web dashboard and any platform that runs a browser, which is why it is common on Fire tablets. Kiosk Satellite is a native app with protocol-level integrations. Voice Satellite support means wake-word detection works with the screen off, and the README states that with background listening enabled it works while another app is open, which a browser wrapper cannot do because the microphone belongs to the browser tab. The ESPHome connection exposes the kiosk as a device in Home Assistant rather than as an HTTP endpoint you poll, and the Bluetooth proxy has no equivalent in a browser. The trade-off runs the other way too: Fully Kiosk is not tied to Home Assistant, so it survives a migration to another platform, and its browser model means a dashboard change needs no app update. If your kiosk is a Fire tablet, or you want a dashboard that is not Home Assistant, Kiosk Satellite is the wrong shape.

Release cadence, upgrades and what the licence leaves open

The repository's last push was on 2026-09-17, and the three most recent releases are 2026.9.59, 2026.9.58 and 2026.9.57, dated 2026-09-16. That is a fast cadence, and the version scheme is calendar-based: the major and minor components track the year and month. For a single kiosk, that pace is fine because you install when you want to. For a fleet, it is the main operational cost, and it is why fleet management exists: it shares configuration profiles and coordinates updates across multiple kiosks. The README does not describe a staged rollout, a canary channel or an automatic rollback, so the coordination it offers is distribution, not safety. Backups are covered: the README states you can back up settings from a browser through Remote Administration. On licensing, the NOASSERTION label means GitHub could not classify the licence automatically, so treat the README's "free for personal, non-commercial use" as the stated intent and read LICENSE and PLUGIN-EXCEPTION.md before redistributing or bundling the app. This is not legal advice; the files in the repository are the source of truth.

Editorial conclusion

Adopt Kiosk Satellite if you already run Home Assistant, have a spare Android 7.0 or newer tablet, and want voice, screensavers and remote administration in one app rather than assembling several. Skip it if your kiosk hardware is an iPad or an Amazon Fire tablet with a locked-down launcher, since the project ships an Android APK only. Before committing, verify on your own hardware that the release you install connects to your Home Assistant instance, that the long-lived access token you generate is scoped the way you expect, and that Remote Administration on port 2324 is reachable only from your LAN. The repository's LICENSE file is the authority on what you may do with the code, and PLUGIN-EXCEPTION.md is worth reading before you build anything on top of it.

Frequently asked questions

What are the 7 types of kiosks?

The README does not define a taxonomy of kiosk types. Kiosk Satellite itself is an Android app for a dedicated Home Assistant display, with PIN-protected kiosk mode and an optional home launcher role.

How do I put my Galaxy Tab into kiosk mode?

The README describes setting Kiosk Satellite as the home launcher on supported devices so the Home button returns to your dashboard, plus a PIN-protected kiosk mode. It does not give Galaxy Tab specific instructions.

Is Fully Kiosk free?

The README does not state Fully Kiosk's pricing. For Kiosk Satellite, it says the app is fully local and free for personal, non-commercial use, with the repository licence labelled NOASSERTION.

What is the best Android tablet for kiosk use?

The README does not recommend specific tablets. It requires Android 7.0 or newer, a reachable Home Assistant instance and a long-lived access token, and notes that optional dashboard optimizations lower CPU and GPU usage on older devices.

Official sources

  1. Issues
  2. jxlarrea/kiosk-satellite on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes