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: Base modules of each Tinkerforge system with individual functions.
  • Bricklets: Sensor/actuator modules that extend the features of a Brick. These modules are connected to a Brick by cable.
  • 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.

This tutorial explains of how Bricks and Bricklets are working together.

Bricks

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

Bricks are the base modules of each Tinkerforge system. Different Bricks can be used in one system, but each system requires one Brick as a minimum. Bricks can have their own features (sensors, actuators), but the main purpose of Bricks is to attach Bricklets to the system. For that each Brick has multiple Bricklet connectors.

Many Bricks can be remotely controlled by external devices, such as (embedded) PCs, over interfaces such as USB-C, WIFI or Ethernet. The external device than runs your program which controls the system by our API.

There are Bricks that can be attached to a Raspberry Pi (HAT Brick, HAT Zero Brick), such that that your software on the Raspberry Pi can control the attached hardware directly.

Master Bricks, a special type of Bricks with USB-C interface, 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 using Master Extensions. In conjunction with the stack concept all Bricks and Bricklets can be controlled by Wi-Fi or Ethernet instead of by USB.

There is an extra section for discontinued Bricks.

Name Description
Debug For Firmware Developers: JTAG and serial console
HAT HAT for Raspberry Pi with 8 Bricklets ports and real-time clock
HAT Zero HAT for Raspberry Pi Zero with 4 Bricklets ports
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
Silent Stepper Silently drives one bipolar stepper motor with up to 46V and 1.6A per phase

Bricklets

LCD 128x64 Bricklet NFC Brickelt Rotary Encoder Bricklet 2.0 Piezo Speaker Bricklet 2.0 Industrial Quad Relay Bricklet 2.0 Laser Range Finder Bricklet 2.0 Thermal Imaging Bricklet

Bricklets can be used to extend the features of Bricks. There are Bricklets to measure physical quantities 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.

Bricklets have no fixed size. Each Bricklet has the minimum size possible. Each Brick has typically multiple connectors for Bricklets. Bricklets are controlled by the connected Brick.

There is an extra section for discontinued Bricklets.

Name Description
Accelerometer 2.0 Measures acceleration in three axis
Air Quality Measures IAQ index, temperature, humidity and air pressure
Ambient Light 3.0 Measures ambient light up to 64000lux
Analog In 3.0 Measures DC voltage between 0V and 42V
Analog Out 2.0 Generates configurable DC voltage between 0V and 12V
Analog Out 3.0 Generates configurable DC voltage between 0V and 12V
Barometer Measures air pressure and altitude changes
Barometer 2.0 Measures air pressure and altitude changes
Breakout Makes all Bricklet signals available
CAN Communicates with CAN bus devices
CAN 2.0 Communicates with CAN bus devices
CO2 2.0 Measures CO2 concentration, temperature and humidity
Color Measures color (RGB value), illuminance and color temperature
Color 2.0 Measures color (RGB value), illuminance and color temperature
Compass 3-axis compass with 10 nanotesla and 0.1° resolution
DC 2.0 Drives one brushed DC motor with up to 28V and 5A (peak)
Distance IR Measures distance up to 150cm with infrared light
Distance IR 2.0 Measures distance up to 150cm with infrared light
Distance US 2.0 Measures distance between 30cm and 500cm with ultrasound
DMX DMX master and slave
Dual Button 2.0 Two tactile buttons with built-in blue LEDs
Dust Detector Measures dust density
E-Paper 296x128 Three color 296x128 e-paper display
Energy Monitor Measures Voltage, Current, Energy, Real/Apparent/Reactive Power, Power Factor and Frequency
GPS 2.0 Determine position, velocity and altitude using GPS
Hall Effect Detects presence of magnetic field
Hall Effect 2.0 Measures magnetic flux density between -7mT and +7mT
Humidity 2.0 Measures relative humidity
IMU 3.0 Full fledged AHRS with 9 degrees of freedom
Industrial Analog Out 2.0 Generates configurable DC voltage and current, 0V to 10V and 4mA to 20mA
Industrial Counter 4 channel counter up to 4MHz
Industrial Digital In 4 2.0 4 galvanically isolated digital inputs
Industrial Digital Out 4 4 galvanically isolated digital outputs
Industrial Digital Out 4 2.0 4 galvanically isolated digital outputs
Industrial Dual 0-20mA Measures two DC currents between 0mA and 20mA (IEC 60381-1)
Industrial Dual 0-20mA 2.0 Measures two DC currents between 0mA and 20mA (IEC 60381-1)
Industrial Dual AC Relay Two relays to switch AC devices
Industrial Dual Analog In 2.0 Measures two DC voltages between -35V and +35V with 24bit resolution each
Industrial Dual Relay Two relays to switch AC/DC devices
Industrial PTC Reads temperatures from Pt100 und Pt1000 sensors
Industrial Quad Relay 2.0 4 galvanically isolated solid state relays
IO-16 16-channel digital input/output
IO-16 2.0 16-channel digital input/output
IO-4 2.0 4-channel digital input/output
Isolator Galvanically isolates any Bricklet from any Brick
Joystick 2-axis joystick with push-button
Joystick 2.0 2-axis joystick with push-button
Laser Range Finder 2.0 Measures distance up to 40m with laser light
LCD 128x64 7.1cm (2.8inch) display with 128x64 pixel and touch screen
LCD 20x4 20x4 character alphanumeric display with blue backlight
LED Strip 2.0 Controls up to 2048 RGB(W) LEDs
Line Measures reflectivity of a surface
Linear Poti 59mm linear potentiometer
Linear Poti 2.0 59mm linear potentiometer
Load Cell 2.0 Measures weight with a load cell
Motion Detector 2.0 Passive infrared (PIR) motion sensor with 12m range and dimmable backlight
Motorized Linear Poti Motorized Linear Potentiometer
Multi Touch Capacitive touch sensor for 12 electrodes
Multi Touch 2.0 Capacitive touch sensor for 12 electrodes
NFC NFC tag read/write, NFC P2P and Card Emulation
OLED 128x64 2.0 3.3cm (1.3inch) OLED display with 128x64 pixels
OLED 64x48 1.68cm (0.66inch) OLED display with 64x48 pixels
One Wire Communicates with up 64 1-Wire devices
Outdoor Weather 433MHz receiver for outdoor weather station
Particulate Matter Measures Particulate Matter concentration (PM1.0, PM2.5 and PM10)
Performance DC Drives one brushed DC motor with up to 36V and 10A
Piezo Speaker Creates beep with configurable frequency
Piezo Speaker 2.0 Creates beep and alarm with configurable volume and frequency
PTC 2.0 Reads temperatures from Pt100 und Pt1000 sensors
Real-Time Clock Battery-backed real-time clock
Real-Time Clock 2.0 Battery-backed real-time clock
Remote Switch 2.0 Controls remote mains switches and receives signals from remotes
RGB LED Controls one RGB LED
RGB LED 2.0 Controls one RGB LED
RGB LED Button Push button with built-in RGB LED
Rotary Encoder 2.0 360° rotary encoder with push-button
Rotary Poti 300° rotary potentiometer
Rotary Poti 2.0 300° rotary potentiometer
RS232 Communicates with RS232 devices
RS232 2.0 Communicates with RS232 devices
RS485 Communicates with RS485/Modbus devices with full- or half-duplex
Segment Display 4x7 Four 7-segment displays with switchable colon
Segment Display 4x7 2.0 Four 7-segment displays with switchable dots
Servo 2.0 Drives up to 10 RC Servos
Silent Stepper 2.0 Silently drives one bipolar stepper motor with up to 46V and 1.6A per phase
Solid State Relay 2.0 Controls AC and DC Solid State Relays
Sound Intensity Measures sound intensity
Sound Pressure Level Measures Sound Pressure Level in dB(A/B/C/D/Z)
Temperature Measures ambient temperature with 0.5°C accuracy
Temperature 2.0 Measures ambient temperature with 0.2°C accuracy
Temperature IR 2.0 Measures contactless object temperature between -70°C and +380°C
Thermal Imaging 80x60 pixel thermal imaging camera
Thermocouple 2.0 Measures temperature with thermocouples
Tilt Detects inclination of Bricklet (tilt switch open/closed)
UV Light Measures UV light
UV Light 2.0 Measures UV-A, UV-B and UV index
Voltage/Current 2.0 Measures power, DC voltage and DC current up to 720W/36V/20A
XMC1400 Breakout Breakout for Infineon XMC1400 microcontroller

Master Extensions

Ethernet Extension RS485 Extension WIFI Extension 2.0

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

From a programming perspective the different interfaces are transparent. A stack with a Master Extension behaves as if every Brick in the stack is 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.

There is an extra section for discontinued Extensions.

Name Description
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

Nearly all Bricklets are powered by the Brick where they are connected to, over the Bricklet cable. If you have a Bricklet which needs some other kind of power supply, there is a description how to power the Bricklet in its documentation.

How it is possible to power a Brick and its connected Bricklets is documented in the respective documentation. For many Bricks it is possible to power the system by USB-C or a DC input.

If you use a Master Brick and you have build a Stack, this stack can be powered by the Master of the stack over its USB-C connection. This option is limited by the USB specification to 500mA. A large stack may need more power.

To provide greater currents, the Step Down Power Supply is available. It has the same size as the Master Brick, has a wide range DC input and is stacked in at the bottom of the stack.

When using a stack with Ethernet, there is the possibility to power the stack by PoE. With Power-over-Ethernet (PoE) you can power the stack by the network cable. For that you have to choose the Ethernet Extension in its PoE variant.

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

Concepts

Stack of Master Bricks

Image of Stack of Bricks

A Master Brick is a 4x4cm Brick. This Brick and all Bricklets that are connected to it can be controlled over the USB-C interface of the Master Brick. Master Bricks can be stacked to add more Bricklet ports.

One Master Brick (the lowermost Brick in the stack) 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, Wi-Fi 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, including examples in any supported programming language, can be found on each product document page.

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