Intro: Google AIY VoiceHAT for Raspberry Pi Kit (MagPi 57 Version 2017)
Assembly tips for the MagPi voice kit not found in the tutorials.
Step 1: What Is the AIY Voice Kit? (MagPi May 2017 Version)
What happens when Google give AI Voice to the Maker community? A complete free DIY hardware kit for your Raspberry Pi 3 (not included) with issue 57 of MagPi magazine!
Read more here https://www.raspberrypi.org/magpi/issues/57/
or on Google https://aiyprojects.withgoogle.com
* MagPi 2017 vs new 2018 version comparison by Alasdair Allan at Medium.com
I found a kit yesterday and it was a 'piece of pie' to assemble it.
Fold the box, attach the VoiceHAT board on your Raspberry, assemble the push-to-ask/activate big button, fix speaker wires, attach cables to button and Mic stereo board, put in box. Get and flash prepared OS with SDK image to a SD card, boot and setup the software following the instructions in the magazine or from Google project site. And it simply works!
There were a few quirks that can mess up the otherwise supercool AIY experience.
Here follows some extra Assembly tips.
* Edit note: Revised and updated where MagPi version (from May 2017) are different from the new version found at target.com (2018). Google also released a Vision Kit with a camera module (not included in any Voice Kit versions). For instructions on any other version not from MagPi 2017 go to AIY Projects with Google.
Step 2: Mic Board
Mic board. A great piece of hardware but due to the soldered wires pointing out it will fold/drop into the box. This issue can lead to a bad experience if your voice can't be analyzed properly.
The Mic works much better if it is firmly pressed flat in the lid of the box instead of an angle. Fix this easily by cutting a thin line in the cardboard or make five small holes where the soldered pins will fit. Just deep enough so the board will stay flat after closing the lid.
I used the white carton paper from the kit as a support for keeping the board in place. Cut the paper in half and fold it two or three times. Place it carefully in the back of the speaker under the Mic board and make certain that the connector and cables fit inside and that the support absolutely don't mess with the surface mount components, or the board will be damaged! Stick to only using Scotch-tape as instructed in the MagPi guide if you are not sure how to place the support (pun intended).
And yes, the text "Left" and "Right" on the board are printed on both sides.
Just don't think about it. It will work.
(Note: The 2018 Voice Kit do not have a separate Mic board! Everything is on a single Voice Bonnet board.)
Step 3: Big Button
A button. What can possibly go wrong?
Well, you can place the LED the wrong way (just pull it out and reverse to fix) and the switch itself is quite wide and need a good angle to be able to close the lid (loosen, rotate a bit, align wires to fix). See picture.
When fitting the switch into the plastic adapter clip, use the lower peg first and then slide into the second top peg may be a little bit more easy than the reverse.
Also check contacts again to make sure the colors from the guide match yours for the button to work.
(Note: The 2018 Voice Kit have a new "short" button without the plastic adapter kit. Just plug and play.)
Step 4: No Creditcard, No Google API?
Setting up the API after boot, without a credit card.
Just follow the steps in the guide (page 28 i the magazine) and redo them and triple check typos if you are not used to messing around in the OS.
Step 6 is a bit of a pitfall where you only need the free "Google Assistant API", don't bother with "Speech API" that requires register a credit card. The project totally works with the one free API, thank you very much Google.
The "copy and paste code" in Step 14 wasn't needed for me so if you get a happy message and no code in the browser, don't worry. The guide is wrong, not Google.
(Note:Alasdair Allan at Medium.com have included a well documented guide on how to setup Voice Kit with Google Cloud Platform account for his 2018 version of Voice Kit. Here is The MagPi issue 57 (2017).)
Step 5: Talk to Google Assistant
The VoiceHAT is by itself a great breakout board for any Raspberry Pi with headers soldered on. There are unsoldered pads for I2C, SPI, one more optional speaker, four drivers and six servos with mosfets, external power socket, and some unknown connected or unconnected unsoldered jumper pads. It's a lot more bang for the bucks than just giving a Voice to Google.
Element 14 user Shabaz have tried to figure out the schematics and components.
(Edit: now a "member only" article, I removed the http link from text.)
Some even had success with Googles' SDK working on a tiny Zero board*. It may work but the Pi 3 is really the best way to go for this kit. Especially if you consider using servos or drivers with the advanced (12 months trial) "Speech API" for business projects.
The speaker is huge and give the AI a really good voice. You can lower the voice in the OS by adjusting speaker volume. The default 'unrecognized question' - try again - feedback voice have a crazy bad quality but don't worry, answers to your questions will sound perfectly natural if everything works correct. Note that the speaker is set as default in the AIY image disabling HDMI sound output, it's not a bug.
Ask interesting questions like this one; "What is Soylent Green made of?".
Go nuts :)
(* Note: The new 2018 version of Voice Kit now includes a RaspberryPi Zero WiFi board!)
Step 6: What's Next?
You now have the foundation of Googles AI and Cloud services in a box.
Any ideas should be possible to make with some magic AI and Tensor Flow.
I'm thinking connecting an Oled display or LEDmatrix to display emotions like in the movie "Moon" would be fun.
A rotary encoder would be useful to adjust speaker volume.
Then place it on wheels to make a shaming or pop-up ad bot like in "The Zero Theorem".
Or why not remove all buttons and control everything over BT?
I think I have to ask Google one more time...
ps. The backdrop for my assembled Ask-Anything--Magic-Voice-Box pictures are a friends LP's that perfectly fit this Instructable topic, have a second look.