Snō + SnōMākr Quick Start
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
- Click here for the official Arduino IDE installation guide for Microsoft Windows.
- Follow the instructions for installing the IDE.
- Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.
Mac OS X
- Click here for the official Arduino IDE installation guide for Mac OS X.
- Follow the instructions for installing the IDE.
- 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 may need to have a driver for that FTDI chip installed. A great set of instructions for installing the driver can be found here:
The SparkFun guide will tell you if you need to install the driver. 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.
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
Add board support for our products.
- For Windows and LInux: Go to File > Preferences, in your Arduino IDE menu bar.
- For Mac: Go to Arduino > Preferences, in your Arduino IDE menu bar.
- Locate the ‘Additional Boards Manager URLs’ input field.
- 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.
Install Alorium’s XLR8 board package
- Go to Tools > Board > Boards Manager.
- Type “alorium,” in the search field and you will see an option to install board files for Alorium Arduino compatible boards.
- Select the “Alorium XLR8 Boards” package and then click “Install.”
- 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.
- 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
Installing the XLR8 board support will also install a default set of libraries that are needed to take advantage of the extra capabilities of Snō. You can see these libraries listed in the Sketch > Include Library menu.
There are additional libraries available that can be installed using the Library Manager. In the Arduino IDE, go to the menu Sketch > Include Library > Manage Libraries, which will open the Library Manager in a new window. Enter Alorium 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:
- Connect Snō to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
- Go to Tools > Port and verify that Arduino IDE is connected to the XLR8 USB serial port.
- Go to Tools > Board and select the XLR8 board
- Go to File > Examples > XLR8Info and select GetXLR8Version
- 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.
================================================ Board Type: Sno FPGA Image: 16 MHz Float Servo r1682 ================================================ XLR8 Hardware Version = 1682 XLR8 CID = 0x44C4E600 ------------------------------------------------ Design Configuration = 0x8 Image = 1 Clock = 16 MHz PLL Speed = 16MHz FPGA Size = M16 ------------------------------------------------ XB_ENABLE = 0x8 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.
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ō.
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
- Click here for the official Arduino IDE installation guide for Microsoft Windows.
- Follow the instructions for installing the IDE.
- Once the IDE is installed, return here to finish installation of the Alorium Technology board specific packages and libraries.
Mac OS X
- Click here for the official Arduino IDE installation guide for Mac OS X.
- Follow the instructions for installing the IDE.
- 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 may need to have a driver for that FTDI chip installed. A great set of instructions for installing the driver can be found here:
The SparkFun guide will tell you if you need to install the driver. 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.
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
Add board support for our products.
- For Windows and LInux: Go to File > Preferences, in your Arduino IDE menu bar.
- For Mac: Go to Arduino > Preferences, in your Arduino IDE menu bar.
- Locate the ‘Additional Boards Manager URLs’ input field.
- 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.
Install Alorium’s XLR8 board package
- Go to Tools > Board > Boards Manager.
- Type “alorium,” in the search field and you will see an option to install board files for Alorium Arduino compatible boards.
- Select the “Alorium XLR8 Boards” package and then click “Install.”
- 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.
- 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
Installing the XLR8 board support will also install a default set of libraries that are needed to take advantage of the extra capabilities of the Snō. You can see these libraries listed in the Sketch > Include Library menu.
There are additional libraries available that can be installed using the Library Manager. In the Arduino IDE, go to the menu Sketch > Include Library > Manage Libraries, which will open the Library Manager in a new window. Enter Alorium 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:
- Connect Snō to your computer with a USB cable, and set up the Port and Serial Monitor as you normally would
- Go to Tools > Port and verify that Arduino IDE is connected to the XLR8 USB serial port.
- Go to Tools > Board and select the XLR8 board
- Go to File > Examples > XLR8Info and select GetXLR8Version
- 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.
================================================ Board Type: Sno FPGA Image: 16 MHz Float Servo r1682 ================================================ XLR8 Hardware Version = 1682 XLR8 CID = 0x44C4E600 ------------------------------------------------ Design Configuration = 0x8 Image = 1 Clock = 16 MHz PLL Speed = 16MHz FPGA Size = M16 ------------------------------------------------ XB_ENABLE = 0x7 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.
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ō.