Website Logo. Upload to /source/logo.png ; disable in /source/_includes/logo.html

Chris Meier

Software Developer and Co-founder of FoodChain

Mirror: The Open Source Amazon Echo

I recently got an Amazon Echo and I love using it. From its shopping list feature to playing my Pandora stations to its “flash briefing” news podcasts, it is thoroughly enjoyable. But its $180 price tag can be a bit steep. I decided to build one only using open source tools so that all may enjoy the awesomeness of an Echo.

So, what features should Mirror have? I certainly love the Echo’s home automation and the way that it connects to entertainment. Here’s a list of features that Mirror will have:

  1. Control Philips Hue light bulbs.
  2. Control WeMo power sockets
  3. Ordering Dominos Pizza
  4. Ordering a ride with Uber (this one may be a while)
  5. Being able to look up information
  6. Stream music
  7. Check the weather
  8. Create a shopping list

Mirror will be built using the Raspberry Pi for the hardware and Jasper for the voice recognition and command execution. We will also need a microphone to speak to Jasper. I used a simple webcam to do this. You can head on over to Jasper’s setup guide to get started. If you are using a platform that is armv6, you should check out my post on getting voice recognition working for Jasper. If you don’t have a Pi, something similar such as BeagleBone Black will work just fine.

Jasper has an great developer API that makes developing modules quick and easy. Mirror’s features will be available via Jasper modules and written in Python. Before we dive into developing modules for the features above, let take a look at what Jasper already offers us.

Jasper comes with built-in Spotify support, so you can play your sweet playlists right out of the box. There’s also a weather module that can give you the forecast for your area. It also has some pretty cool third party modules. A combination of a Wikipedia lookup, Wolfram Alpha access, movie information retrieval, and a module that will give you the definition of words will pretty much allow you to ask it whatever you want and get a useful answer. There is also an Evernote module that will store notes for you which you can use to create a shopping list. Already we have crossed off four items off our list. We’re off to a great start! Here’s what our list looks like now:

  1. Control Philips Hue light bulbs.
  2. Control WeMo power sockets
  3. Ordering Dominos Pizza
  4. Ordering a ride with Uber
  5. Being able to look up information (Wiki, Wolfram Apha, Movies, Define modules)
  6. Stream music (Built in Spotify module)
  7. Check the weather (Built in weather module)
  8. Create a shopping list (Evernote module)

This will leave four modules to develop ourselves. We will need to create controls for light bulbs, power sockets, ordering Uber rides, and ordering some delicious pizza. If you would like to join in the development of Mirror, feel free to write your own module and/or send in a pull request! The four modules will be as follows:

  1. Helios: Control Philips Hue light bulbs
  2. Mojave: Control WeMo devices
  3. Yfir: Order Uber rides with your voice
  4. Pizzeria: Easily order Domino’s pizza

I’m pretty excited to start developing Mirror. The modules will be developed separately over time and each will get its own blog post. This way we can dive deep into it and have some fun. Be sure to check back frequently to catch the latest updates!