Build Mycroft on Pi4

I have been playing with the Mycroft for quite some time. Once you are hooked to

  • Playing news,
  • setting reminders,
  • checking your calendar,
  • playing music and
  • control your smart devices

It is hard to go back. While Mark-II is yet to hit the market. PiCroft is available on the new Hardware.

Yes, PiCroft has a Hardware Upgrade. Not to leave you shy there is a Software upgrade too!

Now with More processing power and RAM under its belt, there is not it cannot take on.

Here we are going to discuss

  1. How to Build one PiCroft
  2. What upgrades in Software and Hardware means?

So, Let’s get started.

Software Image

Image Download:

This is the most recent and stable release at this moment (for PiCroft). There is a lot happening on other release versions.

With upcoming Mark-II which has taken a different route on the Hardware side and doesn’t use Raspberry-Pi as the choice of the hardware. We shall discuss them post our DIY Session on PiCroft.

Bill of Materials (BOM)

  • Stable Stretch image – Raspberry Pi 3B+ or 4
  • Speaker
    Any analog speaker, or an HDMI monitor with speaker.No Blue tooth speakers. As a rule of thumb “No Bluetooth” for anything while building PiCroft. Reason is “ Mycroft has issues with keeping the Bluetooth ON all the time. Whether it is Speaker or MIC. BLE devices are designed to be battery conservative, so when BLE profiles where developed they were made to up/active for a duration and then go to sleep.” Surely not designed for 24/7 on listen mode.  Don’t get me wrong here there are devices in smart-office category doing that.
  • Microphone

Mycroft has to listen to your commands and if he/she understands it then he/she can comply.
List  is available below.

AmazonBasicsLJ-USM-001WorkingUSB Conference Microphone 
Andrea ElectronicsC1-1028100-3WorkingUSB Dongle (Mic array & Speaker 3.5mm)Superbeam Array Microphone Bundle SUMA (08a8:0016)
BlueSnowball iCEWorkingMicrophone 
CreativeVF0790WorkingMic and camera 
GoogleAIY v1WorkingMic and speaker 
JabraSpeak 410WorkingMic and speakerPremium microphone and speaker combination
LogitechC270WorkingMic and camera 
LogitechC525WorkingMic and camera 
LogitechWebcam Pro 9000WorkingMic and camera 
LogitechZ50WorkingSpeaker 
MatrixVoiceWorkingMic array 
PlayStationEye (PS3 Eye)WorkingMic and cameraAn excellent introductory model if you are just checking PiCroft out.
Seeed StudioMic Array 2.0WorkingMic arrayPremium microphone array
  • 2.5 Amp or better power supply
    Don’t skimp on this! It might appear to work, but you’ll have weird issues with a cheap supply. You need to get a recommended power supply. Mycroft Software package is requiring huge processing power. The Language processing and Heuristics will need to build a knowledge bank based on your phonetics and interaction; this isn’t an easy task!
  • MicroSD Card
    32GB. Well minimum requirement is 8GB, But still prefer to keep 32GB, Reason being Mycroft while in debug mode dumps lot of logs and You are running short of space after sometimes.
  • HDMI Monitor and keyboard only required during setup.

In general, Mic array audio platforms tend to perform better then single Mics, reasons being

 mic array is designed to capture voice in omni direction, and they have FAR field DSP Processors to detect & enhance Human voice in challenging environments.

If you experience any audio problems, please see the Audio Troubleshooting Guide.

Step 1: Burn the disk image to the Micro SD card

The Raspberry Pi official documentation provides an excellent tutorial on this, using Etcher software. We recommend that you burn the PiCroft image to the Micro SD card using Etcher.

If you prefer to use the Linux command line tool dd to burn the disk image instead, follow these instructions:

·  Download the PiCroft disk image

·  Insert the Micro SD card you wish to burn the image to. It must have a storage capacity of 8GB or higher.

·  Identify the path where the MicroSD card is mounted by running the command sudo fdisk -l. You will be able to tell the path based on the storage size of the device.

·  Keep a note of this – it will be something like /dev/sdb1

·  Unmount the disk so that no other operation can write to the device while it is being imaged using the command sudo umount /dev/sdb1. Make sure to substitute for the location of your device.

·  Run the command sudo dd if=path-to-your-image.img of=/dev/sdb1 bs=20M. Make sure to substitute the location of your device, and the path to the .img file you downloaded.

·  This will take several minutes to run. The command prompt will return if successful, otherwise an error message will be displayed on your terminal.

Step 2 : Seeing the output from PiCroft

If you would like to see the output of PiCroft on a monitor (rather than SSH’ing in to PiCroft), you can plug a HDMI monitor into the HDMI slot on the Raspberry Pi.

If you would like to connect a keyboard or mouse (rather than SSH’ing in to PiCroft), connect them via the USB slots on the Raspberry Pi.

In our experience, we’ve found most monitors, keyboards and mice are plug-and-play – i.e.. you shouldn’t have to install any additional drivers.

Step 3: Booting up PiCroft

Before powering on the Raspberry Pi Make sure you’ve

  • Burned the disk image to the Micro SD card, insert the Micro SD card into the Micro SD card slot on the Raspberry Pi.
  • Plug in your microphone.
  • Plug in speakers.
  • Plug in if you’re using a monitor and/or keyboard.

Next, plug in the power and connect the Micro USB cable to the Raspberry Pi. This “power on” the device.

If you have a HDMI monitor connected, you should start to see some output on screen.

If you’re going to ssh into PiCroft, do the following:

Step4:ssh into PiCroft

SSH access to PiCroft is enabled by default, so you don’t have to enable SSH access.

  • Ensure you know the IP address of your PiCroft Device on your network. If your PiCroft is already paired, then a handy way to do this is to install the IP Address Skill, and then Speak:

Hey Mycroft, what’s your IP address?

“here are my available IP addresses: wlan IP address … Those are all my available IP addresses”

If not, you will need to know what IP address your PiCroft has. You may need to log in to your router to find out the IP address of your PiCroft.

  • Open up your favorite terminal program, like PuTTy on Windows, or a new terminal on Linux
  • ssh [email protected]
  • The default password is mycroft, so enter this when prompted.
  • If you have successfully logged in via SSH you will see a command prompt like the one below:
  • $ ssh [email protected] <– in this case, the IP address was 192.168.0.13, your IP address may vary
  • [email protected]’s password:
  • The programs included with the Debian GNU/Linux system are free software;
  • the exact distribution terms for each program are described in the
  • individual files in /usr/share/doc/*/copyright.
  • Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  • permitted by applicable law.
  • Last login: Wed Oct 18 13:02:44 2017
  • [email protected]_1:~ $

You are now connected to PiCroft via SSH.

Step 5: Setting up PiCroft

On first boot, you will see a screen which looks similar to the one below:

PiCroft initial boot screen

PiCroft will then ask you whether you would like to do the guided setup or drop straight to a command line. If you are new to PiCroft, we recommend that you complete the guided setup.

Select “Y”

Step 6: Selecting audio output Device

NOTE: Audio output and audio input is the single most problematic part of PiCroft setup; we’ve tried to provide lots of guidance here to get you up and running, but you may need to experiment to find a solution for your chosen audio output and input devices.

The guided setup will then ask you to select your audio output device, as shown below:

Fig 2 PiCroft Select Audio

Enter the number 1, 2, 3 or 4 corresponding to:

Here you need to be extra careful. This step is all about the speakers, So what kind of speaker have you connected to Raspberry Pi

  1. If you have connected to tv vi HDMI port, then select option 2.
  2. If your speakers are connected via an audio jack, then select option 1.
  3. If you have a USB port audio device then select option 3.

Whatever you do Don’t mesh up this step. Take you time figure it out. Based on the recommended selection in Speaker. Below are the options.

Don’t reboot the device, unless you are using a USB audio speaker.

  • Next, test and adjust the volume.

Step 7: Selecting the Audio input aka Mic

The final step of the guided setup is microphone configuration. You will be asked to select your audio input device, as shown below:

PiCroft select audio input

PiCroft select audio input

Enter the number 1, 2, 3 or 4 corresponding to:

The guided setup will then do a microphone test to ensure your chosen microphone is working OK.

Recommended platform for audio input are

If you experience any audio problems, please see the Audio Troubleshooting Guide.

Step 8: Pairing the PiCroft

Once the PiCroft is connected to the internet, and you have run through the guided setup, PiCroft will reboot. PiCroft will boot into the mycroft-cli-client screen, and a Registration Code will be spoken, and will also be shown on the mycroft-cli-client screen, as shown below:

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x