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.
Our products are divided into five different categories:
This tutorial explains of how everything works together.
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. the IMU Brick 2.0), communicate (e.g. the Master Brick) and drive motors (e.g. the DC Brick).
With Bricklets the features of Bricks can be extended. Dependent on the Brick it has none, 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 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.
|DC||Drives one brushed DC motor with up to 28V and 5A (peak)|
|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|
|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 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.
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.
There is an extra section for discontinued Bricklets.
|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 0.1mG (milli Gauss) and 0.1° resolution|
|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||Two tactile buttons with built-in blue LEDs|
|Dual Button 2.0||Two tactile buttons with built-in blue LEDs|
|Dual Relay||Two relays to switch AC/DC devices|
|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|
|Industrial Analog Out||Generates configurable DC voltage and current, 0V to 10V and 4mA to 20mA|
|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 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 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||Passive infrared (PIR) motion sensor with 7m range|
|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)|
|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|
|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|
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.
|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|
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. the DC Brick). Power Supplies have the same size as Bricks and are stacked in at the bottom of the stack.
|Step-Down||Powers a stack of Bricks with 5V|
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.
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: