Skip to content

fmacpro/david-m5stickc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

David: M5StickC Voice Assistant

This repository powers David, a conversational robot assistant running on an M5StickC.

What David Is

David is a tiny voice-first robot companion:

  • Runs directly on an M5StickC with an expressive face UI
  • Uses a Cloudflare Worker as a secure cloud gateway
  • Combines local interactivity with cloud AI for conversation

What David Does

  • Push-to-talk conversation (STT -> LLM -> TTS)
  • Answers spoken questions naturally
  • Speaks responses and shows glance-friendly visual overlays
  • Can fetch and display pictures on-screen when asked (for example "show me a cat")
  • Supports tamagotchi-style interactions like feeding and patting
  • Can draw simple shapes/icons on screen when asked
  • Reports internal device status (for example battery, time/date, and sensor context)
  • Uses device context (time, battery, sensors) in replies
  • Protects requests with signed auth, replay protection, and rate limits

David runs with:

  • Firmware on M5StickC (src/)
  • Cloudflare Worker backend (cloudflare-worker/)

Start Here

Repository Layout

  • src/: M5StickC firmware (PlatformIO / Arduino)
  • cloudflare-worker/: API gateway worker (TypeScript / Wrangler)
  • docs/: project documentation

Recommended Read Order

  1. Quick Setup
  2. Configuration Reference
  3. Worker Setup & Deployment
  4. Firmware Development
  5. Architecture
  6. Troubleshooting

Security

  • Secrets/config are local-only and gitignored (src/secrets.h, cloudflare-worker/.env, cloudflare-worker/wrangler.toml)
  • Worker enforces signed auth, replay protection, and rate limits

About

David is a tiny conversational assistant Firmware for M5StickC with a Cloudflare Worker backend for STT, chat, and TTS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors