Matrix Creator for the Raspberry Pi - Review

Table of contents

RoadTest: Matrix Creator for the Raspberry Pi

Author: ljakes

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: null

What were the biggest problems encountered?: Getting the MATRIX Creator to work with the published installation script for the MATRIX Core software on the Raspberry Pi

Detailed Review:

Introduction:

 

Thanks to Element 14 for the opportunity to thoroughly test this product to the best of my capability with the support test equipment and test aids that I have at hand.  For this roadtest I will document the installation and operation of a  Weather Monitor and Alert System using the Dark Sky API Solution.  Also I will run the available demo software to exercise the MATRIX Creator Hat Sensors and Indicators on the Raspberry Pi.

 

The MATRIX Creator is a wonderful device as it is packed with these features:

  • Microcontroller: Atmel Cortex-M3 ATSAM3S2
  • FPGA: Xilinx Spartan 6 XC6SLX4
  • Microphone Array: 8 MEMS MP34DB02 audio sensor digital microphones
  • IMU: ST LSM9DS1 3D accelerometer, 3D gyroscope, 3d magnetometer
  • Temperature / Reative Humidity: ST HTS221 capacitive digital sensor
  • Altitude Sensor: NXP MPL3115A2 precision pressure sensor with altimetry
  • zigbee: Silicon Labs EM358X - 2.4 GHz IEEE 802.15.4
  • Z-Wave: Sigma Designs ZM5202 - 868/908/921 MHz
  • IR Receiver: Vishay TSOP573 - carrier 38.0 kHz
  • IR Blaster: 2 Vishay LEDs (front and bottom), 930nm, 100mA, 120° viewing angle
  • Ultraviolet Sensor: Vishay VEML6070 UV light sensor
  • NFC: NXP PN512 NFC reader
  • Everloop: 35 RGBW LED
  • Software: Raspian, Debian, Andriod Things

 

 

 

Hardware /Software:

 

These are the products I received:

 

image

 

image

 

image

 

 

 

 

image

 

Element 14 provided me with the MATRIX Creator Hat and a Raspberry PI Model 3B as shown above.

 

 

 

These are items used that I had on hand:

image

Micro SD Flash Memory Card.

 

 

image

Logitech K400r keyboard.

 

image

5 volt 3 Amp ac to dc power adapter.

 

image

A 25 kHz ultrasonic transmitter.

 

 

 

Discussion:

To begin with the MATRIX Creator Hat is attached to the Raspberry Pi GPIO Header as below:

 

image

 

 

image

 

image

 

 

I followed the instructions at this link https://www.element14.com/community/community/raspberry-pi/blog/2017/08/21/matrix-creator-weather-app.

 

Installation requires the use of a client computer and the host Raspberry Pi with the MATRIX Creator attached with different software installed on each.

 

For the client computer I used my I7 Windows 7 Desktop with the following software in sequence installed:

     1.  node.js  from this website https://nodejs.org/en/download/

     2.  git from this website https://git-scm.com/downloads

     3.  MATRIX CLI by opening a command terminal with administrative permissions and entering "npm install -g matrix-cli":

     image

 

 

     4.  Acquire a MATRIX Labs MATRIX account and login by entering "matrix register" at the command prompt and follow the instructions.

     5. Register the MATRIX Creator device by entering "matrix register device" at the command prompt and annotate the matrix id number and the matrix secret number.

image

 

     6.  Creates a folder with a base matrix app template by entering "matrix create MATRIX-Weather-App" at the command prompt and cd into that directory

     7.  Clone the MATRIX-Weather-App directory from the repository by entering "git clone https://github.com/matrix-io/MATRIX-Weather-App" at the command prompt:

image

 

     8.  Using a web browser go to https://darksky.net/dev  and acquire a login to the Dark Sky API and annotate the SECRET KEY given.

image

 

     9.  Edit the app.js file in the MATRIX-Weather-App directory and enter your SECRET KEY in the //Configure forecast options section.

 

That concludes the installation on the PC which went very well unlike the Raspberry Pi installation that gave me much trouble as I explain below.

 

The installation on the Raspberry Pi goes as follows:

     1.  Install the latest version of Raspbian Stretch Lite from https://www.raspberrypi.org/downloads/raspbian/ .

     2.  Perform an update and upgrade and verify that the wifi or lan is communicating with your router.

     3.  Create a file called .bash_profile with these two lines (include the id numbers previously annotated above when performing the matrix register device):

                                             export MATRIX_DEVICE_ID=.............

                                             export MATRIX_DEVICE_SECRET=.........

     4.  Reboot the Raspberry Pi.

 

The next step is where I ran into much trouble.  The instructions say to run the installation script , "curl https://raw.githubusercontent.com/matrix-io/matrix-creator-quickstart/master/install.sh | sh".

 

This is supposed to properly install the matrix-os and all dependencies.  However, i ended up with a system that appeared to work in that there was indeed communication between the client and host but the sensors and indicator LEDS  of the MATRIX Creator would not respond to any commands.  I spent many days reinstalling using older variations of the Raspbian operating systems to no avail.

 

Finally after manually installing every dependency separately,  I discovered that there where mistakes in sequencing and some missing system update commands that prevented some pre-requisites from getting installed.  I rewrote the installation script to correct these errors and also include the latest versions of the dependencies and got it working.  Attached is the script I wrote (inst.sh).

 

     5.  Run the installation script, "inst.sh" twice.  It must be run TWICE  in order update everything properly.

 

 

Now that everything is working, the following steps will demonstrate the running of the MATRIX-Weather-App:

     1.  On the host (Raspberry Pi) cd into the "matrix-os" directory and enter node index.js and the result is:

    image

 

The LED response from the MATRIX Creator is:

 

 

 

     2.  On the client system (PC) deploy and run the MATRIX-Weather-App with the following response on the host Raspberry Pi:

image

 

 

The various LED responses from the MATRIX Creator based on the current weather conditions are:

 

Clear Day

 

Clear Night

 

 

Cloudy

 

Foggy

 

Partly Cloudy Day

 

Partly Cloudy Night

 

Rain

 

Sleet

 

Snow

 

Windy

 

Hazzard

 

That concludes the MATRIX-Weather-App demo.

 

 

 

Other available demo apps that I have deployed and ran are:

 

Life

 

Clock

 

Sensortest

 

 

 


The MATRIX Creator can also be accessed and controlled directly through the Raspberry Pi only without having to establish communication from a client device.  This is done by installing the MATRIX HAL software which is the lowest-level abstraction for the MATRIX Creator drivers.  I followed the installation instructions found here  https://github.com/matrix-io/matrix-creator-hal .

 

 

 

The following are some demos that are included with this software:

 

ARC Demo

 

Sensors Demo

 

Sensors Status

image

 

Everloop Demo

 

 

Compass Demo LEDs

 

Compass Demo Display

 

 

In the next two demos I used a 25kHz "Dog Repeller" as a sound source to activate the microphone array.  Interesting to see that the microphones indeed "Hear" ultrasonic frequencies.

 

Microphone Array Demo

 

Microphone Array Energy Demo

 

 

 

CONCLUSION:

 

The MATRIX Creator is a great device packed with many sensors and LED indicators.  It performed flawlessly once the software issues were addressed.  This device obviously is not ready for prime-time yet but does show tremendous promise.  Also, one small annoying fault was that the Raspberry Pi won't shut down with the MATRIX Creator connected and power.  It seems that the MATRIX Creator just wants to continually reboot the Raspberry Pi.

Anonymous