5 Lessons Learned from Making an Alexa (instead of buying one)
I just spent over 6 hours of my life making something that I could have simply ordered on Amazon.
I'm talking about Amazon's latest gadget, the Amazon Echo, aka Alexa. The Amazon Echo is a voice-activated Artificial Intelligence device with a speaker, somewhat similar to Apple's Siri. Amazon touts this device plays music on demand from various music and radio services, interacts with you (Q&A), and can be a hub for smart home automation. Is the Amazon Echo the next Kindle for Amazon?
I discovered the DIY Alexa project one morning as I was checking my Twitter feed and saw the tweet posted from my friends at stable|kernel
Why did I build my own Alexa?
Curiosity - The instructions stated "some coding experience needed" How hard could it be to make an Alexa?
Street Cred - After never practicing 'real EE' in my career, part of me felt like I had something to prove.
Fun - Perhaps my definition of fun is different from the normal person, but honestly this project sounded like Fun!
- Did I know how long it would take us to build the Alexa? No.
- Was I confident that I would be able to complete the project or if it would work properly? No, but it would be fun trying.
- Did I know what I was doing? Not really.
- Was that going to stop me? No way.
I worked on this project for 6 days on my lunch hour with Steve Youngblood. We invited everyone in the office to watch and participate and dubbed the name, "Brown Bag with CraftyC and NewBrew." We followed instructions posted on GitHub. I recorded the entire project for your entertainment right here.
Summary by Day
- Day 1: Load the Operating System
- Day 2: Install Maven. Install VNC server.
- Day 3: Wonder why we installed VNC server as now the fonts were tiny and we could hardly see the screen.
- Day 4: Update the config.js and config.json; Configure my Amazon Developer account
- Day 5: Troubleshoot our work from day 4.
- Alexa has an attitude problem. To test the Alexa, I would say, "What is 1+1?" Alexa would respond, "1+1=2. But I think you knew that already."
- The initial working DIY Alexa did NOT include music streaming services, but included TuneIn radio. While I was unable to play music from my Amazon Music account; I was able to listen to radio stations from TuneIn radio such as WSB Atlanta. I later changed a configuration in my Amazon Developer account, and after 2 weeks, received approval from Amazon to listen to my Amazon Music on my homemade Alexa. I never got Pandora radio working.
- DOS / UNIX commands (circa 1993) are not dead. I found my old "cd" = "change directory" and "ls" = "list" came in very handy on the OS of the Raspberry Pi.
- VNC Server was not a requirement for the Alexa to work. It turned out to be nothing more than a visual command interface.
- It would have been much faster to buy the Alexa, but only half the fun. But I think you knew that already!
A few weeks later, I submitted my own Alexa Skill to Amazon and it was approved as one of the first 999 Alexa Skills. Check it out here.