Built to order

Bee-Inspired Always-On Voice Companion: Edge Wake-Word Wearable that Summarizes Conversations (ESP32 + On-Device AI)

This project builds a Bee-inspired always-on voice companion: an ESP32-S3 puck with an INMP441 I2S MEMS mic that listens locally, wakes on a tinyML wake word, and sends short speech snippets over BLE to a companion phone app that transcribes, summarizes and extracts to-dos and reminders fully offline. A hardware mute slider cuts mic power physically; an LED on the mic rail shows listening state in hardware. No audio ever leaves the phone — no accounts, no subscription. Suitable for B.E./B.Tech final-year projects in Electronics, IoT and Computer Engineering.

IoT & Embedded ESP32-S3INMP441 MEMS I2S microphoneVosk offline speech recognitionTinyML wake-word modelExtractive summarization + date extractionBLE audio snippet transferCompanion phone app · local SQLite3.7V LiPo + TP4056 chargerHybrid
Bee-Inspired Always-On Voice Companion: Edge Wake-Word Wearable that Summarizes Conversations (ESP32 + On-Device AI) — project thumbnail preview
More project photos (3)

The problem

Amazon's October 2026 Bee launch put an always-on listening wearable on the map: a device that sits on your wrist or phone, hears your conversations and hands you back summaries, to-dos, reminders and insights, with a physical mic button and an LED as its privacy story. Students want to build that — but the commercial route runs on cloud audio and a monthly subscription, and no student can audit a cloud pipeline. The gap is a Bee that never phones home. This project is that build: a small disc-shaped BLE puck carrying an ESP32-S3, an INMP441 I2S digital MEMS microphone, a hardware mute slider and a status LED, paired with a companion phone app. A tinyML wake-word model on the puck gates capture; voice-activity detection discards silence; short speech snippets cross BLE to the phone, where offline transcription (Vosk), extractive summarization and date/time extraction turn them into a conversation timeline — summary, to-dos, reminders — stored in local SQLite. The honest math: BLE throughput carries brief snippets, not continuous stereo, so the phone stays nearby and on-device transcription trades accuracy against the cloud's. What you get is a working edge-AI voice companion whose entire data flow a student can trace, measure and defend.

How it works

  1. Sound hits the INMP441's MEMS element — a microscopic silicon diaphragm whose deflection changes capacitance, digitized on-chip — and leaves as a 24-bit I2S stream into the ESP32-S3's hardware I2S peripheral.
  2. Voice-activity detection on one LX7 core rejects silence; the tinyML wake-word model on the other core continuously scores the stream for the "hey hive" phrase, with the threshold configurable in firmware.
  3. On a wake-word match, the puck opens a BLE link and sends short speech snippets (a few seconds each) to the paired phone; BLE throughput is the hard limit, so this is brief clips, never continuous stereo.
  4. The companion app receives each snippet, transcribes it offline with Vosk, then runs extractive summarization to compress the conversation to its key points.
  5. Date/time pattern matching scans the transcript for reminders ("tomorrow 10 AM") and action phrases become to-dos; the card is written to local SQLite with a timestamp and a location tag.
  6. The timeline UI renders the summary, chips and transcript snippet, and the privacy tab mirrors the puck's mute-slider and LED state; with the slider closed, the mic rail is unpowered and capture is physically impossible.

Tech stack:

  • ESP32-S3 (dual-core Xtensa LX7 · BLE + on-puck inference)
  • INMP441 I2S digital MEMS microphone
  • TinyML wake-word model (Edge Impulse-style workflow)
  • Voice-activity detection (on-puck gating)
  • Vosk offline speech recognition (small English model)
  • Extractive summarization (TextRank-style) + regex date/time extraction
  • Companion phone app + local SQLite storage
  • 3.7 V LiPo + TP4056 charge module (puck power)
Parameter Value
Controller ESP32-S3: dual-core Xtensa 32-bit LX7, up to 240 MHz (datasheet)
Microphone INMP441: I2S 24-bit digital MEMS, 61 dBA SNR, 60 Hz–15 kHz, −26 dBFS sensitivity (datasheet)
Audio path I2S digital stream, 16 kHz sample rate (design target)
Wake word TinyML model, default phrase "hey hive" (configurable in firmware)
Voice-activity gating Runs on the second core; only speech windows stream (implemented)
Wireless link BLE snippet transfer; phone within ~10 m line-of-sight typical (expected)
Transcription Vosk small English model (~40 MB) running offline on the phone (design reference)
Summarization Extractive TextRank-style, computed on-phone (implemented)
Reminder extraction Regex date/time pattern matching on the transcript (implemented)
Storage Local SQLite on the phone; no cloud, no accounts (implemented)
Battery 3.7 V LiPo with TP4056 charger, programmable up to 1 A (datasheet)
Battery life Expected 1–2 days of typical use (design target — depends on duty cycle)
Puck size Approximately 45 mm diameter disc, 3D-printed case (design target)
Parts budget Expected ₹12,000–₹20,000 (quotation basis — not a fixed price)

Project features

  • [TinyML wake-word detection] An on-device wake-word model ("hey hive", configurable) trained through an Edge Impulse-style workflow runs continuously on one ESP32-S3 core, so the puck only opens its BLE audio path after the phrase — nothing streams until the wake word lands.
  • [Voice-activity gating] A voice-activity detector on the second core discards silence and non-speech frames before they ever reach the radio, keeping BLE traffic to real speech windows and stretching battery life.
  • [INMP441 I2S digital microphone] The mic delivers 24-bit digital audio straight over I2S (61 dBA SNR, 60 Hz–15 kHz, −26 dBFS sensitivity — datasheet): no analog stage, no codec, no preamp noise path to debug.
  • [Hardware mute slider] A physical slide switch sits in series with the microphone supply. Closing it cuts mic power at the circuit level — firmware cannot override it, and the app reports the muted state.
  • [Mic-rail status LED] An amber LED wired to the microphone power rail, not to a GPIO: lit means the mic is powered, dark means it physically cannot be listening. Privacy you can verify with a multimeter.
  • [Offline transcription] Received snippets are transcribed on the phone with the Vosk small English model (~40 MB), entirely offline. Accuracy is below cloud services — stated honestly — but no audio is ever uploaded.
  • [Summaries, to-dos and reminders] An extractive TextRank-style summarizer condenses each conversation; date/time pattern matching pulls out reminders and action phrases as to-dos. Everything is computed on the phone.
  • [Local SQLite timeline] Every conversation card — summary, transcript snippet, to-dos, reminders — is stored in an on-phone SQLite database. There are no accounts, no servers and no sync, so the privacy architecture is the absence of a data path, not a promise.

What is included

  • Assembled listening puck: ESP32-S3, INMP441 mic, mute slider, status LED, LiPo + TP4056, 3D-printed disc case
  • Complete puck firmware source (Arduino IDE / ESP-IDF style) with wake-word threshold tuning guide
  • Companion phone app source with the conversation timeline and privacy panel (demo UI included)
  • Wake-word training workflow notes (Edge Impulse-style pipeline, configurable phrase)
  • Wiring diagram and puck assembly layout
  • 3D-print files for the disc case with mic-grille pattern
  • Component list with Indian supplier sourcing notes for the mic, S3 board and LiPo
  • Project report PDF (I2S audio path, tinyML pipeline, BLE limits, privacy architecture)
  • PPT presentation for final review
  • Viva Q&A preparation document (wake-word models, I2S vs analog mics, on-device vs cloud trade-offs, BLE throughput)

Limitations & prerequisites

  • BLE bandwidth is the hard ceiling: the link carries short speech snippets, not continuous stereo. Demos must be short conversations, and the phone must stay within a few metres of the puck.
  • On-device transcription is weaker than cloud services — expect word errors in noisy rooms, with accents, or with overlapping speakers. Vosk's small model is a design trade for offline privacy, not a quality claim.
  • Realistic battery life is 1–2 days of typical use, not weeks: the puck listens continuously, and VAD gating only trims the radio, not the always-on mic and inference cores.
  • The phone must stay nearby and paired. Walk away with the phone and the puck has nowhere to send audio — there is no onboard storage of conversations in the base build.
  • An always-on listener is a sensitive device: record only conversations you are part of and only with everyone's knowledge. The hardware mute slider exists for exactly this reason — use it, and say so in the viva.
  • 3.7 V LiPo packs demand discipline: charge through the TP4056 at a programmed rate suited to the cell, never puncture or over-discharge, and store at storage voltage between sessions.
  • Speaker diarization (who said what) is not in the base build — summaries attribute speech to the conversation, not to individuals. It is listed under future scope.

Frequently Asked Questions

How is this different from Amazon's Bee?

Bee is a commercial product: polished hardware, cloud audio processing and a paid subscription. This is the honest student-scale answer — a DIY puck and an app where every stage runs locally and the privacy story is physical (mute slider, mic-rail LED) rather than contractual. It demonstrates the same idea (listen → summarize → remind) without the cloud.

How accurate is the transcription?

Lower than cloud services, by design. The Vosk small English model runs fully offline on the phone, so noisy rooms, strong accents and overlapping speech produce word errors. The report documents this trade-off openly: privacy and offline operation are the features; transcription quality is the stated cost.

Does it need the internet?

No. Capture, wake-word detection, transcription, summarization and storage all run on the puck and the phone. Internet is only needed once, to install the app and download the Vosk model — after that the build is fully offline.

Is this project suitable for a final-year project?

Yes — for Electronics/E&TC, IoT/Embedded and Computer Engineering programs. It demonstrates I2S digital audio capture, tinyML wake-word inference on a dual-core MCU, BLE data transfer, offline speech recognition and extractive summarization in one working build, and the privacy architecture gives strong viva material on embedded design trade-offs.

Can it be customized?

Yes — the wake word can be retrained, the app UI and summary length are configurable, and a second language model can be swapped in. Speaker diarization and cloud backup of summaries (audio stays local) are realistic extensions; continuous stereo streaming is not, because of BLE limits.

Is it legal to record conversations with this?

Only with consent. The build is meant for your own conversations with everyone present aware of it — study groups, lab sessions, interviews you conduct. Recording people secretly can violate privacy law depending on your state. The hardware mute slider and LED exist so listening is always visible and stoppable.

Components & software requirements
  • ESP32-S3 (dual-core Xtensa LX7 · BLE + on-puck inference)
  • INMP441 I2S digital MEMS microphone
  • TinyML wake-word model (Edge Impulse-style workflow)
  • Voice-activity detection (on-puck gating)
  • Vosk offline speech recognition (small English model)
  • Extractive summarization (TextRank-style) + regex date/time extraction
  • Companion phone app + local SQLite storage
  • 3.7 V LiPo + TP4056 charge module (puck power)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation