Primer

The following description gives an overview for the different products and concepts of the Tinkerforge building block system. A detailed description of the functions and offered APIs can be found in the documentation of each product.

Products

Our products are divided into five different categories:

  • Bricks: Stackable microcontroller modules for sensing and controlling over USB.
  • Bricklets: Non-stackable sensor/actuator modules that extend the features of a Brick.
  • Master Extensions: Modules that offers alternatives to the USB interface of Master Bricks (Wi-Fi, Ethernet, RS485).
  • Power Supplies: Modules to power a stack of Bricks, plugged below the stack.
  • Accessories

This tutorial explains of how everything works together.

Bricks

RED Brick Master Brick DC Brick Stepper Brick Servo Brick IMU Brick 2.0

Bricks are 4 x 4cm (1.57 x 1.57") modules that can be controlled by devices, such as (embedded) PCs, over their Mini-USB connector. Every Brick basically performs one task. There are Bricks that perform complex sensor tasks (e.g. IMU Brick 2.0), communicate (e.g. Master Brick) and drive motors (e.g. DC Brick).

With Bricklets the features of Bricks can be extended. Dependent on the Brick it has two or four connectors for Bricklets.

Bricks can be assembled into a stack (see description of stack concept). The USB interface of a Master Brick can be replaced by Wi-Fi, Ethernet or RS485 with Master Extensions. In conjunction with the stack concept all Bricks and Bricklets can be controlled by Wi-Fi or Ethernet instead by USB.

Name Description
DC Drives one brushed DC motor with up to 28V and 5A (peak)
Debug For Firmware Developers: JTAG and serial console
IMU Full fledged AHRS with 9 degrees of freedom
IMU 2.0 Full fledged AHRS with 9 degrees of freedom
Master Basis to build stacks and has 4 Bricklet ports
RED Executes user programs and controls other Bricks/Bricklets standalone
Servo Drives up to 7 RC Servos with up to 3A
Silent Stepper Silently drives one bipolar stepper motor with up to 46V and 1.6A per phase
Stepper Drives one bipolar stepper motor with up to 38V and 2.5A per phase

Bricklets

Dual Relay Bricklet Joystick Bricklet LCD 20x4 Bricklet Temperature IR Bricklet Linear Poti Bricklet Distance IR Bricklet Analog In Bricklet 2.0

Bricklets can be used to extend the features of Bricks. There are Bricklets to measure physical quantity such as rotation, voltage, current and ambient light as well as Bricklets for control purposes such as switching relays, digital input/output and alphanumeric output on LCDs.

Unlike Bricks, Bricklets have no fixed size. Each Bricklet has the minimum size possible. Each Brick has up to four connectors for Bricklets. Bricklets can be controlled over the USB connection of the connected Brick.

Bricklets are not equipped with processors but possess their own API. From the programmer perspective they are handled as an independent modules. On startup a Brick detects connected Bricklets. The Bricklet plugins, stored in the EEPROM of the Bricklet, are loaded into the flash of the Brick. This adds new functions to the Brick, that can then be used from the PC.

Name Description
Accelerometer Measures acceleration in three axis
Ambient Light Measures ambient light up to 900lux
Ambient Light 2.0 Measures ambient light up to 64000lux
Analog In Measures DC voltage between 0V and 45V
Analog In 2.0 Measures DC voltage between 0V and 42V
Analog Out Generates configurable DC voltage between 0V and 5V
Analog Out 2.0 Generates configurable DC voltage between 0V and 12V
Barometer Measures air pressure and altitude changes
Breakout Makes all Bricklet signals available
CAN Communicates with CAN bus devices
CO2 Measures CO2 concentration in ppm
Color Measures color (RGB value), illuminance and color temperature
Current12 Measures AC/DC current between -12.5A and +12.5A
Current25 Measures AC/DC current between -25A and +25A
Distance IR Measures distance up to 150cm with infrared light
Distance US Measures distance between 2cm and 400cm with ultrasound
Dual Button Two tactile buttons with built-in blue LEDs
Dual Relay Two relays to switch AC/DC devices
Dust Detector Measures dust density
GPS Determine position, velocity and altitude using GPS
Hall Effect Detects presence of magnetic field
Humidity Measures relative humidity
Industrial Analog Out Generates configurable DC voltage and current, 0V to 10V and 4mA to 20mA
Industrial Digital In 4 4 galvanically isolated digital inputs
Industrial Digital Out 4 4 galvanically isolated digital outputs
Industrial Dual 0-20mA Measures two DC currents between 0mA and 20mA (IEC 60381-1)
Industrial Dual Analog In Measures two DC voltages between -35V and +35V with 24bit resolution each
Industrial Quad Relay 4 galvanically isolated solid state relays
IO-16 16-channel digital input/output
IO-4 4-channel digital input/output
Joystick 2-axis joystick with push-button
Laser Range Finder Measures distance up to 40m with laser light
LCD 16x2 16x2 character alphanumeric display with blue backlight
LCD 20x4 20x4 character alphanumeric display with blue backlight
LED Strip Controls up to 320 RGB LEDs
Line Measures reflectivity of a surface
Linear Poti 59mm linear potentiometer
Load Cell Measures weight with a load cell
Moisture Measures soil moisture
Motion Detector Passive infrared (PIR) motion sensor, 7m range
Multi Touch Capacitive touch sensor for 12 electrodes
NFC/RFID Reads and writes NFC and RFID tags
OLED 128x64 3.3cm (1.3inch) OLED with 128x64 pixels
OLED 64x48 1.68cm (0.66inch) OLED with 64x48 pixels
Piezo Buzzer Creates 1kHz beep
Piezo Speaker Creates beep with configurable frequency
PTC Reads temperatures from Pt100 und Pt1000 sensors
Real-Time Clock Battery-backed real-time clock
Remote Switch Controls remote mains switches
RGB LED Controls one RGB LED
Rotary Encoder 360° rotary encoder with push-button
Rotary Poti 300° rotary potentiometer
RS232 Communicates with RS232 devices
Segment Display 4x7 Four 7-segment displays with switchable colon
Solid State Relay Controls AC and DC Solid State Relays
Sound Intensity Measures sound intensity
Temperature Measures ambient temperature with 0.5°C accuracy
Temperature IR Measures contactless object temperature between -70°C and +380°C
Thermocouple Measures temperature with thermocouples
Tilt Detects inclination of Bricklet (tilt switch open/closed)
UV Light Measures UV light
Voltage Measures DC voltage between 0V and 50V
Voltage/Current Measures power, DC voltage and DC current up to 720W/36V/20A

Master Extensions

Chibi Extension Ethernet Extension RS485 Extension WIFI Extension 2.0

If a Master Brick is used on its own or in a stack communication is done by its USB interface. Master Extensions extends the communication interface of Master Bricks. There are cable based (RS485, Ethernet) and wireless Master Extensions (WIFI) available. Instead over USB Bricks and Bricklets can be controlled over Wi-Fi or Ethernet. RS485 can be used to interconnect Bricks and Bricklets over larger distances.

From a programming perspective the different interfaces are transparent. A stack with Master Extension behaves as if every Brick in the stack would be directly connected to the PC over an USB connection.

This means: You can develop an application with all modules independently connected to the PC over USB. Later you can stack these modules together to stacks, add Master Bricks and cable based or wireless Extensions and you can run the previously written code without any changes.

Name Description
Chibi Wireless Chibi connection between stacks
Ethernet Cable based Ethernet connection between stack and PC
RS485 Cable based RS485 connection between stacks
WIFI Wireless Wi-Fi connection between stack and PC
WIFI 2.0 Wireless Wi-Fi connection between stack and PC

Power Supplies

Step-Down Power Supply

Bricks and Bricklets can be powered by the USB connector of the Brick. Stacks can also be powered by the master of the stack over its USB connection. This option is limited by the USB specification to 500mA. A large stack may need more power.

To provide greater currents, Power Supplies are available. These modules power the stack and can additionally be used to supply the power for driver Bricks (e.g. DC Brick). Power Supplies have the same size as Bricks and are stacked in at the bottom of the stack.

Name Description
Step-Down Powers a stack of Bricks with 5V

Accessories

DC Jack Adapter
Name Description
DC Jack Adapter Adapter between a 5mm DC jack and 2 Pole Black Connector

Concepts

Stack of Bricks

Image of Stack of Bricks

Bricks can be stacked. A Master Brick (as the lowermost Brick) is responsible for the communication between all boards within the stack. This master routes the messages between the boards in the stack and the controlling device. This way only one USB connection is necessary to control all Bricks and Bricklets of a stack. For the user, the stack behaves as if all Bricks were connected separately over USB with the device. The stacking tutorial gives more information about how to use stacks.

With Master Extensions the USB interface of a stack can be replaced by Ethernet, WIFI or RS485. If the USB connection does not deliver enough power power supplies can be used to power the stack.

Programming/API

A general description of the programming interface can be found here. An overview of the API bindings for each programming language is given here. The API of each product can be found on each product document page. Additional there can be found programming examples for the product in any supported programming language.

These Tutorials are an introduction to the usage of Bricks and Bricklets: