XLR8 Quick Start

1   Introduction

XLR8 is an FPGA-based development board that has been specifically designed to look, feel, and act like a standard Arduino Uno board. You can learn more details about XLR8 by clicking here.

The following steps will guide you through the process of getting your Snō board up and running.

2   Install Arduino IDE and FTDI Drivers

2.1   Arduino IDE Software Installation

The first step in setting up your computer to connect to and program the XLR8 is to install the standard Arduino software. There are lots of guides online to help you do this for Microsoft Windows and Mac OS. So rather than repeat them in detail here, we will instead simply point you to two excellent examples:

If you are running Linux, the setup steps are a bit different. Like Windows and Mac there are many tutorials out there for what is required; however, you may need to find and follow more than one tutorial before you have finished.  Therefore, we have created one tutorial that incorporates all of the steps Linux requires to setup Arduino IDE.  

Click the link below to see our Linux Setup Tutorial:

After completing this tutorial, you will be able to fast forward to Step 3!

2.2   FTDI Driver Installation

Like the Sparkfun Redboard, the XLR8 uses a different type of USB chip than the Arduino UNO, and needs to have a driver for that FTDI chip installed. A great set of instructions for installing the driver can be found here:

You will may need to reboot your computer after installation.

A note about FTDI drivers and Mac OS:

If you are running Mac OS, you may run into issues with the usbserial port disappearing and not reconnecting.   There are known issues between the factory installed Mac OS FTDI drivers and drivers available for installation from FTDI directly.  And, unfortunately, the jury still appears to be out on which version of Mac OS will work consistently without ever seeing the lost serial port problem.

Rumor has it that a nightly build of macOS Sierra from late 2016 fixed these issues (if you’re running Sierra).  If you are running Sierra, you may want to try using the default drivers before installing FTDI’s drivers.

We will update this page as soon as we get more clarity.

2.3   Test Drive as an Arduino Uno Clone

If you have installed the Arduino IDE and the FTDI driver and want to give it a quick test-drive, you can go back to those first instructions (in Section 2.1, above) to connect your Snō and run your first sketch.

Our XLR8 family of boards are all compatible to Arduino Uno functionality, so you can simply select “Arduino/Genuino Uno” from the Tools > Boards dropdown menu:

Select Arduino Uno

At this point, Snō will function just like an Arduino Uno, and you can run an example sketch such as “Blink” to check that everything is working.

2.4   Congratulations!

You’re up and running with your XLR8 board! You can now use your XLR8 just like an Arduino UNO. If you want to take the next step and make use of the XBs preinstalled on you XLR8, the continue with Section 3.

Back to Top

3  XLR8 Board Support Package and Libraries

To take advantage of the XBs that come with the XLR8, you’ll need to do a couple of things in addition to the above setup.

3.1   Add XLR8 Board Support

The instructions shown below for installing the XLR8 board support package comes from our Github site under “Alorium Technology Arduino Boards.” A link to our Github page can be found here:

Add board support for our products.

  1. For Windows and LInux: Go to File > Preferences, in your Arduino IDE menu bar.
  2. For Mac: Go to Arduino > Preferences, in your Arduino IDE menu bar.
  3. Locate the ‘Additional Boards Manager URLs’ input field.
  4. Paste this URL into the “Additional Boards Manager URLs” input field (Note: multiple URLs can be added to this field by separating each URL with a comma.https://raw.githubusercontent.com/AloriumTechnology/Arduino_Boards/master/package_aloriumtech_index.json

Install Alorium’s XLR8 board package

  1. Go to Tools > Board > Boards Manager.
  2. Type “alorium,” in the search field and you will see an option to install board files for Alorium Arduino compatible boards.
  3. Select the “Alorium XLR8 Boards” package and then click “Install.”
  4. Check that the XLR8 board package now exists in your list of available boards.
  5. Go to Tools > Board. You should see a new section titled “Alorium XLR8 Boards” now exists. Under this new heading should be the XLR8 board. You can select the XLR8 board just like you would normally select the “Arduino/Genuino Uno” board.
  6. Select your new XLR8 board from the Board menu.

After loading the XLR8 board support, you’ll see a new section for Alorium XLR8 Boards when looking at the Tools -> Board menu. Even better, after selecting an XLR8 board there, you will find a new menu item at Tools -> FPGA Image, where you will find a number of FPGA images that provide different operating speeds and different XB configurations.

3.2   XLR8 Libraries

To use the XBs included in the FPGA images, you’ll need to install a corresponding library. In the Arduino IDE, go to the menu Sketch -> Include Library -> Manage Libraries, which will open the Library Manager in a new window. Enter XLR8 in the search bar and you will find the entries for the various XLR8 libraries available.

Click on the desired library and an Install button will appear for it. Click on the Install button and when the installation is complete you will see that the library is now tagged as Installed.

After adding the library, you’ll find it in the menu Sketch -> Include Library, under Contributed Libraries (You may need to re-start the IDE if you don’t see it). You’ll also find some examples sketches in the File -> Examples menu, under the library name.

3.3   Running with an Xcelerator Block (XB)

To run with the XLR8Info XB and library, do the following:

  1. Follow the instructions above to load the XLR8 Board Support Package and to load the XLR8Info library
  2. Connect the XLR8 to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
  3. Go to Tools -> Board and select the XLR8 board
  4. Go to File -> Examples -> XLR8Info and select GetXLR8Version
  5. In the GetXLR8Version sketch window, click on the Upload button

Check the Serial Monitor window for the output, which should look like the output below.  Note that you will need to set the baud rate for the Serial Monitor to 115200 for this sketch to display output correctly.

***************
FPGA Image: 16 MHz Float Servo NeoPixel  1.0.1110
***************
XLR8 Hardware Version Number = 1110
  Clean working copy
XLR8 CID = 0x543F6E00
DesignConfig = 0x8
Image = 1
Clock = 16 MHz
XB_ENABLE = 0x7
Has Floating Point Add, Subtract, and Multiply
Has Floating Point Divide
Has Servo XB
Has NeoPixel XB
Int Osc = 90.91 MHz

To help improve our products, please paste the following URL into a web browser, add any notes, and click submit
http://www.aloriumtech.com/register

3.4   Register

You’ll note in the output from the XLR8Version sketch there is a pre-formatted URL to submit the results of the XLR8Version sketch. Please copy this URL from your Serial Monitor window and enter it into your browser! It will take you to our Registration and Board Info page so that you can both register as an owner and also let us know what board you’re using. This will help us support you in your use of XLR8.

3.5   Congratulations Again!

You’ve now got the ability to use the XBs that come preinstalled on your XLR8. Now you can make use of the Floating Point, Servo and NeoPixel XBs, by loading their libraries as well.

Back to Top

4   Alternative FPGA Images

4.1   About Alternative FPGA Images

FPGA stands for Field Programmable Gate Array, which means that the functionality inside the FPGA can be overwritten with a completely new set of functions, sort of like flashing your firmware. For the XLR8, we use this ability to allow you to swap out one set of XBs for another.

4.2   Selecting Alternative FPGA Images

To select an alternate FPGA image, go to the tools -> FPGA Images menu in the Arduino IDE to find the list of available images. Select the images with the features you need.

4.3   Burn the Image

To write the selected image to the FPGA chip on the XLR8, go to the Tools menu in the Arduino IDE and select Burn Bootloader. You will see in your code window a notice in the message area that the image is being burned, which takes a minute or so, after which you should see a message in the text console like this:

INFO: Arduino: Using port /dev/cu.usbserial-DB00KO28
Switching FPGA configuration to existing image 1
INFO: Complete

If you get an error when burning, make sure you have closed the Serial Monitor window.

4.4   Try It Out

Now re-run the GetXLR8Version program as described in Section 3.3 and you should see that the FPGA Image has changed:

***************
FPGA Image: 16 MHz Float Servo NeoPixel  1.0.1110
***************
XLR8 Hardware Version Number = 1110
  Clean working copy
XLR8 CID = 0x543F6E00
DesignConfig = 0x8
Image = 1
Clock = 16 MHz
XB_ENABLE = 0x7
Has Floating Point Add, Subtract, and Multiply
Has Floating Point Divide
Has Servo XB
Has NeoPixel XB
Int Osc = 90.92 MHz

4.5   You are now an Expert!

Congratulations! You have already gone far beyond what is possible with the Arduino Uno. Now start exploring all the other capabilities of the XLR8.

Back to Top

1   Introduction

XLR8 is an FPGA-based application accelerator and development board that has been specifically designed to look, feel, and act like a standard Arduino UNO board. It is programmed with the popular and easy to use Arduino IDE. The heart of XLR8 is an FPGA chip that is configured with an ATMega328 micro-controller clone as well as additional accelerator functions.

To use the XLR8 as a drop in replacement for the Arduino UNO, one simply follows the same quick start guides used for the Arduino UNO.

2   Install Arduino IDE and FTDI Drivers

2.1   Arduino IDE Software Installation

The first step in setting up your computer to connect to and program the XLR8 is to install the standard Arduino software. There are lots of guides online to help you do this for Microsoft Windows and Mac OS. So rather than repeat them in detail here, we will instead simply point you to two excellent examples:

If you are running Linux, the setup steps are a bit different. Like Windows and Mac there are many tutorials out there for what is required; however, you may need to find and follow more than one tutorial before you have finished.  Therefore, we have created one tutorial that incorporates all of the steps Linux requires to setup Arduino IDE.  

Click the link below to see our Linux Setup Tutorial:

After completing this tutorial, you will be able to fast forward to Step 3!

2.2   FTDI Driver Installation

Like the Sparkfun Redboard, the XLR8 uses a different type of USB chip than the Arduino UNO, and needs to have a driver for that FTDI chip installed. A great set of instructions for installing the driver can be found here:

You will may need to reboot your computer after installation.

A note about FTDI drivers and Mac OS:

If you are running Mac OS, you may run into issues with the usbserial port disappearing and not reconnecting.   There are known issues between the factory installed Mac OS FTDI drivers and drivers available for installation from FTDI directly.  And, unfortunately, the jury still appears to be out on which version of Mac OS will work consistently without ever seeing the lost serial port problem.

Rumor has it that a nightly build of macOS Sierra from late December fixes these issues (if you’re running Sierra), but it’s not clear when that may get rolled into an official update.  If you are running Sierra, you may want to try using the default drivers before installing FTDI’s drivers.

We will update this page as soon as we get more clarity.

2.3  Test Drive

Now that you have both the Arduino IDE and the FTDI driver installed, you can go back to those first instructions (in Section 2.1, above) to connect your XLR8 and run your first sketch.

The instructions for XLR8 are the same as those for Uno, including the selection of Arduino Uno as the board to use in the IDE. XLR8 is a drop in replacement for the Uno and will run all of the example sketches just like an Uno.

2.4  Congratulations!

You’re up and running with your XLR8 board! You can now use your XLR8 just like an Arduino UNO. If you want to take the next step and make use of the XBs preinstalled on you XLR8, the continue with Section 3, below…

Back to Top

3   XLR8 Board Support Packages and Libraries 

To take advantage of the XBs that come with the XLR8, you’ll need to do a couple of things in addition to the above setup.

3.1   Add XLR8 Board Support

The instructions shown below for installing the XLR8 board support package comes from our Github site under “Alorium Technology Arduino Boards.” A link to our Github page can be found here:

Add board support for our products.

  1. For Windows and LInux: Go to File > Preferences, in your Arduino IDE menu bar.
  2. For Mac: Go to Arduino > Preferences, in your Arduino IDE menu bar.
  3. Locate the ‘Additional Boards Manager URLs’ input field.
  4. Paste this URL into the “Additional Boards Manager URLs” input field (Note: multiple URLs can be added to this field by separating each URL with a comma.https://raw.githubusercontent.com/AloriumTechnology/Arduino_Boards/master/package_aloriumtech_index.json

Install Alorium’s XLR8 board package

  1. Go to Tools > Board > Boards Manager.
  2. Type “alorium,” in the search field and you will see an option to install board files for Alorium Arduino compatible boards.
  3. Select the “Alorium XLR8 Boards” package and then click “Install.”
  4. Check that the XLR8 board package now exists in your list of available boards.
  5. Go to Tools > Board. You should see a new section titled “Alorium XLR8 Boards” now exists. Under this new heading should be the XLR8 board. You can select the XLR8 board just like you would normally select the “Arduino/Genuino Uno” board.
  6. Select your new XLR8 board from the Board menu.

After loading the XLR8 board support, you’ll see a new section for Alorium XLR8 Boards when looking at the Tools -> Board menu. Even better, after selecting an XLR8 board there, you will find a new menu item at Tools -> FPGA Image, where you will find a number of FPGA images that provide different operating speeds and different XB configurations.

3.2   XLR8 Libraries

To use the XBs included in the FPGA images, you’ll need to install a corresponding library. In the Arduino IDE, go to the menu Sketch -> Include Library -> Manage Libraries, which will open the Library Manager in a new window. Enter XLR8 in the search bar and you will find the entries for the various XLR8 libraries available.

Click on the desired library and an Install button will appear for it. Click on the Install button and when the installation is complete you will see that the library is now tagged as Installed.

After adding the library, you’ll find it in the menu Sketch -> Include Library, under Contributed Libraries (You may need to re-start the IDE if you don’t see it). You’ll also find some examples sketches in the File -> Examples menu, under the library name.

3.3   Running with an Xcelerator Block (XB)

To run with the XLR8Info XB and library, do the following:

  1. Follow the instructions above to load the XLR8 Board Support Package and to load the XLR8Info library
  2. Connect the XLR8 to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
  3. Go to Tools -> Board and select the XLR8 board
  4. Go to File -> Examples -> XLR8Info and select GetXLR8Version
  5. In the GetXLR8Version sketch window, click on the Upload button

Check the Serial Monitor window for the output, which should look like the output below.  Note that you will need to set the baud rate for the Serial Monitor to 115200 for this sketch to display output correctly.

***************
FPGA Image: 16 MHz Float Servo NeoPixel  1.0.1110
***************
XLR8 Hardware Version Number = 1110
  Clean working copy
XLR8 CID = 0x543F6E00
DesignConfig = 0x8
Image = 1
Clock = 16 MHz
XB_ENABLE = 0x7
Has Floating Point Add, Subtract, and Multiply
Has Floating Point Divide
Has Servo XB
Has NeoPixel XB
Int Osc = 90.91 MHz

To help improve our products, please paste the following URL into a web browser, add any notes, and click submit
http://www.aloriumtech.com/register

3.4   Register

You’ll note in the output from the XLR8Version sketch there is a pre-formatted URL to submit the results of the XLR8Version sketch. Please copy this URL from your Serial Monitor window and enter it into your browser! It will take you to our Registration and Board Info page so that you can both register as an owner and also let us know what board you’re using. This will help us support you in your use of XLR8.

3.5   Congratulations Again!

You’ve now got the ability to use the XBs that come preinstalled on your XLR8. Now you can make use of the Floating Point, Servo and NeoPixel XBs, by loading their libraries as well.

Back to Top

4   Alternative FPGA Images

4.1   About Alternative FPGA Images

FPGA stands for Field Programmable Gate Array, which means that the functionality inside the FPGA can be overwritten with a completely new set of functions, sort of like flashing your firmware. For the XLR8, we use this ability to allow you to swap out one set of XBs for another.

4.2   Selecting Alternative FPGA Images

To select an alternate FPGA image, go to the tools -> FPGA Images menu in the Arduino IDE to find the list of available images. Select the images with the features you need.

4.3   Burn the Image

To write the selected image to the FPGA chip on the XLR8, go to the Tools menu in the Arduino IDE and select Burn Bootloader. You will see in your code window a notice in the message area that the image is being burned, which takes a minute or so, after which you should see a message in the text console like this:

INFO: Arduino: Using port /dev/cu.usbserial-DB00KO28
Switching FPGA configuration to existing image 1
INFO: Complete

If you get an error when burning, make sure you have closed the Serial Monitor window.

4.4   Try It Out

Now re-run the GetXLR8Version program as described in Section 3.3 and you should see that the FPGA Image has changed:

***************
FPGA Image: 16 MHz Float Servo NeoPixel  1.0.1110
***************
XLR8 Hardware Version Number = 1110
  Clean working copy
XLR8 CID = 0x543F6E00
DesignConfig = 0x8
Image = 1
Clock = 16 MHz
XB_ENABLE = 0x7
Has Floating Point Add, Subtract, and Multiply
Has Floating Point Divide
Has Servo XB
Has NeoPixel XB
Int Osc = 90.92 MHz

4.5   You are now an Expert!

Congratulations! You have already gone far beyond what is possible with the Arduino Uno. Now start exploring all the other capabilities of the XLR8.

Back to Top