Matrix Creator

Matrix Creator


What is The Matrix Creator?

The Matrix Creator is an impressive looking daughter board for the Raspberry Pi, and is loaded with masses of sensors and other gizmos. This makes it a great choice for a variety of different IoT applications such as drones, robots, home automation and security.

Matrix Creator

Board Features

The board is driven by a Xilinx Spartan 6 FPGA, and includes all of the following features:-

  • Ultraviolet sensor
  • Pressure sensor
  • 3D accelerometer
  • 3D gyroscope
  • 3D magnetometer
  • Humidity sensor
  • Array of 8 microphones
  • Temperature sensor
  • NFC reader
  • Ring of 35 RGBW LEDs
  • Ring of infrared LEDs for Raspberry Pi NOIR camera
  • Infrared transmitter and receiver
  • Thread mesh network support
  • Zigbee support
  • Z-Wave support

Although the Matrix Creator board does not actually include a camera, it does easily accommodate a Raspberry Pi NOIR camera board. To fit the camera to the Matrix Creator board, all that is needed is 4 M2 12mm nylon screws and matching nuts. We also used 4 nylon spacers to provide a little space between the camera chip and the Creator board. For maximum stability when mounted on the Raspberry Pi, a single M2.5 19mm standoff and matching screws could also be used.

Setting it Up

The Getting Started Guide for the Matrix Creator describes the setup for the Raspberry Pi, and how the Creator may be controlled from another computer using the Matrix Command Line Interface (CLI). However, we also found an excellent set of instructions at the Initial State web site, and following this guide allowed us to get the basic features of the Matrix Creator working.

Install NodeJS

Following these instructions, the first step is to update the Raspberry Pi software and then install NodeJS. This is done using the following terminal commands:-

sudo apt update
sudo apt upgrade
sudo reboot

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt install nodejs
sudo apt install build-essential

Install Matrix Creator Software

Having installed NodeJS, the next stage is to install the software that would allow us to interface to the Matrix Creator. This requires the following set of terminal commands:-

echo "deb http://packages.matrix.one/matrix-creator/ ./" | sudo tee --append /etc/apt/sources.list
sudo apt update
sudo apt upgrade
sudo apt install libzmq3-dev xc3sprog malos-eye
sudo apt install matrix-creator-malos matrix-creator-openocd
sudo apt install wiringpi matrix-creator-init cmake g++ git
sudo reboot
git clone https://github.com/matrix-io/matrix-creator-malos.git
cd matrix-creator-malos

git submodule init
git submodule update

Installing Additional NodeJS Modules

The Matrix Creator software includes a number of examples Python and JavaScript programs to test out many of the sensors on the Creator board. However, we found that it was necessary to install some additional NodeJS modules before we could successfully run these example programs. These modules are installed using the following terminal commands:-

sudo npm install protobufjs
sudo npm install zmq
sudo npm install matrix-protos
sudo npm install mic

Installing Additional Python Libraries

As with the JavaScript examples, we also found that for the Python examples to run successfully it was necessary to install some additional Python libraries. These are installed using the terminal commands:-

sudo apt install python-dev
sudo pip install protobuf
sudo pip install matrix_io-proto
sudo pip install tornado
sudo pip install pyzmq

Running The Examples Programs

And that’s it. Once the required software is installed, the example programs can be run. To run the JavaScript examples, navigate to the js_test folder using the command:-

cd /home/pi/matrix-creator-malos/src/js_test

This folder contains the JavaScript example scripts, which can be run using the ‘node’ command; for example:-

node test_everloop.js

To run the Python examples, navigate to the python_test folder:-

cd /home/pi/matrix-creator-malos/src/python_test

The Python test programs are run using the ‘python’ command; for example:-

python test_set_everloop_color.py

These example programs can be used as the basis as something more complex, and this is where the Matirx Creator board comes into its own. The large number of sensors and other features available allow the board to be used for any manner of different applications.

Have fun with it.