Turn Any Android 7-16 Device into a BLE Smart Home Control Panel

I want to share a project I’ve been working on: Ava, an Android voice assistant app that transforms spare tablets and old phones into powerful smart home control panels.


Background

This project is based on brownard/Ava, which I’ve heavily modified and expanded. The original is a great ESPHome voice satellite implementation, but fairly basic in features.

I looked at existing solutions: Fully Kiosk is powerful but requires payment. WallPanel has been abandoned. The whole Android smart home panel space has been stagnant for years.

So I decided to combine the best ideas and build something truly useful from the Ava codebase.


Core Philosophy

No extra integrations needed - No MQTT, no HACS. Device gets discovered natively by Home Assistant, just like ESPHome.

Low-end device friendly - Supports Android 7-16, including 32-bit. Cheap tablets, old phones, whatever you have. Why not Android 4-6? Some features don’t work well, better not support than broken.


New Features I Added

Original Ava only had basic voice satellite. Everything below is new:

Floating Windows - The Key Difference

This is what sets Ava apart from other solutions. Floating windows work on TOP of any app - you can display HA dashboard in fullscreen while still seeing clock, weather, and notifications overlay on top.

Other apps force you to choose: either show a dashboard OR show a clock. With Ava, you get both simultaneously. The floating windows are:

  • Always visible - On top of any app, even fullscreen browsers
  • HA-controlled - Toggle each window remotely from Home Assistant
  • Non-intrusive - Designed to complement, not block your content
  • Independent - Each window can be enabled/disabled separately

Available floating windows:

  • :clock1: Dream clock - Elegant always-on clock display
  • :sun_behind_small_cloud: Weather overlay - Real-time weather info
  • :cd: Vinyl album art - Rotating record cover when playing music
  • :speech_balloon: Conversation subtitles - Shows what you said and AI response
  • :bell: Notification scenes - Full-screen alerts for doorbell, alarms, etc.

Other Features

  • 70+ notification scenes - Doorbell, smoke alarm, greetings, birthday, timers. Custom scenes via URL
  • Bluetooth proxy - BLE gateway to HA, whole-house coverage, presence detection
  • Camera - Remote snapshots, live video, front/back, adjustable resolution
  • Sensors - Light, magnetic, proximity, WiFi signal, battery, storage - all to HA
  • Embedded browser - HA dashboards, JS/CSS injection, remote commands
  • Audio processing - AEC, AGC, noise suppression, GPIO for mic arrays
  • Screen control - Brightness sync, forced orientation, proximity wake/sleep

Permissions

Basic: Microphone, overlay, foreground service

Optional: Camera, Bluetooth, location (for BLE), system settings

Root (recommended): Better background protection, boot scripts, screen control, reboot. Works without root, but more stable with it.


Stability

Optimized for 24/7: battery exemption, WiFi wake lock, auto-reconnect, boot autostart, auto-recovery.


Use Cases

  • Wall tablet as whole-home control center
  • Bedside voice alarm clock
  • Kitchen tablet for timers
  • Doorway video doorbell

About Open Source

Currently closed source, sorry.

Main reason: Bluetooth proxy took lots of experimenting, some key parts not ready to share. Will consider open sourcing when mature.

Original brownard/Ava is open source.


Pricing

Completely free, no charges.

Donations welcome but optional - all features available either way.


Privacy

No data collection.

  • Voice recognition local only
  • No tracking, no accounts
  • Camera/mic data only goes to YOUR Home Assistant
  • I personally guarantee no malicious behavior

Download & Feedback

Latest APK: GitHub - knoop7/Ava: Turn Any Android 7-16 Device into a Smart Home Control Panel

Built-in auto-update included.

Found a bug or have suggestions? Please open an Issue on GitHub! I’ll keep fixing problems and adding features based on your feedback.


Questions? Happy to help!

7 Likes

That seems phenomenal, I have 2 old android phones running the HA companion app and cannot wait to test your setup! I do have a silly question… Instructions for setup on Github say “Install and run the app”. Where/how do I download the app? It’s probably obvious to most, but I’m stumped…

You can try it out at https://github.com/knoop7/Ava/releases/download/0.1.6/Ava-0.1.6-release.apk, which features BLE proxy gateway functionality.

Hi

Thanks for the share and the great work, unhappy a no go for me as it’s closed source, sorry

Vincèn

1 Like

Fully Kiosk is closed-source, I don’t force you to use it, I just guarantee that my core code will be encrypted before making it public

Just quickly tested this, and it is awesome! soo light weight, pretty quick, i’ll install it on other devices other than my phone and see how we go

This sounds really cool but running obfuscated code on a rooted device connected to my home network isn’t happening any time soon. If you want people to trust you, you’ll need to release the source. If nothing else letting other folks help with this will help it mature quicker.

You’re right that no-one is being forced to use this but you have to be aware that it’s not a good way to do things, especially when building on an existing open source project. No code is perfect or mature when first released, that’s nothing to be ashamed about, at the end of the day if you wait until your code is bug free to release it then you waited too long.

Also, you said to create an issue if people have problems but issues aren’t enabled on the repo. You need to fix that if you want people to provide feedback.

1 Like

I get different results depending on the device, android 14 tablet doesnt load the url, all other devices do.
Will try it on my xisomi smart clock with LineageOS at dome point.

OK soo strange, I now have 4 devices with this on them and now now of them show HA, not sure whats going on, it worked initially

Also are timers supposed to work,?

Thanks for the reminder, now open source

2 Likes

Thank you for the reminder that it is now open source, Home · knoop7/Ava Wiki · GitHub

3 Likes

Yes, that’s right, gradually new functions will be added, and many ways will be added that can be remotely controlled by esphome

I have installed it, and setup regarding the documentation. I have entered the URL but how does the browser then gets started? When I start Ava I only have the “service” button to start/stop it and see the status (idle).

您可以看看悬浮窗时候开启,也就是说系统上层权限,同时去esphome官方集成中找到这个就可以输入

My Chinese (or the language you are writing), is not that good :wink:

I have put in the URL in HomeAssistant under → Settings → Devices Integrations → ESPHome → <device with Ava) and the Voice Remote Browser URL.

However when restarting the app nothing happens, it still keeps on the page with the service.

I’m running LineageOS, it is rooted and permissions are granted (as far as I know)

2 Likes

It is recommended that you check the permission problem, this is a floating window, it is possible that the floating window is not open, and the empty value is removed, such as after the gas switch is turned on, is it convenient to see the screenshot of your interface?

It is recommended that you check the permission problem, this is a floating window, it is possible that the floating window is not open, and the null value can be removed, such as after the switch is turned on, is it convenient to view your interface screenshots?

These are all featured

The screensaver is working however, is that also with the floating window? (clock that is showing)