- Mark 1
- Getting Started
- Pairing the Mark 1
- Mark 1 menu options
- Hardware information
- Common tasks performed on the Mark 1
- Installing Skills on the Mark 1
- Connecting to the Mark 1 via SSH
- Changing the password for the default user via SSH
- Setting up SSH to the Mark 1 using SSH keys
- Accessing the command line interface (CLI) of the Mark 1
- Enabling the LEARN function
- How to reimage a Mark 1 Device
- Reimaging steps
- What should I do if reimaging doesn't work?
- Keeping your Mark 1 Device updated
- Downgrading your Mark 1 Device to a lower version
- Common issues on Mark 1 Devices
- Hardware Hacking your Mark 1 Device
The Mark 1 device is an Enclosure for Mycroft, based on Raspberry Pi. It is designed as a reference hardware device, and is able to be easily modified, hacked and extended.
NOTE: Mark 1 devices are currently suitable for hardware hobbyists, developers and hackers. They are not average-consumer ready, but we are anticipating they will be in early 2018. If you have a Mark 1 and you're a general consumer, please leave Mark 1 on a shelf for a few months.)
This section of documentation assumes the following:
- That you have a Mycroft Mark 1 hardware Device
- That you are comfortable connecting devices to WiFi networks
- That you are comfortable issuing basic Linux commands
When you received your Mark 1, you would have received a blue-colored Getting Started guide (PDF, 290Kb).
Connect the Mark 1 power supply to a power outlet, and to the Mark 1 device. NOTE: If you are in a country other than the USA, you will need a power adapter to convert from the US power supply the Mark 1 ships with. Alternatively, use a 12V, 1A power supply for your country's power outlets.
The Mark 1 will boot up. It will then Speak:
"I need to be connected to the internet. Plug in a network cable, or connect to the SSID Mycroft with the password 12345678 and go to http://start.mycroft.ai"
Plug the Mark 1 into your router using an ethernet cable. The network should be automatically detected.
Using your computer or a mobile device, connect to the Wifi SSID
MYCROFT using the password "12345678". Once you are connected to this SSID, go to the web page http://start.mycroft.ai. A list of available WiFi networks will be presented. Select the WiFi network that you wish to connect the Mark 1 to, and enter the WiFi password. Mark 1 will attempt to connect to the WiFi network.
NOTE: Mark 1 cannot connect to WiFi networks that operate in the 5GHz band. You must select a WiFi network that operates in the 2.4GHz band.
@TODO I don't know what the limitations are around the WiFi networks that Mycroft can connect to - for instance, can Mycroft connect to WiFi networks that use certain types of authentication like WEP, or enterprise WPA2-PSK with things like Radius that are used in the enterprise? Don't know, flagging as @TODO
Once the Mark 1 is connected to the internet, a Registration Code will be Spoken, and displayed on the Mark 1's LED panel.
Once paired, you can then use basic Skills.
You can access the Mark 1 menu by pressing the top button for two seconds. Turn the top button anti-clockwise to scroll through menu options, then press the button to select that option.
The available menu options are:
ILLUM: This option allows you to control the brightness of Mark 1's Eyes, on a scale of 0 (eyes off) to 30 (maximum brightness). The Auto setting will set the brightness to 30, which is the maximum setting.
WIFI: This option allows you to connect or re-connect Mark 1 to your WiFi. This option is useful if your router changes, or your WiFi password changes, or you're moving your Mark 1 to a new location.
REBOOT: This option will reboot your Mark 1. NOTE: The reboot is immediate. This option is useful if you're experiencing issues with your Mark 1, or may be required as part of troubleshooting measures.
OFF: This option will put your Mark 1 into Standby Mode. You won't be able to use the Wake Word or make Utterances while Mark 1 is in Standby Mode. To wake Mark 1 up from Standby, press the top button for two seconds.
TEST: This option will immediately run a test sequence on your Mark 1. This option may be required as part of troubleshooting measures. To move through each of the tests, press the top button. Continue pressing the top button to exit the test sequence.
SSH: This option allows you to enable SSH connections to the Mark 1 Device, or to block SSH if it's enabled.
LEARN: This option allows you to enable the Learn functionality within Mycroft. If you've also opted-in on home.mycroft.ai, and Learn functionality is enabled, then Mycroft will record your voice when Speaking the Wake Word and Utterances. This data is then used anonymously to train Mycroft to better recognize the Wake Word and Utterances.
RESET: This option resets Mark 1 back to a factory default state. You may need to do this for troubleshooing, or if you're giving your Mark 1 to someone else. NOTE: If you're resetting your Mark 1, remember to remove the Device from home.mycroft.ai so that the Pairing is removed also
- DEMO: If this option is selected, Mark 1 will provide a short demonstration of functionality, whilst channelling his secret desire to be Eminem 🙂
- First, ensure that you've enabled SSH access.
- Ensure you know the IP address of your Mark 1 Device on your network. 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"
- Open up your favorite terminal program, like PuTTy on Windows, or a new terminal on Linux
- 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@example.com firstname.lastname@example.org'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 pi@mark_1:~ $
You are now connected to the Mark 1 via SSH.
If you would like to set up SSH access to your Mark 1 device using SSH keys instead of a password, then follow this guide on the Raspberry Pi documentation.
If you are SSH'd into the Mark 1 device, you are able to issue commands using the command line interface (CLI) instead of using voice. This bypasses the Speech To Text (STT) component of Mycroft.
python -m mycroft.client.text.main --quiet
You will now be able to type Utterances into the CLI.
The Learn functionality
If you've also opted-in on home.mycroft.ai, and Learn functionality is enabled, then Mycroft will record your voice when Speaking the Wake Word and Utterances. This data is then used anonymously to train Mycroft to better recognize the Wake Word and Utterances.
To enable the Learn functionality:
- Make sure that you've checked the 'Opt In' checkbox at home.mycroft.ai, Settings -> Basic.
- Next press the top button on your Mark 1. Turn the button to LEARN. Press the top button again. Turn the button to ALLOW. Mycroft will Speak:
"I will now upload interaction data to help make me smarter"
To reimage a Mark 1 Device, you will need:
- A MicroSD card reader - whether this is built in to your computer or works via USB adapter.
- You will need Etcher, a disk image writer, or equivalent software that writes disk images to a MicroSD card
- A torque screwdriver to unscrew the torque screws on the Mark 1 Device
- Download the software image. Save it to your computer. The Mark 1 disk image is available here
- Disconnect your Mark 1 from the power supply.
- Using your torque screwdriver, take apart your Mark 1. If you need help, this video from Geeked Out Solutions may be of assistance.
- Remove the Micro SD card from the Raspberry Pi board on the back of the Mark 1 unit. It should come out easily, and should not need to be forced.
- Insert the Micro SD card into the SD card slot on your computer. If your computer doesn't have a Micro SD card slot, you will need an external Micro SD card reader, or a SDHC card reader with a converter.
- Open Etcher, and follow the steps to burn the Mark 1 disk image that you downloaded in the first step onto the Micro SD card.
- Remove the Micro SD card from your computer / adapter and insert it into the Micro SD slot on the Raspberry Pi. Then, put the Mark 1 unit back together using the torque screws and screwdriver.
- Connect the Mark 1 unit back to the power supply.
- The Mark 1 unit should reboot and now be functioning correctly.
For more information, see the original forum post by Barney Woodrow.
If you prefer to use the Linux command line tool
dd to burn the disk image instead, follow these instructions:
- Download the Mark 1 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
- 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
.imgfile 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.
Micro SD cards have a finite lifespan. It is possible that the Micro SD card inside the Raspberry Pi inside the Mark 1 unit has suffered hardware failure. If this occurs, you will see symptoms such as:
- Mark 1 not booting successfully
- Strange appearance of eyes and mouth
- Mark 1 will be unresponsive to voice commands
If you believe your Micro SD card might have failed, please make contact with us so we can look into the issue further with you, and if warranted, provide a replacement.
Your Mark 1 device will check for updates around every hour. If new software is available, Mark 1 will automatically download the updates and apply them.
There's nothing else you need to do.
apt repo use to store the Mark 1 package,
mycroft-core - does not store package versions. However, the Mark 1 does cache
apt packages on the Device at:
So, in order to downgrade the Mark 1 Device, we need to do two things:
- remove the current
- manually install the archived package using
First, we remove the current
mycroft-core package. In the example below, the version is given as
0.9.12, but use the version you currently have installed.
sudo apt-get remove mycroft-core=0.9.12
Next, find the package in the archives that you want to install:
pi@mark_1:~ $ ls -las /var/cache/apt/archives/ | grep mycroft-core
dpkg to install the archive
sudo dpkg -i /path/to/file
You should then reboot the Mark 1.
There are several common issues with Mark 1 Devices. They are documented here to help you.
If your Mark 1 Device is frozen, reboot it by:
- Pressing the top button for 2 seconds, scrolling the button to select REBOOT then pressing the top button again to reboot.
- If this does not work, disconnect your Mark 1 Device from the power source, wait 10 seconds, then plug the Mark 1 back into the power source.
If you're interested in hardware hacking on your Mark 1 Device, the hardware schematics are open source and available for download.