Skip to content

Nano Controller: FAST Serial Protocol Overview

FAST Serial Protocol: Overview & First Steps

This documentation section is about the FAST Serial Protocol (FSP) commands, which are the low-level commands a host computer sends to a FAST board. Most FAST Pinball makers do not need to know about these details, since the pinball game framework (such as the Mission Pinball Framework) handles this communication for you.

If you're writing your own game framework, we have a series of programming guides. Also, be sure to read the overview of how FSP works and how to connect first.

This page is a reference for the FAST Serial Protocol commands that are specific to the FAST Nano Controller. If you've have never played with a physical Nano, check out our Nano unboxing and first steps guide. We have videos and a tutorial which will walk you through the basics of connecting to the Nano and sending commands.

When you connect FAST Nano Controller to your computer via USB, you will see four virtual serial ports appear. The exact port names and numbers will vary depending on your computer. They are almost always in the same relative order, though sometimes not because computers are weird. Luckily the order will be consistent on your machine (unless you change ports or connect to other devices).

But when we talk about the "first port" or "third port", that could be:


Or it could be:

/dev/tty.usbmodem1101, /dev/tty.usbmodem1102, /dev/tty.usbmodem1103, /dev/tty.usbmodem1104

Regardless of the actual port names, the relative ports on a Nano Controller connect to the following processors:

Note that the DSP and EXP ports require the expansion "hat" to add the physical RJ-45 jacks to the Nano. The RGB port is used to control RGB LEDs connected directly to the Nano.

Nano Controller command differences from these docs

The FAST Nano Controller uses the letter N for switch & driver-related commands instead of L. So while everything covered in this FAST Serial Protocol reference applies to the Nano too, the following commands have different names.

  • DL: = DN: (Configure Driver)
  • QL: = QN: (Driver Test Mode)
  • SL: = SN: (Configure Switch)
  • -L: = -N: (Switch has gone active)
  • /L: = /N: (Switch has gone inactive)

All usage is the same, it's just the command name that's different. So if you have a Nano, anywhere in these docs you see the command DL:, you would use DN: instead, etc.

N or > jump the next page, P or < for previous, search with S or ?