IO-16 Bricklet 2.0

Features

  • 16-channel digital input/output

  • Switchable logic voltage 3.3V or 5V*

  • Configurable pull-ups and interrupts

Description

The IO-16 Bricklet 2.0 can be used to extend the features of Bricks by external digital inputs and outputs.

The Bricklet features 2x 8 I/O channels that can be independently configured as digital inputs or outputs. Each input channel can additionally be configured with a pull-up or as interrupt source. The input/output voltages can be switched manually between 3.3V and 5V*. Via terminal blocks all signals and GND can be accessed. An additional terminal block delivers the switched output voltage.

Human interfaces, such as switches, push-buttons and LEDs are typical applications of this Bricklet.

This Bricklet ist not galvanically isolated to the Tinkerforge system. This means that there is a direct electrical connection between the terminals of the Bricklet and the rest of the system. Dependent of the application this can lead to undesired connections, ground loops or short circuits. These problems can be prevented by using the Bricklet together with a Isolator Bricklet.

Technical Specifications

Property

Value

I/O Channels

16

Current Consumption

36mW (7.2mA at 5V)

I/O Voltages

Switchable between 3.3V and 5V*

Maximum Output Current (high)

10mA (per output channel)

Maximum Output Current (low)

25mA (per output channel) with 160mA absolute maximum (per port)

Maximum API Calls**

set-port (1kHz), get-port (> 0.25kHz), callbacks (1kHz)

Dimensions (W x D x H)

35 x 75 x 14mm (1.38 x 2.95 x 0.55")

Weight

30g

* The maximum output voltage depends on supply voltage. If the connected Brick is powered over USB, 5V may not be reached. The reason for this is a voltage drop about 0.5V caused by protection diodes on our products. If you need to reach 5V, you have to use a stack supply, e.g. the Step-Down Power Supply.

** depends on your system (OS, CPU etc.)

Resources

Test your IO-16 Bricklet 2.0

To test a IO-16 Bricklet 2.0 you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.

Connect the IO-16 Bricklet 2.0 to a Brick with a Bricklet Cable.

If you connect the Brick to the PC over USB, you should see a new tab named "IO-16 Bricklet 2.0" in the Brick Viewer after a moment. Select this tab.

If everything went as expected the Brick Viewer should look as depicted below. You can change the values of the channels, use them as input or output, enable/disable pull-ups and try out monoflops.

IO-16 Bricklet 2.0 in Brick Viewer

After this test you can go on with writing your own application. See the Programming Interface section for the API of the IO-16 Bricklet 2.0 and examples in different programming languages.

Case

A laser-cut case for the IO-16 Bricklet 2.0 is available.

Case for IO-16 Bricklet 2.0

The assembly is easiest if you follow the following steps:

  • Screw spacers to the Bricklet,

  • screw bottom plate to bottom spacers,

  • build up side plates,

  • plug side plates into bottom plate and

  • screw top plate to top spacers.

Below you can see an exploded assembly drawing of the IO-16 Bricklet 2.0 case:

Exploded assembly drawing for IO-16 Bricklet 2.0

Hint: There is a protective film on both sides of the plates, you have to remove it before assembly.

Programming Interface

See Programming Interface for a detailed description.

Language

API

Examples

Installation

C/C++

API

Examples

Installation

C/C++ for Microcontrollers

API

Examples

Installation

C#

API

Examples

Installation

Delphi/Lazarus

API

Examples

Installation

Go

API

Examples

Installation

Java

API

Examples

Installation

JavaScript

API

Examples

Installation

LabVIEW

API

Installation

Mathematica

API

Examples

Installation

MATLAB/Octave

API

Examples

Installation

MQTT

API

Examples

Installation

openHAB

API

Examples

Installation

Perl

API

Examples

Installation

PHP

API

Examples

Installation

Python

API

Examples

Installation

Ruby

API

Examples

Installation

Rust

API

Examples

Installation

Shell

API

Examples

Installation

Visual Basic .NET

API

Examples

Installation

TCP/IP

API

Modbus

API