Snō + SnōMākr Quick Start

Snō FPGA Module | Snō Quick Start Guide

1   Introduction

The Snō + SnōMākr Kit makes prototyping with Snō quick and efficient by providing convenient access to signal I/O in a familiar layout.

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

2   Installing the Arduino IDE and FTDI Drivers

2.1   Arduino IDE Software Installation for Microsoft Windows and macOS

The first step in setting up your computer to connect to and program the Snō is to install the standard Arduino IDE software. Follow the instructions below to install the Arduino IDE on your computer.

Microsoft Windows

  1. Click here for the official Arduino IDE installation guide for Microsoft Windows.
  2. Follow the instructions for installing the IDE.
  3. Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.

Mac OS X

  1. Click here for the official Arduino IDE installation guide for Mac OS X.
  2. Follow the instructions for installing the IDE.
  3. Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.

Linux

If you are running Linux, the setup steps are a bit different. 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 XLR8, the Snō + SnōMākr kit 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.

The following video on our YouTube channel provides the steps for a potential fix to this Mac related issue that has worked for several of us at Alorium Technology since the summer of 2017. It’s no iron-clad guarantee, but it seems to have solved the problem so far.

 

2.3   Congratulations!

You’re up and running with your Snō board! If you want to take the next step and make use of the FPGA Xcelerator Blocks preinstalled on you Snō, then continue with Section 3.

Back to Top

3   Snō Board Support Package and Libraries 

To take advantage of the XBs that come with Snō, you’ll need to take the following additional steps.

Note:  All of the boards in the XLR8 family are supported with the top-level XLR8 boards package and XLR8 Arduino libraries.  So, you will be downloading and installing files that have the XLR8 name.  This is the correct thing to do for the Snō board as the libraries support both XLR8 and Snō.

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

https://raw.githubusercontent.com/AloriumTechnology/Arduino_Boards/master/package_aloriumtech_index.json

Note: multiple URLs can be added to this field by separating each URL with a comma.

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. 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.
  5. 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.

After selecting Snō, you will find a new menu item at Tools > FPGA Image, where you will see the two released Snō FPGA images.

 

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 and Snō libraries available.

There are many libraries you can install to support a variety of our board functions and Xcelerator Blocks.  For the purposes of this getting started guide, find  the “XLR8Info” library and click on it.

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 Snō to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
  3. Go to Tools > Port and verify that Arduino IDE is connected to the XLR8 USB serial port.
  4. Go to Tools > Board and select the XLR8 board
  5. Go to File > Examples > XLR8Info and select GetXLR8Version
  6. In the GetXLR8Version sketch window, click on the Upload button
  7. 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.
================================================
Board Type: Sno
FPGA Image: 16 MHz Float Servo  r2023
================================================
XLR8 Hardware Version = 2023
XLR8 CID              = 0xA4FF8E00
------------------------------------------------
Design Configuration  = 0x68
  Image     = 1
  Clock     = 16 MHz
  PLL Speed = 16MHz
  FPGA Size = M16
------------------------------------------------
XB_ENABLE             = 0x3
  Has Floating Point Add, Subtract, and Multiply
  Has Floating Point Divide
  Has Servo XB
------------------------------------------------
Int Osc = 87.84 MHz
------------------------------------------------

3.4   Register your Snō board

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 Snō.

3.5   Congratulations Again!

You’ve now got the ability to use the XBs that come preinstalled on your Snō. 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 Snō, 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   Close the Serial Monitor

Before burning the new FPGA image, you must be sure that the Arduino Serial Monitor window is closed. If the window is left open, it will interfere with the serial communication for uploading the FPGA, and you will get an error that looks like this:

     Using port /dev/cu.usbserial-DN02AZIM
     ERROR: USB/Serial connection:
          [Errno 16] could not open port /dev/cu.usbserial-DN02AZIM: [Errno 16] Resource busy: '/dev/cu.usbserial-DN02AZIM'
     Available ports:
          0: port=/dev/cu.Bluetooth-Incoming-Port
          1: port=/dev/cu.usbserial-DN02AZIM

4.4   Burn the Image

To write the selected image to the FPGA chip on the Snō, 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.5   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:

 ============================================================
 Board Type: Sno
 FPGA Image: 32 MHz Servo Quad r2141
 ============================================================
 XLR8 Hardware Version = 2141
    Modified working copy
 XLR8 CID              = 0x98A8CE00
 ------------------------------------------------------------
 Design Configuration  = 0x6A
     Image     = 1
     Clock     = 32 MHz
     PLL Speed = 16MHz
     FPGA Size = M16
 ------------------------------------------------------------
 XB_ENABLE             = 0xA
     Has Servo XB
     Has Quadrature XB
 ------------------------------------------------------------
 Int Osc = 86.17 MHz
 ------------------------------------------------------------

4.6   You are now an Expert!

Congratulations!  Now start exploring all the other capabilities of Snō.

Back to Top

Snō FPGA Module | Snō Quick Start Guide

1   Introduction

The Snō + SnōMākr Kit makes prototyping with Snō quick and efficient by providing convenient access to signal I/O in a familiar layout.

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

2   Installing the Arduino IDE and FTDI Drivers

2.1   Arduino IDE Software Installation for Microsoft Windows and macOS

The first step in setting up your computer to connect to and program the Snō is to install the standard Arduino IDE software. Follow the instructions below to install the Arduino IDE on your computer.

Microsoft Windows

  1. Click here for the official Arduino IDE installation guide for Microsoft Windows.
  2. Follow the instructions for installing the IDE.
  3. Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.

Mac OS X

  1. Click here for the official Arduino IDE installation guide for Mac OS X.
  2. Follow the instructions for installing the IDE.
  3. Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.

Linux

If you are running Linux, the setup steps are a bit different. 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 XLR8, the Snō + SnōMākr kit 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.

The following video on our YouTube channel provides the steps for a potential fix to this Mac related issue that has worked for several of us at Alorium Technology since the summer of 2017. It’s no iron-clad guarantee, but it seems to have solved the problem so far.

 

2.3   Congratulations!

You’re up and running with your Snō board! If you want to take the next step and make use of the FPGA Xcelerator Blocks preinstalled on you Snō, then continue with Section 3.

Back to Top

3   Snō Board Support Package and Libraries 

To take advantage of the XBs that come with Snō, you’ll need to take the following additional steps.

Note:  All of the boards in the XLR8 family are supported with the top-level XLR8 boards package and XLR8 Arduino libraries.  So, you will be downloading and installing files that have the XLR8 name.  This is the correct thing to do for the Snō board as the libraries support both XLR8 and Snō.

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

https://raw.githubusercontent.com/AloriumTechnology/Arduino_Boards/master/package_aloriumtech_index.json

Note: multiple URLs can be added to this field by separating each URL with a comma.

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. 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.
  5. 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.

After selecting Snō, 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 and Snō libraries available.

There are many libraries you can install to support a variety of our board functions and Xcelerator Blocks.  For the purposes of this getting started guide, find  the “XLR8Info” library and click on it.

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 Snō to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
  3. Go to Tools > Port and verify that Arduino IDE is connected to the XLR8 USB serial port.
  4. Go to Tools > Board and select the XLR8 board
  5. Go to File > Examples > XLR8Info and select GetXLR8Version
  6. In the GetXLR8Version sketch window, click on the Upload button
  7. 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.
================================================
Board Type: Sno
FPGA Image: 16 MHz Float Servo  r2023
================================================
XLR8 Hardware Version = 2023
XLR8 CID              = 0xA4FF8E00
------------------------------------------------
Design Configuration  = 0x68
  Image     = 1
  Clock     = 16 MHz
  PLL Speed = 16MHz
  FPGA Size = M16
------------------------------------------------
XB_ENABLE             = 0x3
  Has Floating Point Add, Subtract, and Multiply
  Has Floating Point Divide
  Has Servo XB
------------------------------------------------
Int Osc = 87.84 MHz
------------------------------------------------

3.4   Register your Snō board

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 Snō.

3.5   Congratulations Again!

You’ve now got the ability to use the XBs that come preinstalled on your Snō. 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 Snō, 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   Close the Serial Monitor

Before burning the new FPGA image, you must be sure that the Arduino Serial Monitor window is closed. If the window is left open, it will interfere with the serial communication for uploading the FPGA, and you will get an error that looks like this:

     Using port /dev/cu.usbserial-DN02AZIM
     ERROR: USB/Serial connection:
          [Errno 16] could not open port /dev/cu.usbserial-DN02AZIM: [Errno 16] Resource busy: '/dev/cu.usbserial-DN02AZIM'
     Available ports:
          0: port=/dev/cu.Bluetooth-Incoming-Port
          1: port=/dev/cu.usbserial-DN02AZIM

4.4   Burn the Image

To write the selected image to the FPGA chip on the Snō, 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.5   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:

 ============================================================
 Board Type: Sno
 FPGA Image: 32 MHz Servo Quad r2141
 ============================================================
 XLR8 Hardware Version = 2141
    Modified working copy
 XLR8 CID              = 0x98A8CE00
 ------------------------------------------------------------
 Design Configuration  = 0x6A
     Image     = 1
     Clock     = 32 MHz
     PLL Speed = 16MHz
     FPGA Size = M16
 ------------------------------------------------------------
 XB_ENABLE             = 0xA
     Has Servo XB
     Has Quadrature XB
 ------------------------------------------------------------
 Int Osc = 86.17 MHz
 ------------------------------------------------------------

4.6   You are now an Expert!

Congratulations!  Now start exploring all the other capabilities of Snō.

Back to Top

Improve Your Project!