Idea Dabba: a Wearable Voice-First Idea Capture Device

by subash chandra bose in Circuits > Arduino

101 Views, 2 Favorites, 0 Comments

Idea Dabba: a Wearable Voice-First Idea Capture Device

WhatsApp Image 2026-08-05 at 12.42.21 PM.jpeg
SA.jpeg

Ever had a great idea in the shower, on a walk, or half-asleep at 2 AM, and lost it by the time you found your phone?

Idea Dabba ("dabba" = box, in Tamil) is a pocket-sized gadget that fixes that. Speak your idea, it transcribes it, saves it, and pings it straight to your phone, no app to open, no lock screen to unlock.

Built around the Seeed XIAO ESP32S3 Sense and a 1.28" round touchscreen, it packs voice notes, a camera, an offline dictionary (English + English→Tamil), an AI assistant, and a battery-backed clock face into a single 3D-printed shell.

Supplies

1-104030087-seeed-studio-round-display-for-xiao-new-first.jpg
3-113991115-xiao-esp32-s3-sense.jpg
Screenshot_5-8-2026_143157_robu.in.jpeg
  1. Round Display for Seeed Studio XIAO
  2. Seeed Studio XIAO ESP32-S3 Sense
  3. WLY503040 3.7V 600mAh 1S LiPo Battery, Micro Rechargeable Battery Pack for Wearables / Micro Drone / IoT
  4. JST 1.25mm connector (female)
  5. PCF8563 RTC module + coin cell (optional, powers the offline clock screensaver)
  6. microSD card (a few MB is plenty; 300MB+ if you want the offline dictionary)
  7. M3x6 threaded inserts (heat-set into the printed shell)
  8. M2x7 bolts, 2 nos
  9. M3x8 bolts, 3 nos

The XIAO plugs directly into the back of the Round Display board, no wiring needed for the core electronics beyond the battery, switch, and (optional) RTC module.

Step 1: Get the Code

Screenshot 2026-08-05 144044.png
git clone https://github.com/subashchandraboseanuradha/Idea_dabba.git

Or, if you'd rather skip Git download it directly as a ZIP from

github.com/subashchandraboseanuradha/Idea_dabba (green Code button → Download ZIP), then unzip it.

Set Up Arduino

Install these libraries through the Library Manager:

  1. Seeed_GFX (TFT_eSPI fork), 2.0.3+
  2. Seeed Arduino Round display, 1.0.0+
  3. lvgl, 8.3.11 (it's compiled in but not actually used, see note below)
  4. ESP_I2S (comes bundled with ESP32 Arduino 3.x)

Board settings:

  1. Board: esp32 by Espressif, 3.3.5+
  2. Board target: XIAO_ESP32S3
  3. Partition scheme: max_app_8MB (Maximum APP, No OTA)
  4. PSRAM: OPI PSRAM, this one's required, the audio buffer, camera frames, and TLS all need it

(Side note: LVGL is in the library list but the screen actually draws with TFT_eSPI directly. LVGL's just compiled in for build compatibility, never actually called.)

Add Your API Keys

Screenshot 2026-08-05 145111.png
Screenshot 2026-08-05 145157.png
Screenshot 2026-08-05 150207.png

You really only need WiFi + Deepgram to get it booting and recording. Everything else is optional, if you skip a key the matching feature just won't work until you add it.

  1. WIFI_SSID_1..3 / WIFI_PASS_1..3 — your WiFi network(s)
  2. DEEPGRAM_API_KEY — for voice transcription, free tier at deepgram.com
  3. OPENROUTER_API_KEY — for AI Ask + Tamil translations, free tier at openrouter.ai
  4. MERRIAM_WEBSTER_API_KEY — dictionary fallback, free at dictionaryapi.com
  5. MERRIAM_WEBSTER_COLLEGIATE_API_KEY — broader dictionary fallback, separate free key from the same site
  6. TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID — for mirroring notes to your phone. Message @BotFather → /newbot for the token, then message your new bot once and pull your chat ID from a getUpdates call (or just use @userinfobot)


Just don't commit secrets.h anywhere, it's already in .gitignore for a reason.

Flash It

Plug the XIAO in over USB-C, pick the right port, hit Upload. Do this before you seal it into the case, way easier to debug on the bench.

Print the Case

F.jpeg
WhatsApp Image 2026-08-05 at 12.42.20 PM.jpeg
WhatsApp Image 2026-08-05 at 2.13.13 PM.jpeg
WhatsApp Image 2026-xX08-05 at 2.13.13 PM.jpeg

Case is designed in Fusion 360, free to use

Print it, then slot your XIAO + Round Display in. (Drop your print settings here once you've dialed them in, layer height, supports, print time, whatever's useful.)

Fasteners: M3x6 threaded inserts (heat-set), M2x7 bolts, M3x8 bolts.

Power switch: the case has a cutout for one, 15.5mm x 8.9mm. The onboard switch on the display board is too fiddly to reach once it's inside the case, so I wired an inline rocker switch instead, in series with the battery's negative wire. One leg to the battery's black wire, the other to the board's battery-negative input. Positive wire just runs straight through.

Downloads

Try It Out

6b34185a-866a-4e4c-a644-28c698b1d51c.jpeg
caeaba6a-ef77-41eb-9ab6-c71f64d4692e.jpeg

You'll land on a swipeable icon grid with little hand-drawn mascot icons:

  1. Page 1: Record, Camera, Ideas, Dictionary
  2. Page 2: Ask AI, WiFi

A few things worth trying:

  1. Record an idea, it auto-stops at 20 seconds, transcribes via Deepgram, saves it, and syncs to Telegram if you're online. Offline, it just queues and retries later.
  2. Ideas lets you scroll and read saved notes, swipe between them, double-tap to delete.
  3. Camera has a live preview, filters (Normal/Negative/B&W/tint/Sepia), and a gallery.
  4. Dictionary checks offline first (if you set that up), then Merriam-Webster, then falls back to AI as a last resort.
  5. Ask AI lets you ask a question by voice, with an optional photo for context.
  6. Clock screensaver kicks in after 20 seconds idle, if the RTC's wired up. Any touch brings you back.
  7. WiFi panel shows saved and in-range networks so you can switch on the fly.

Every note and photo also mirrors live to a Telegram bot the moment it saves, so you can just check your phone. First connection also backfills anything already on the card.

Known Limitations

  1. Sleep mode's disabled, the touch IC causes an instant wake loop otherwise
  2. Recordings cap at 20 seconds, that's an upload-size thing, not a hardware limit
  3. Camera occasionally fails to init at boot, in my experience this has always been a loose FPC ribbon cable, not a firmware bug
  4. Telegram sync is best-effort, if WiFi's down at the exact moment something saves, it just won't sync (SD card is always the real source of truth)
  5. Offline Tamil dictionary only covers ~5,000 common words, rarer words fall back to AI
  6. No RTC or dead coin cell just means you stay on the icon grid, never shows a wrong time

Wrap-Up

That's Idea Dabba. Full source and updates at github.com/subashchandraboseanuradha/Idea_dabba. If you build one, I'd love to see it, and PRs/issues are always welcome.