Introduction: Own Version of Amazon Echo

About: im a mechanical engineering graduate

Hi guys,
I think everyone knows about the amazon's latest product Amazon Echo which is a voice controlled device i.e. we can control the device with our voice and it can even talk to us.
So inspired by this idea i've created my own version, which can also be controlled by the voice and even it can control the home appliance with our voice commands.

Step 1: Materials Required

parts no. of parts

1.Arduino uno - 1
2.Arduino mega -1
3.Voice recognition module -1
4.Sd card module -1
5.Audio amplifier -1
6.Speaker. -1
7.Relay 8 channel -1
8.Temperature and humidity sensor(DHT11) -1

9.Gas/smoke sensor (MQ2). -1
10.Motion sensor (PIR) -1
11.OLED display (0.96 inch) -1
12.Buzzers -4
13.Bread board -1
14.M-M, M-F connecting wires
15.Power supply (9-12v)

All these equipments i've gathered from my nearest electronic store.

In this instructable i am going to split the whole process into parts to simplify the process.
1-talking robot part
2-sensors part

Step 2: Talking Robot Part

(for this part I'm going to use arduino uno)
Here in this part you'll get to know about how to make talking robot.
With the help of VR module(voice recognition module) the robot can listen to my voice commands. And with help of Sd card module and speaker the robot can speak.

To simplify the connections of multiple modules here i'm going to split this further.
1-voice recognition module connection with arduino
2-SD card + speaker connection with arduino

1) Voice recognition module connection with arduino

Arduino D2 pin -- txd pin

Arduino D3 pin -- rxd pin

Arduino 5v pin -- vcc pin

Arduino gnd pin-- gnd pin

voice recognition module needs library, you can download the library from here VR3 module library

2) Sd card + speaker connection

Arduino D4 -- Sd cs pin

Arduino D11 -- Sd MOSI pin

Arduino D12 -- Sd MISO pin

Arduino D13 -- Sd SCK pin

Arduino 5v -- Sd vcc pin

Arduino gnd -- Sd gnd pin

The signals from the arduino are not enough for the speaker for that i've used Lm386 audio amplifier.

for SD card module you need to install sd library. you can download the SD library here sd library

Connect audio amplifier to speaker

Speaker +ve -- amplifier +ve

Speaker -ve -- amplifier -ve

Connect to audio amplifier to arduino

Arduino D9 -- amplifier IN pin

Arduino gnd -- amplifier gnd pin

External power source 9-12v to amplifier

This power source is used to amplify the signals coming from the arduino.

Battery +ve -- amplifier +ve

Battery -ve -- amplifier gnd

Note: Short the gnd of arduino and battery

With this all connections of this part are completed.

Preparation of VR module for listening

For this you can find a pdf file in the below link.

VR3 manual

Preparation of Sd card module for speaking

For the preparation we need audio files in wav format so that it can speak.

These audio files can be prepared by using voice recording apps in android phones.

Features of audio files should be:

Bit resolution -- 8

Sampling rate -- 16000hz

Audio channel -- mono

Format -- .wav

(There is one more alternative for this, instead of using Sd card module you guys can use text to speech synthesizer circuit which is available in the market.

In this there is no need of preparing the audio files separately because it can convert the text into speech on its own.)

here you can covert text in to speech text 2 speech

here you can convert mp3 file into .wav file mp3 to wav format convert

Step 3: Sensors Part

(in this part i'm using arduino mega)

Here i'll connect the sensors
Dht 11- to get the temp. and humidity
MQ2 - to detect the gas leakage or smoke
PIR - to detect the motion

To display the DHT data i've used OLED display and for gas sensor i've used buzzers which will be activated when sensor detects the gas leakage/smoke. For motion sensor i've used decorative LED's which will be turned ON when the motion is detected.

DHT connection

arduino D2 -- DHT OUT pin

arduino 5v -- DHT vcc pin

arduino gnd -- DHT gnd pin

for DHT sensor library is necessary you can download the library from here DHT library

PIR sensor connection
arduino D4 -- PIR OUT pin

arduino 5v -- PIR vcc pin

arduino gnd -- PIR gnd pin

MQ3 connection

arduino A14 -- MQ3 A0 pin

arduino 5v -- MQ3 vcc pin

arduino gnd -- MQ3 gnd pin
OLED display connection

arduino D12 -- OLED CS pin

arduino D11 -- OLED DC pin

arduino D13 -- OLED RST pin

arduino D9 -- OLED SDA pin

arduino D10 -- OLED SCK pin

arduino 5v -- OLED vcc pin

arduino gnd -- OLED gnd pin

to make the oled working some library files will be needed you can download them here. gfx library

ssd1306 library

Buzzers connection

Buzzers connection is similar to the led connection.

Step 4: Adding Leds

Here i'm adding LED's to make the robot attractive. So whenever I say 'Wakeup' these LED's will be turned ON creating a feel that robot is going to turn ON.
For this i've used 16 LED's which are connected to arduino mega (I can't connect the LED's to arduino uno //which works as talking robot//
Because i'm exhausted with the pins) that is why i've used 2 arduinos.
And here i'll make 2 arduinos to communicate with each other.
This is simple when I say wakeup the arduino will to that command and will give the command analogWrite(A0,500) (because i've connected arduino uno A0 to arduino Mega A15. So whenever arduino mega receives this command it will activate the Led's.

Step 5: Interfacing the Home Appliances With the Robot

For this part i've used RELAY 8 channel to the arduino uno. So whenever i want to turn ON the lights/fan I can control that just with my voice commands. So it will give you feel of iron man controls the devices with the help of JARVIS there.

Relay channel connection.

Step 6: Software and Source Code

Here is the list of source codes for each part of this instructable.

Actually for most of the parts you can find the basic programs in there respective libraries.

source code for arduino mega (i.e. sensors part) - test1

source code for arduino uno (i.e. talking robot part) --final talking

Step 7: Conclusion

So guys enjoy with this own version of amazon echo.

There is one drawback in this version this robot can't gather the data from Internet just like the amazon echo can do.
I'm working on that and i'll update that once it is done.

Thank you.

Step 8: Update

Actually I was thinking about to make this project compact because it just occupied a lot of space.
So this is the modified version of the previous one.

LED Contest 2017

Participated in the
LED Contest 2017

Arduino Contest 2017

Participated in the
Arduino Contest 2017

Remote Control Contest 2017

Participated in the
Remote Control Contest 2017