Looking For A Remote Microphone For Your Robot? Consider Amazon Echo (alexa)


In searching for a noise tolerant microphone for my EZ-Robot AdventureBot I checked out the Amazon Echo product which has a great feature in its always-on array microphones. You can even place several low-cost Echo Dots ($50) around your home to enable multi room use. The problem was how to get it to talk to EZB.

The answer is, as pointed out by @Mickey666Maus in a previous post, the free web service called IFTTT (If This This Than That). IFTTT has a built-in interface (Channel) that supports Amazon Echo and includes a user defined Channel called Maker that offers a means to send http commands to devices.

1. Add an HTTP server control and start it in EZ Builder. In my case I used port 8010.

2. Add port forwarding in your router to direct this port to your PC that is running EZ-Builder

3. Create scripts in Script Manager to perform tasks; e.g. forward, stop, reverse, battery level

4. Create Applets in IFTTT to trigger (the IF part) from Amazon Alexa Channel to invoke actions (the THEN part) in the Maker Webhooks Channel to launch the scripts in EZ-Builder.

5. Test the applets by speaking to the Amazon Echo and watch the EZB robot respond

In practice, this gives a neat way to have a walk around “remote microphone” to control your EZB robot or even just perform a simple verbal battery level check.

If desired, you could even add the $30 “Amazon Voice Remote for Amazon Echo and Echo Dot” to have a handheld microphone

If there’s enough interest in this, I could write up a tutorial with detailed instructions


Thank you for posting this.
I already have echo.'s in the two rooms that operate robots, and the echos have excellent microphones that pickup commands with other room noise going on.
Are you actually using this now?
What are the trigger phrases, Alexa, tell maker to move robot forward?
Thank You,
Steve S


Very interested in this.


A tutorial would be great !


A tutorial on this would be very appreciated, because this is kind of a tedious setup...I did it some time ago, but a reference tutorial always comes in handy when you are fiddling with port forwarding and the likes since this is always driving me nuts!

I remember that I had some issues with keeping a fixed IP adress, it's been a while since I used this setup, but I was planning to tie it back in since I wanted to integrate my Fitbit and maybe the weather channel or some other stuff... Grin


It looks like there is enough interest in a tutorial, so I'll get started on that. In the meantime, here are some answers to your questions.

@Steve S
Yep, its actually working now. See attached video

Please note that I changed the Amazon Echo "wake word" from "Alexa" to "Computer". You must say the word "trigger" to get the Echo to look at the IFTTT commands. Also, the Echo confirms the command by saying "sending that to IFTTT"

User-inserted image

Thanks again for the initial tips on how to use IFTTT with EZB. One way to solve the "fixed IP" address problem is to use a free service such as DynDns.org on your router. I will include this tip in the tutorial as well as other troubleshooting info



Glad there is enough interest.
The Phrase used, was not too intrusive.
Thanks for showing video.
Steve S


Tutorial is published.
Feel free to suggest improvements

User-inserted image



Edited: I see that you did briefly cover this. I missed it the first time through the tutorial.

Great tutorial. Note, unless you have a static IP address (rare) you will need to modify your IFTTT script every time your router reboots and possibly more often depending on your ISP.

This can be solved by using a dynamic dns service like dyndns or noip which gives you a host name, and client software that you run on your Windows pc and it updates the DNS settings when your ip address changes (support for some of these services may also be built into your router so you don't need a pc running, although of course you do to have EZ-Builder listening.)



Awesome first tutorial!

In the tutorial, you create scripts for movements (i.e. Forward, left, stop, etc)

That step can be skipped because the http server can execute ezscript commands directly, rather than ControlCommand()

For example: forward() or stop()