NanoBoard is built around a USB controller chip. It accepts commands across the USB bus and then translates these into the I2C, SPI and GPIO bus protocols as required.

The NanoBoard occupies only 30mm x 37mm and can mount on test electronics via two 20 way male pin headers making it the most compact integrated USB adapter of its type.


NanoBoard provides an I2C master interface with line rate programmable to 50kBit/s, 100kBit/s (standard rate), 200kBit/s 400kBit/s (high speed) and 1MBit/s. The board contains no pull-up resistors so it is expected that 1.5Kohm pull-up resistors are provided externally.


NanoBoard provides a master SPI interface with line rate programmable to 750kHz, 3MHz or 12MHz. The interface may be configured in terms of clock polarity (active-high and active-low) and clock phase (delayed or otherwise). To allow interfacing to multiple devices GPIO pins may be configured as further chip selects with active high or low polarity.


24 general purpose IO pins are individually programmable as input or output.


4 of the GPIO pins may be configured as analogue inputs which can be sampled to an 8 bit resolution.


The API (Application Programming Interface) is designed for easy use in creating custom applications incorporating simple high level commands. Some examples of functions which can be called are shown over.

For the complete API specification refer to the following link:

API Specification

GPIO & Analogue IO I2C SPI
Nano_GPIOSetDirection() Nano_I2CSetFrequency() Nano_SPIMasterConfig()
Nano_GPIOGetDirection() Nano_IICScanConnectedDevices() Nano_SPIReadWrite()
Nano_GPIOWrite() Nano_IICRead() Nano_SPIRead()
Nano_GPIORead() Nano_IICWrite() Nano_SPIWrite()

In order to help the user develop custom applications, a collection of GUI and non-Windows style applications have been developed to show how to link to the API. The application examples are written in C/C++ and Visual C++ on Windows 2000/XP/Vista, Linux or Mac OS X. The example applications can be run before you purchase the product to get a feel for what NanoBoard can do for you. Click the following link to run the application examples.

Application Examples

The application examples are well documented. Click the following link to see the application example documentation.

Application Example Documentation


NanoBoard is an interface adapter designed for controlling any test system incorporating I2C, SPI or general purpose IOs (GPIO). Today, usage of these protocols is extremely widespread including electronics for telecommunications, portable electronics and medical electronics to give some examples.

NanoBoard is simply connected to the system under test using one or more of the available interfaces. NanoBoard accepts USB commands from the host PC and then implements the necessary bus protocol for I2C, SPI or GPIO as required. The connection back to the host PC is via a standard USB cable and provides all power requirements of the MiniBoard.

The host PC includes the necessary driver and DLL to implement the high level commands so that the user can rapidly develop his/her own custom applications.

Typical applications are written in C/C++ or Visual C++. Users have therefore the choice of developing GUI style control applications or non-Windows batch style control - depending on what is required.

NanoBoard comes with a rich set of example applications and documentation making custom applications an extremely simple process even for those with little programming knowledge.