Tinkerforge is an open-source hardware platform of stackable microcontroller building blocks (Bricks) that can control different modules (Bricklets). The primary communication interface of the building blocks can be extended using Master Extensions. The hardware can be controlled by external programs written in C, C++, C#, Object Pascal, Java, Perl, PHP, Python, Ruby, Shell and VB.NET over a USB, Wi-Fi or Ethernet connection, and running on Windows, Linux and macOS. This non-embedded programming approach eliminates the typical requirements and limitations (development tools, limited availability of RAM and processing power) of conventional embedded software development (such as Arduino). Tinkerforge hardware and software are both open source, and all files are hosted on GitHub.
Bricks are 4 × 4 cm circuit boards. They can evaluate measurements, control motors and communicate with other building blocks. Each Brick has a 32-bit ARM microcontroller, a USB connector and connectors for more Bricks and Bricklets.
It is possible to stack several Bricks onto each other. The bottom Brick of such Stacks needs to be a Master Brick.
Bricklets
Bricklets extend the features of Bricks. They provide means for the input and output of data. Many Bricklets are sensors, but there are also LCD-Bricklets and Bricklets for digital and analog in- and output.
Master Extensions
Master Extensions extend the communication interfaces of Bricks. Like Bricks, Master Extensions are 4 × 4 cm circuit boards. There are Extensions for Wi-Fi, Ethernet and RS-485. From a programming perspective, the different interfaces are transparent. A stack with Master Extension behaves as if every board in the stack would be directly connected to the PC over a USB connection.