Getting Started with ZYMKEY 2i


#1

SCOPE

Zymkey 2i is no longer available for new designs and is replaced by Zymkey 4i.

This Getting Started Guide applies to Zymkey 2i products only.

(product shipped before April 2017)

If you are using Zymkey 2i in your application, Contact Zymbit to discuss upgrading to Zymkey 4i.


BEFORE INSTALLING ZYMKEY

Configure the I2C Bus:

  1. ssh to your raspberry pi i.e. - ssh pi@raspberrypi.local

  2. sudo raspi-config

  3. From the gui, select Advanced Options (9) -> I2C (A7) -> Enable? (click Yes)

  4. Arrow Right to Finish

  5. Power down your Raspberry Pi

Connectors on Zymkey I2C

Install Zymkey I2C Hardware

This is a crucial step to get right. Be sure to follow the images below to ensure the first 10 GPIO pins are correctly aligned with the Zymkey header. Note: the coin cell battery should be facing up.


Fit i2c Zymkey with battery facing upwards. Be sure your i2c Zymkey is properly aligned with the first 10 GPIO pins and that pressed firmly down onto the header. If missaligned, this could cause damage to the Zymkey and/or your Raspberry Pi. Your Zymkey should fit relatively snug and maintain tight interference fit around the pins.

Zymkey occupies 10 pins on the GPIO header. It can also be used with Pi Plate devices attached, or other i2c devices attached. See options later for correct address range and use of IO pins.

Option: Using Zymkey with another Pi Plate fitted.

Power On, Confirm Operation

Finally, power up the pi and you will see a blue led blinking consistently. If you see sporadic blinking, this is an error message and you should check your connections.

Software Package Installation

For a bare raspbian system, first:

ssh pi@raspberrypi.local

Note: Your Zymkey will require a number of packages to be installed from the Raspberry Pi and Zymbit apt repositories. The following setup script will be installing a number of files and software packages on your system:

  • Docker and docker-compose
  • Zymbit .service files located in the /etc/systemd/system directory
  • pip

Download and install the necessary Zymbit Cloud services
curl -G https://s3.amazonaws.com/zymbit-apt/setup.sh | sudo bash
(grab a cup of coffee because this will take some time :coffee:)

Bind Zymkey to Host

Your I2C Zymkey should alread be plugged into the host Pi.

  1. Visit https://console.zymbit.com/

  2. Sign up and create a new project

  3. Copy the bootstrap key as shown:

  4. Return to the shell and paste in your bootstrap key in the following configuration file:
    sudo nano /etc/systemd/system/zymbit-connect.service.d/10-env.conf
    The configuration file should look similar to this when you are finished with step 4.

    [Service]
    Environment="BOOTSTRAP_KEY=d66R6HhxK8F3UrU3rj4Nvd9Kfth9GCvm"
    Environment="API_URL=https://api.zymbit.com/zymbit/v2"
    Environment=“CHECK_HOSTNAME=true”

    Reload the daemon: sudo systemctl daemon-reload

Final Step

Reload https://console.zymbit.com and you should see your device with a Zymkey status of unbound and the option to Bind now! Note: this could be delayed about a minute. Right now your pi is starting up the Zymbit connect service for the first time.

Click the Bind Now! Button and the Zymkey LED should turn a solid blue. Your Zymkey is now bound!





Applications

Please read the Zymkey community pages for documentation on:

The quickest way to get started is to see the various methods at work by running these scripts:

python /usr/local/share/zymkey/examples/zk_app_utils_test.py
python /usr/local/share/zymkey/examples/zk_crypto_test.py


#2

This topic is now a banner. It will appear at the top of every page until it is dismissed by the user.


#3

This topic is no longer a banner. It will no longer appear at the top of every page.


#4

#5

#6

Finally I’ve found a time to connect ZYMKEY 2i to Raspberry Pi 3.

Unfortunately the webpage https://console.zymbit.com is not available.


#7

Wojciech,
Sorry you are having difficulties accessing the console service. We will take a look at the backend and get back to you in 24. A few other users have experienced intermittment problems, depending upon their service provider location/security policies. In those cases we have migrated them to zymkey 3i, free of charge.

The new zymkey 3i product does NOT require a cloud service to bind zymkey to the Raspberry Pi. We made this a standard feature as some users preferred not to hold key material in a centralized location, out of their control. Zymkey 3i does all binding local to the host which means that keys are fully under the control of the user at the time of configuration.

We will ship you a replacement zymkey 3i free of charge - for sure this will resolve any issues relating to binding through our console service.

Also we will take a look at the back end and see if we can resolve your specific issue.