← all repositories
alexa-pi/AlexaPi

Alexa on a Pi: the DIY voice assistant that outlived its welcome

A Python client that shoved Amazon's Alexa onto Raspberry Pi, Orange Pi, and random Linux boxes before the maintainers tapped out.

1.3k stars Python Chat Assistants
AlexaPi
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does AlexaPi is a Python client for Amazon’s Alexa voice service, built to run on cheap single-board computers and ordinary desktops alike. It handles audio input from a USB microphone, sends it to Amazon’s servers, and pipes the response back through a speaker. Optional GPIO wiring on Raspberry Pi adds a physical push-to-talk button and status LEDs for that proper appliance feel.

The interesting bit The project aimed for platform agnosticism at a time when most Alexa hacks were tightly bound to Raspberry Pi hardware. It also predated Amazon’s official push into embedded devices, making it an early sketch of what would become a product category. The README now gently redirects newcomers to ReSpeaker’s AVS project, suggesting the maintainers know when to fold.

Key highlights

  • Runs on Raspberry Pi, Orange Pi, CHIP, and generic Linux/Windows systems
  • Python-based with minimal hardware requirements (USB audio dongle, speaker)
  • Optional GPIO integration for push-to-talk and LED feedback on Raspberry Pi
  • Extensive wiki documentation with dedicated debugging sections
  • 1,329 stars, but explicitly flagged as no longer actively developed

Caveats

  • No active development; the maintainers themselves suggest considering alternatives
  • Requires fiddling with audio routing, which the wiki admits is a common pain point
  • Google+ community link still in the README, which tells you something about last updates

Verdict Grab this if you’re maintaining legacy Pi-based installations or want to study an early open-source Alexa client. Skip it for new projects—follow the maintainers’ own advice and look at ReSpeaker’s AVS implementation instead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.