Ava Pro – Implementing the Home Assistant ESPhome Android kiosk terminal project in just 18MB, integrating satellite voice, local voice processing, Bluetooth proxy, LAN calling and Sendspin multi-room music synchronization, Mod store customization

I am the author of Ava Pro, a fully self-contained voice satellite and kiosk project for Android 5–16, built around ESPHome. First of all, I would like to thank everyone for every recommendation, share, and piece of honest feedback. Without the long-term testing by community members and the frank discussions and comments on Reddit, there would be no Ava Pro today. By continuously pointing out those small but impactful issues in daily use, everyone has gradually given me the confidence to seriously introduce this project to more people.

I have been developing Ava Pro for over half a year. Since it is called a voice assistant, the voice experience has always been its most important focus. To ensure it runs smoothly on older phones, low-spec tablets, and smart displays, I restructured the wake-word detection, echo cancellation, noise reduction, gain control, and voiceprint functions, and rewrote many performance-sensitive paths in C/C++.

For this reason, I restructured the dual wake-word engine. The first engine retains the lightweight and mature microWakeWord; the second engine, vsWakeWord, offers capabilities significantly different from the original Ava Pro. It follows the ONNX/openWakeWord model approach but does not cram the complete ONNX Runtime, training tools, and general-purpose operators into the device. Those components are powerful but contain many capabilities that are completely unnecessary for wake-word detection. Packaging them as-is would not only significantly increase the installation size but also waste the limited memory and processing resources of older devices. Therefore, I reimplemented a lightweight ONNX model reader in C++, parsing only the structures and operators truly needed by the wake-word model, and rewrote the related feature extraction and model execution functions.

Furthermore, Ava Pro combines a custom-tuned software echo cancellation system, intelligent noise reduction, intelligent gain control, and lightweight 16-dimensional voiceprint matching. It can reduce playback bleed during voice interactions, suppress persistent background noise, and perform speaker matching without requiring high-performance hardware. Many performance-sensitive speech paths have also been rewritten in C/C++. The open-source components used were not simply bundled into the installation package; instead, they were individually refactored, trimmed, recompiled, and compressed according to how Ava Pro actually uses them. This is why the Lite APK has remained below 20 MB for a long time.

Therefore, even with voice, dashboard, music, Bluetooth, calling, and numerous expansion capabilities, the official Ava Pro Lite APK remains below 20 MB and is currently around 18 MB. This makes it considerably smaller than many similar kiosk and voice-panel applications. The 20 MB limit is not a random number; it is a long-term boundary I have set for Ava Pro. We cannot keep adding features at the expense of the already limited storage on older devices. After installing Ava Pro, these devices should still have enough room for Home Assistant, music players, and other genuinely useful Android apps.

Ava Pro has gradually grown to fit real-world home environments, including a Quick Entity panel, home screen, widgets, browser, Bluetooth proxy, presence detection, LAN voice and video calls, and Music Assistant/Sendspin multi-room synchronization, with per-device sync delay, a five-band equalizer, and lyric timing adjustments. Every feature can be disabled individually, and even the voice pipeline is optional.

The screen experience has also been refined: Smart AOD, pixel shift, and background load reduction work together to reduce the risk of burn-in and unnecessary power consumption during extended screen use. The redesigned Dawn Wallpaper brings together wallpaper, time, weather, and Home Assistant status to create a more comfortable experience when viewed from across the room. I especially encourage existing Ava Pro users to experience these changes firsthand, as many features cannot be fully covered in a single introduction.

Integration for beginners is straightforward: install Ava Pro, grant the microphone and overlay permissions, and then enable General Services. Next, in Home Assistant, go to Settings → Devices & Services → Add Integration, search for ESPHome, and select the automatically discovered Ava Pro device. No MQTT or HACS is required. You can also install HA STT and HA Edge TTS from the Mod Store to create your own voice pipeline through Wyoming.

Special thanks to video creator Lone Baggie.

Without his long-term hands-on use, recordings, and feedback, there would be no Ava Pro today.

You can first watch his real-world usage video.

Then use his shared Home Assistant Blueprints and HTML Views.

Together, they can help you quickly build your own Ava Pro kiosk.

Bluetooth proxy and LAN video calling are distinctive extensions, but they are not Ava Pro’s main focus. Its true and ongoing focus remains on how voice, dashboards, and everyday interactions can be naturally integrated into the home.

If you encounter any problems or find something unclear, please leave a comment and let me know. I genuinely want to hear what still needs improvement, and I will do my best to address it.

@knoop7 - After reading the 0.7.1 release note and the noted ticket relating to the apology, I felt the need to just post and call out what a great job you have been doing with Ava.

Please don’t let the (now resolved) license issue dishearten you or remove the joy from developing. Ava has evolved into an incredible app that is transforming older (and more recent) devices from going in the trash, to actually being useful again!

From developing some tools for personal use in the past, I absolutely know how you can easily get in a situation where you have accidentally breached some licensing terms. Not out of malice or a deliberate act, but through the care and determination of trying different solutions in an effort to get a certain feature working - we are all human after all!

I for one (and I’m sure I am not alone) would not have such useful devices around the home if it weren’t for Ava.

I think how you handled the issue was admirable and I hope you do not let it detract from the enjoyment of making something amazing!

Thank you for all your work on Ava :+1:

Thank you for the new version of the toy. It significantly improves upon the toy’s capabilities and professional features. You can experience it for yourself. This time, performance and low power consumption are fully optimized. Bluetooth is no longer just a testing ground; even low-end devices can run the AI ​​engine.

@swifty


Ava 0.7.2 - Fable +

First, thank you to everyone who brought some sunlight here

Before this release begins, I want to thank everyone who has supported Ava with a donation. This list has no ranking and is not ordered by amount: Ricardo, dmzdumnezo, daydy16, Someone, Lone Baggie, Kristian Lorbetzki, laowusun, and Tweakers Pentode. Thank you.

Independent development is not sunny every day. Much of it is one person awake late with a bug that refuses to repeat consistently, a test device he cannot afford, or a repair that exposes another problem on a different old tablet. A donation does not make those problems disappear. It does tell me that someone on the other side of the screen values Ava and wants to help it continue. That is more than money. It is the certainty that these late nights do not remain inside my room; eventually, they reach somebody else’s home.

Thank you as well to everyone who responded publicly on Reddit. Thank you to u/cdmn1 for the comment; to u/QuaintStaircase for saying, even through disappointment, that the household had already moved to Ava and explaining why that trust existed; and to u/russilker for running, testing, and recommending Ava across roughly twenty different Portal and Echo Show devices. No emulator can replace a home containing that much varied hardware.

Thank you also to u/Yard-Overall in the Facebook Portal thread for celebrating the innovation happening in the community; to u/FuzzyWuzzyWuzHebert for saying Ava finally brought a long-running Portal+ voice-assistant project to the point where it could genuinely be used; and to u/psavage123456 for reporting the Device Admin failure on a second-generation Portal+, which directly informed this release’s display-lock and panel-power repairs. My thanks again to itsgreat2misha for sharing a Portal tutorial that helps new users finish the installation. Some people brought encouragement, some brought a fault report, and some brought a guide. Every kind of response became part of making Ava better.

The words from @daydy16, @rdehuyss, @realroywalker, @zmd22, and @deergitseason in GitHub #188 restored some of the motivation to keep refining Ava. I especially appreciate @deergitseason returning with the result that 0.7.1 had been the most stable Portal release so far and that Bluetooth with Bermuda had remained solid. Thank you also to swifty in the Home Assistant community: saying that Ava turns devices headed for the trash into useful parts of a home describes the fable this project set out to tell.

FABLE does not claim that an old device can magically become young. It says that enough real support, honest feedback, and persistence can still change how its story ends. Thank you for giving me more reason to keep doing this carefully.

Please also take a look at Dashie Kiosk

During an ordinary bit of browsing, I opened Dashie’s Google Play page. What moved me first was not its feature list, but the warm, lived-in photographs taken by a real family. They reminded me what Home Assistant means to me: not another count of features on a screen, and not a contest over which developer moved faster, but technology finally returning to a home and making one family’s daily life a little better.

That is why I genuinely want to recommend Dashie Kiosk here. I have quietly followed the project for some time. I saw its author wrestle with its direction and seriously consider open sourcing it. I know that when one person slowly builds something from nothing, none of those choices are easy. Dashie has shaped its Home Assistant kiosk for Android tablets and televisions, photo screensavers, cameras, voice, and Music Assistant into something distinctly its own. This is not a polite exchange of recommendations. It is my honest feeling after watching the project: I wish you well, and I hope Dashie travels far.

0.7.1 made many old devices trustworthy with the screen off again. 0.7.2 asks the harder follow-up: when Bluetooth briefly goes quiet, two players disagree, a wake-word engine listens through a full day of television, and an old tablet still has to carry the home interface, can Ava recover without asking the user to intervene?

The answer is yes. This release does not buy reliability with more permanent background load. It improves the decisions Ava makes, keeps recovery measured, and moves more of the work that must run continuously into efficient native paths. This is a second, deeper pass across Bluetooth, voice, music, and the tablet experience.