Skip to content

Compiling

J.B. Langston edited this page Jan 14, 2016 · 29 revisions

For those familiar with Arduino development, Aurora can be compiled from source.

Arduino IDE

You'll need Arduino installed.

NOTE: Aurora currently has some compilation errors with Arduino 1.6.6 and later. The latest working version is 1.6.5, so you will want to download it from the previous releases until these issues are resolved.

Teensyduino and Libraries

To compile a sketch for the Teensy, you need an add-on for the Arduino IDE called Teensyduino. Version 1.27 has been confirmed to work.

You will be asked to install additional libraries during the Teensyduino installation. Do not install all the libraries!

Check the boxes for these libraries:

  • DS1307RTC
  • IRremote
  • Time

You can run the Teensyduino installer again later on if you forget to install a library or want to add a library for another sketch.

SmartMatrix Library

The latest version of the SmartMatrix is available on the project's GitHub Releases page.
Download the latest SmartMatrix Library and install it, using this guide as a reference if needed.

Or use git to clone the SmartMatrix repository:

  1. cd ~/Documents/Arduino/libraries
  2. git clone https://github.com/pixelmatix/SmartMatrix.git

The current version of Aurora compiles against SmartMatrix 3.

FastLED Library

Install the latest version (3.1 or newer) of FastLED:

Or use git to clone the FastLED repository:

  1. cd ~/Documents/Arduino/libraries
  2. git clone https://github.com/FastLED/FastLED.git

If you already have an earlier copy of FastLED installed, you will need to remove the older library before installing 3.1 or newer.
If you see any of these errors, you likely have an older version of FastLED installed:

  • no known conversion for argument 4 from 'CRGB' to 'const rgb24&'
  • error: 'inoise8' was not declared in this scope

First try looking for a FastLED library in your Arduino sketchbook /libraries folder and deleting it.
If it's not there the FastLED library was probably installed by Teensyduino into your Arduino application folder. The error includes the path of the library.
Navigate there with Windows Explorer or OSX Finder and delete the FastLED folder.

  • In OSX you will need to navigate into the the Arduino.app package to find the folder.

aJson Library

Download the zip containing the latest version from the main page, not from the releases which are out of date

Or use git to clone the FastLED repository:

  1. cd ~/Documents/Arduino/libraries
  2. git clone https://github.com/interactive-matter/aJson.git

NOTE: The master of aJson has some compilation issues on Teensyduino, so you will want to use this fork until the pull request to fix it has been merged.

Fix IRremote and RobotIRremote conflict

(This should be fixed in recent versions of Teensyduino) If you see a series of errors like this, containing "libraries/RobotIRremote", the RobotIRremote library that is included with the Arduino IDE by default is conflicting with the IRremote library with Teensy 3.1 support installed by Teensyduino.
RobotIRremote needs to be removed from the Arduino Application folder

  • /Applications/Arduino-test.app/Contents/Resources/Java/libraries/RobotIRremote/IRremote.cpp:87:3: error: 'TCCR2A' was not declared in this scope

The error includes the path of the library. Navigate there with Windows Explorer or OSX Finder and delete the RobotIRremote folder.

  • In OSX you will need to navigate into the the Arduino.app package to find the folder.

Aurora Sketch

Download the source code (zip) for the latest release of Aurora from Github here:

  1. Extract the zip file into your Arduino Sketchbook folder.
  2. Rename the folder to "Aurora" as Arduino requires the folder name to exactly match the sketch name.

Or use git to clone the Aurora repository:

  1. cd ~/Documents/Arduino
  2. git clone https://github.com/pixelmatix/aurora.git

Then:

  1. There is an "sd" folder, which can be loaded onto a microSD card if you installed the microSD reader earlier. The "aurora", "gifs", and "messages" folders need to be placed into the root directory of the microSD card.
  2. Open the Aurora sketch in the Arduino IDE.

Compiling

Under Tools, choose the settings you need for this Sketch:

  • Board: Teensy 3.1
  • CPU Speed: 96MHz optimized (overclock) is the only CPU Speed that will work for this application (the IRremote library does not support 72MHz)

The Sketch is ready to compile and upload.

  1. Connect the Teensy 3.1 via USB to your computer
  2. plug in power to the SmartMatrix Shield
  3. Press Upload.

When the Arduino IDE is done compiling, it calls a second program called Teensy Loader to do the uploading. You may need to press the button on your Teensy 3.1 to start the upload.

Done! You should now see a menu displayed on the LED panel, which can be controlled with the IR remote.

You can’t perform that action at this time.