The one room a phone
does not follow you into
· Ritesh Bonthalakoti
Ideas turn up wherever you are. There is one room where you cannot write them down, and everybody knows which one it is.
VAHA was built for that room. It listens for its name, records what you say, transcribes it on the spot, and files it with the temperature, humidity, air quality and water flow at the moment you said it. It was our entry to the Arduino Physical AI Challenge India 2026, run by Robu.in with Arduino, under team ID APC-2026-AP-13507.
Everything happens on the board
You say "Marvin" and it starts listening. You say "I'm done" and it stops, or it stops on its own after ten seconds of quiet. The wake word is spotted by a model trained on our own voice recordings. The audio is captured at 48 kHz, downsampled, and transcribed by faster-whisper running int8 on the CPU of the board itself.
No audio leaves the device. No text leaves the device. Nothing about it needs the house to have working internet, and anything that syncs anywhere else is something you switch on yourself — which is the same argument we make about everything we build, and the reason the bathroom was a fair test rather than a joke.
What it is made of
An Arduino UNO Q carries both halves: a Linux runtime for the voice work and a microcontroller core for the sensors. A DHT22 reads temperature and humidity, an AGS02MA reads air quality over I2C, and a hall-effect flow sensor sits in-line on the tap at 7.5 pulses per litre per minute. A USB lavalier microphone goes in; a PAM8403 amplifier and a 4-ohm speaker come out, so the device can answer.
What we measured
Two numbers, and they are worth keeping apart. The wake-word model validated at 98.7% in Edge Impulse Studio, on a held-out split of 1,800 samples augmented from 48 recordings of our own voices. That is a number about a training set, not about a bathroom.
Separately: thirty-four capture attempts in a real bathroom, with the exhaust fan running and the tap open, because a wake word that only works in a quiet office is not a wake word. Detection held across all thirty-four — though those same runs are what set the thresholds we now use, 0.75 for the wake word and 0.80 for the stop phrase, which makes them a check rather than an independent test.
- ~30% peak CPU on the UNO Q during on-device transcription.
- ~250 ms average sync-initiation latency per capture package.
- ~1.5 MB/s transfer to the phone over local wifi.
- Under 10 ms for a sensor reading to reach the app over the socket.
- Zero corrupted transfers. Every capture carries an MD5 checksum and every one of them verified.
What we have not measured, and should say so: there is no formal noise-robustness benchmark. Accuracy drops in very high background noise — a running shower, for instance — and thirty-four attempts with a fan on is a start, not a characterisation. There is no word-error rate for the transcription stage either. Both are on the list.
What it was, what it was not
VAHA was a competition entry, built by one person over four months, and it is not one of the two product lines we are working towards. We are publishing it because it was judged in public and because the parts of it that matter — a wake word tested with the fan running, transcription that never leaves the room, sensing that gives a note a context — are the same parts everything else here stands on.
The report, the schematics and the demo are on GitHub, and they are more detailed than this page is.