MicroMod Alorium Sno M2 Processor Board Hookup Guide

Pages
Contributors: Member #798807, Ell C
Favorited Favorite 1

Introduction

The MicroMod Alorium Sno M2 Processor Board features the Snō System on Module (SoM) from Alorium Technology adapted to the MicroMod M.2 processor form factor. Snō's FPGA provides a reconfigurable hardware platform that hosts an 8-bit AVR instruction set, compatible with the ATmega328, making Snō fully compatible with the Arduino IDE. Snō SoM has a compact footprint, making it ideal for space-constrained applications and an obvious addition to our MicroMod form factor for prototyping.

Alorium Technology provides a library of custom logic called Xcelerator Blocks (XBs) through the Arduino IDE that accelerate specific functionality that is slow, problematic, or even impossible for an 8-bit microcontroller. This library includes XBs such as Servo Control, Quadrature, Floating Point Math, NeoPixel, and Enhanced Analog-to-Digital Converter. Alorium also notes a XB roadmap where future XBs will be implemented based on feedback from early adopters and new potential customers.

SparkFun MicroMod Alorium Sno M2 Processor

SparkFun MicroMod Alorium Sno M2 Processor

DEV-18030
$49.95

Required Materials

To follow along with this tutorial, you will need the following materials. You may not need everything though depending on what you have. Add it to your cart, read through the guide, and adjust the cart as necessary.

SparkFun MicroMod ATP Carrier Board

SparkFun MicroMod ATP Carrier Board

DEV-16885
$19.95
1
USB 3.1 Cable A to C - 3 Foot

USB 3.1 Cable A to C - 3 Foot

CAB-14743
$5.50
4
SparkFun Mini Screwdriver

SparkFun Mini Screwdriver

TOL-09146
$1.05
3
SparkFun MicroMod Alorium Sno M2 Processor

SparkFun MicroMod Alorium Sno M2 Processor

DEV-18030
$49.95

Suggested Reading

If you aren't familiar with the MicroMod ecosystem, we recommend reading here for an overview. We recommend reading here for an overview if you decide to take advantage of the Qwiic connector.

MicroMod Logo Qwiic Connect System
MicroMod EcosystemQwiic Connect System

If you aren’t familiar with the following concepts, we also recommend checking out these tutorials before continuing.

Getting Started with MicroMod

Dive into the world of MicroMod - a compact interface to connect a microcontroller to various peripherals via the M.2 Connector!

How Does an FPGA Work?

The What, How, Why, and When of Field Programmable Gate Arrays, aka FPGAs

MicroMod All The Pins (ATP) Carrier Board

Access All The Pins (ATP) of the MicroMod Processor Board with the Carrier Board!

Hardware Overview

M.2 Connector

All of our MicroMod Processor Boards come equipped with the M.2 MicroMod Connector, which leverages the M.2 standard and specification to allow you to install your MicroMod Processor Board on your choice of carrier board. Most of the pins use a common pinout to ensure cross platform compatibility.

M.2 Edge Connector Pins Highlighted

Alorium Technology Sno M2 Processor

The Alorium Technology Sno FPGA provides a reconfigurable hardware platform that hosts an ATmega328 instruction set compatible microcontroller. The FPGA also provides the ability to implement custom logic that accelerates specific functionality that is slow, problematic or even impossible for an 8-bit microcontroller.

The Alorium Sno Processor is the giant chip in the middle of the board

JTAG

The JTAG interface on Sno M2 is primarily used during manufacturing to load the production FPGA image. For advanced users, JTAG can be used for creating bare-metal FPGA designs and directly flashing a new image to the FPGA.

JTAG is highlighted on the upper left corner of the MicroMod board, with the M.2 connectors facing down.

FTDI

The FTDI facilitates USB communication - drivers for the FTDI chip may need to be installed. Please see the How to Install FTDI drivers tutorial if you need help installing these drivers.

FTDI chip is highlighted - it is the small square chip on the lower right side of the front of the board when the M2 connector is pointing down

LEDs

There are two LEDs on the Sno Processor Board. An RX LED and a STAT LED.

The RX LED is along the upper left side of the board, the STAT LED is on the upper right side of the board

  • RX LED - The RX LED indicates activity on the USB serial port.

  • STAT LED - A STAT LED is added to the top side of the board. This is useful debugging or as a status indicator.

MicroMod Alorium Sno M2 Processor Pin Functionality

The complete pin map is shown here or you can refer to the schematic. You can also download the PDF version of the pin map here.

Alorium's pin map

Click on image for a closer view of the pin map.
Pin Map courtesy of Alorium Technology

Board Dimensions

The board takes advantage of the standard MicroMod form factor.

Board Measures 1" x 1"

Hardware Assembly

If you have not already, make sure to check out the Getting Started with MicroMod: Hardware Hookup for information on inserting your Processor Board into your Carrier Board.

Getting Started with MicroMod

October 21, 2020

Dive into the world of MicroMod - a compact interface to connect a microcontroller to various peripherals via the M.2 Connector!

After inserting the MicroMod Alorium Sno M2 processor board into a carrier board, your setup may look like the following.

MicroMod Alorium Sno M2 Inserted Into a Carrier Board

Click on image for a closer view.

Go ahead and secure the Processor Board by gently pressing it down and tightening the screw (not too much though).

Screwing down the processor board

Click on image for a closer view.

For simplicity, we'll be using the MicroMod ATP Carrier Board to program the board. At a minimum, your setup should look like the image below with the MicroMod Alorium Sno M2 Processor Board.

MicroMod Sno Alorium in ATP Carrier

Click on image for a closer view.

Software Installation

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE. If you have not previously installed an Arduino library, please check out our installation guide.

Install Arduino Board Definitions

In your Arduino IDE menu bar, go to File > Preferences and locate the ‘Additional Boards Manager URLs’ input field. Paste the following URL into the “Additional Boards Manager URLs” input field:

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

It should look something like the following:

Adding Alorium link to Preferences

Click on image for a closer view.

Install Alorium's XLR8 Board Package

Start by going 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”.

Type in Alorium, and you should see Alorium XLR8 Family package. Install that.

Click on image for a closer view.

Go to Tools > Board. You should see that a new section titled “Alorium XLR8 Family” now exists. Under this new heading should be the Sno M2 board. You can select the "Sno M2" board just like you would normally select the “Arduino/Genuino Uno” board.

Choosing the M2 Board

Click on image for a closer view.

After selecting the Sno M2, 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.

Choosing FPGA Image

Click on image for a closer view.

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.

Install XLR8Info Library

Click on image for a closer view.

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.

With the Sno Processor Board inserted into the M.2 slot and secured, plug your ATP board to your computer with a USB cable. Make sure you have the correct Board, FPGA Image, Upload Action, and Port as you see below.

Sno M2 board selected, 16MHz FPGA Image, and Send sketch to Snow M2 USB, are selected

Click on image for a closer view.

Go to Tools > Board and select the Sno M.2. Then go to File > Examples > 01. Basics and select Blink.

Select the Blink Example from the basics menu

Click on image for a closer view.

Upload the sketch as you see here:

Smash that upload button

Click on image for a closer view.

If all goes well, you should see something like the gif below:

LED on the processor board should be blinking

Example 2: 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. Then go to File > Examples > XLR8Info and select "GetXLR8Version".

Find Examples, then XLR8Info, then GetXLR8Version

Click on image for a closer view.



In the GetXLR8Version sketch window, click on the Upload button

Upload Button

Click on image for a closer view.

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.

Get Info Example Output

Click on image for a closer view.

Troubleshooting

General Troubleshooting Help & Technical Support

Resources and Going Further

For more information, check out the resources below:

For more information about the SparkFun MicroMod Ecosystem, take a look at the links below:

Need some inspiration for a project using your Alorium Sno Processor? The tutorials below may help you get started!

MicroMod RP2040 Processor Board Hookup Guide

This tutorial covers the basic functionality of the MicroMod RP2040 Processor Board and highlights the features of the dual-core ARM Cortex-M0+ processors development board. Get started with the first microcontroller from the Raspberry Pi Foundation!

1W LoRa MicroMod Function Board Hookup Guide

Everything you need to get started with the 1W LoRa MicroMod function board; a MicroMod function board that provides LoRa capabilities for your MicroMod project. Must be used in conjunction with a MicroMod main board and processor.

MicroMod Environmental Function Board Hookup Guide

The SparkFun MicroMod Environmental Function Board adds additional sensing options to the MicroMod Processor Boards. This function board includes three sensors to monitor air quality (SGP40), humidity & temperature (SHTC3), and CO2 concentrations (STC31) in your indoor environment. To make it even easier to use, all communication is over the MicroMod's I2C bus! In this tutorial, we will go over how to connect the board and read the sensors.

MicroMod mikroBUS™ Carrier Board Hookup Guide

This carrier board takes advantage of the MicroMod, Qwiic, and the mikroBUS™ ecosystems and allows users to take advantage of the growing number of 7 MicroMod processor boards, 83 Qwiic (add-on) boards, and +1100 drop-in Click boards™, which equates to +51M different board combinations. Click to learn more.