IO-4 Bricklet 2.0


  • 4-channel digital input/output
  • Fixed 3.3V logic voltage
  • Configurable pull-ups and interrupts
  • PWM output with frequency up to 32MHz


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

The Bricklet features 4 I/O pins that can be independently configured as digital inputs or outputs. Each input pin can additionally be configured with a pull-up or as interrupt source. Via terminal blocks all signals can be accessed. Two additional terminal blocks deliver 3.3V and GND.

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 Pins 4
Current Consumption 30mW (6mA at 5V)
I/O Voltages Fixed 3.3V
Maximum Output Current 50mA** (per output pin), 100mA (3.3V fixed output pin)
Maximum API Calls* set-value (1kHz), get-value (0.5kHz), callbacks (1kHz)
Dimensions (W x D x H) 35 x 35 x 14mm (1.38 x 1.38 x 0.55")
Weight 15g

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

** 50mA per pin, but max 130mA over all pins


Test your IO-4 Bricklet 2.0

To test a IO-4 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-4 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-4 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.

IO-4 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-4 Bricklet 2.0 and examples in different programming languages.

Each channel can be configured as input/output and in case of an input pin as pull-up. The current state is depicted in a table.


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

Case for IO-4 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-4 Bricklet 2.0 case:

Exploded assembly drawing for IO-4 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 Examples 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
Modbus API