Jarvisify Your Alexa

About the project

We all need Hey, JARVIS rather than Alexa. Isn't it?

Items used in this project

Hardware components

mini speaker mini speaker x 1
DFRobot USB Cable DFRobot USB Cable x 1
DFRobot DF Player mini DFRobot DF Player mini x 1
DFRobot Offline Voice recognition module DFRobot Offline Voice recognition module x 1
DFRobot Arduino Nano (or compatible board) DFRobot Arduino Nano (or compatible board) x 1

Software apps and online services

Arduino IDE Arduino IDE

Hand tools and fabrication machines

3D Printer (generic) 3D Printer (generic) x 1
Soldering iron (generic) Soldering iron (generic) x 1

Story

We all Love Iron Man's JARVIS and might have sometimes tried to build one by ourselves. How do I know? because I also tried that too😂. Building a JARVIS is more like a Software project and I love more hardware than software when I noticed that I already own an Amazon Alexa, I just needed to change its name. After spending weeks, I found that the name could not be changed. So, I thought why not add external hardware that can take a custom command and speak out Alexa at a very low level to activate it!

And that's exactly what I did. See it in action here before you make it:

Now convinced, let's begin:

STEP 1: Arduino Libraries

To make the project work, you need two libraries one for the "Offline Voice Recognition module" and the other for "DF Player mini". I am unable to upload the zip file of libraries here but you can download the same from here: https://electroboffin.com/curiosity-sparks/jarvisify-your-alexa/

STEP 2: Audio File

You will need an audio file that you will save to the Micro SD Card that will go to DF Player mini. In my case, I have changed the name of my Amazon Echo Dot to "Echo" rather than the default "Alexa" which can also be done by going to the Amazon Alexa mobile app. If you have also changed the name to "Echo" like I did. Otherwise, you can either record an mp3 with your voice saying the wake word (Alexa, Echo, Hey Google, Hey Siri, etc...) or use any online text-to-speech convertor website to achieve the same results.

Make sure to change the name of the audio file to "01.mp3", only then it will work. Please note that if you are thinking of changing the name in the code as per the audio file name, it won't work, DF Player Mini only supports the numerical file names.

You can download the audio file here(same as above): https://electroboffin.com/curiosity-sparks/jarvisify-your-alexa/

STEP 3: Add Custom Wake word

Once you are done uploading the code, now you have to add your custom wake-up word to the DF Robot's Offline Voice Recognition module by following the below steps:

  1. Initiate the voice assistant by employing the default wake-up word which is "Hey, robot"
  2. Utter "Learning wake word"
  3. Speak the designated wake-up word to be acquired: "Hey, JARVIS"
  4. The module will indicate by saying "Learning successful, please say it again!"
  5. Speak the designated wake-up word to be acquired again which is "Hey, JARVIS"
  6. The module will again indicate by saying "Learning successful, please say it again!"
  7. Speak the designated wake-up word to be acquired again which is "Hey, JARVIS"
  8. The module will indicate by saying "OK, Learning completed"

STEP 4: Upload the code

Once you are done with the above steps, the last step in the electronics is to upload the code to your development board which you can do very easily using Arduino IDE. Please make sure to add the library before you proceed with uploading the code, if you don't know how to do that, follow the below steps. If you already know, move on to the next step.

Steps for importing library:

  1. Open Arduino IDE and navigate to Sketch in the top bar as shown in the image below


  2. Click on "Add Zip library"

  3. The Zip file I provided has two libraries, unzip the given zip file and zip them individually and add one by one by following the above steps.

STEP 5: CAD Model

Now you might have already downloaded the given stl file for 3D printing, but if you wish to make one on your own, you might need the 3D models of the components, grab them from here:

  • Amazon Alexa Echo Dot Gen 3: https://grabcad.com/library/amazon-alexa-echo-dot-3-0-1
  • DF Player mini: https://grabcad.com/library/dfplayer-mini-3
  • Arduino Nano: https://grabcad.com/library/arduino-nano-ch430g-1
  • DF Robot Offline Voice Recognition module: https://electroboffin.com/product/eb24001/

  • STEP 6: Slicing


    Download the STL file and by using any of your favorite Slicing software, slice it. I have used Prusa Slicer and the following are the details that you are looking for

  • Bed Temperature- 60C (Room Temperature- 10C)
  • Nozzle Temperature- 210C (Room Temperature- 10C)
  • Support- Yes(Organic)- On build plate only
  • Infill- 15%
  • Nozzle- 0.4mm
  • Layer height- 0.2
  • STEP 7: Time for 3D printing



    3D Print the slice model and here are the details that you might need:

  • Material- PLA+
  • Time to Print- 3hr 49min
  • Material weight- 45.36g

  • STEP 8: Assembling




    The assembly is very straightforward, just follow the circuit diagram and you are good to go. The only thing you have to keep in mind is to connect the Power cable and the speaker at the end by inserting their wires from the circular holes provided. Rectangular holes are for the microphones of the Offline Voice recognition module. There is a slot provided inside on the back of the rectangular holes section and that's for the Gravity connector.


    Place your Alexa Echo Dot Gen 3 on the top and stick the speaker on one of the 4 microphones of the Echo Dot as shown above.

    STEP 9: Have fun with your own "JARVIS"

    You are good to go to do wonders with your JARVISified Alexa!!

    Happy Tinkering🚀

    Schematics, diagrams and documents

    Circuit diagram

    CAD, enclosures and custom parts

    Bottom Enclosure

    Code

    JARVISify Alexa

    Credits

    Leave your feedback...