Blog

Graphical User Interface for LCD 128x64

We just released version 2.0.2 of the LCD 128x64 Bricklet firmware. It comes with several improvmenets, including an API for an easy to use graphical user interface (GUI). The user interface consists of four basic UI elements:

  • Buttons: Up to 12 buttons can be placed with arbitrary position/width/height and custom text. They automatically generate a press- and release-event.

  • Slider: Up to 6 slider can be placed at arbitrary position/length. You can use horizontal and vertical slider. They automatically generate a position-event.

  • Graphs: Up to 4 graphs can be placed with arbitrary position/width/height. You can use dot-, line- and bar-graphs and a caption text for the x and y axis can be used. You can stream a list of data-points, the graph is drawn automatically.

  • Tabs: Up to 10 tabs can be used. Tabs can have text or icons. They automatically generate an event on tab selection changes.

These GUI elements can be added, updated and removed with an easy-to-use API. Interaction is done with callbacks on a user-event (click/swipe) basis. See the examples for your programming languages in the API documentation for the details.

The LCD 128x64 Bricklet has a buffer for the normal drawing functions (WritePixels, WriteLine, DrawBox, etc) and an additional buffer for the GUI elements. The GUI buffer will be drawn on top of the standard buffer.

Additionally both of those buffers can be double-buffered for smooth uninterrupted drawing.

This means that GUI will always stay on the display and react to user interaction until explicitly removed. With this approach the cooperation between GUI elements and self drawn addtions is easy to achieve, since there is never any z-fighting.

For Example: If you want to use a button with an icon, you can create a button with the position, width/height as you need it and leave the text empty. After that you can draw the icon inside of the button with the standard WritePixels function. This will work without problems and the highlight effect of the button during a click will not permanently overwrite your custom icon.

anstiftung: Vernetzungstreffen 2018

The annual "Vernetzungsttreffen" hosted by the anstiftung in cooperation with Verbund Offener Werkstätten e.V. took place from 16th to 18th november this year. Many members of the community and lots of interessted guests visited the event.

(Foto: Karolin Holz)

As part of the Vernetzungstreffen the VOW e.V. presented 5 project that will be supported. The 5 winners were picked from 51 submitted ideas by a jury. Congratulation to the winners.

Additionally vouchers for our shop with a value of 500 EUR each were given to the MakerLab-Murnau, the FabLab Neckar-Alb and the Stadtfabrikanten e.V. (FabLab Chemnitz).

(Foto: Karolin Holz)

We are always happy to support organisation like the VOW e.V. that dedicate themselves to the Maker/DIY movement. We are looking forward to seeing what the Maker Spaces and Fab Labs will build with our building blocks.

Guest blog article: Project "SensorCube"

That the building blocks of Tinkerforge are not only intended for companies or hobbyists, but are also used in research proves the project SensorCube.

Picture of the SensorCube from the flyer of the forum of innovation SmartenUp (sponsored by BMBF)

The IoT-Lab from Campus Minden (Bielefeld University of Applied Sciences) has used the Bricks and Bricklets from Tinkerforge to build a multi-sensor agent that collects and analyzes several types of indoor climate data. For this, not only typical sensors such as e.g. temperature or air pressure, but also sensors from new Bricklets such as the Particulate Matter Bricklet or the Air Quality Bricklet were used. Many of the used Bricklets can be found in the recently published Environmental Kit.

Bricks & Bricklets

Except for the case, which was printed via a 3D printer, all the hardware for this project is from Tinkerforge. The modularity of all components and the ability of the RED-Brick to easily connect to a network were decisive advantages. Which Bricks and Bricklets were installed exactly is listed below.

Bricks
Bricklets

Research

The field of application of the SensorCube was the detection of room occupancy in a building. For this purpose, the SensorCube collected data in a room every day and sent it over the network to a server, which stored the data. These data was then evaluated in terms of room occupancy.

Implementation

Collecting the data was very easy because the Tinkerforge Bricklets paired with the Master Bricks provided a simple interface for the data acquisition. By connecting the Master Brick stack to the RED Brick, it was also possible to use the Tinkerforge Python and Java Bindings to format the data so that it could be sent as a message over the network. The message protocol used was the MQTT Protokoll, which is widely used in the Internet of Things area.

Process flow of the SensorCube

Once the data arrived at the server, it stored the data in the Hadoop distributed file system. Apache Hadoop is a set of tools that are currently widely used in the big data area. The distributed file system offers the possibility to effectively store and manage larger amounts of data and makes it easy to connect analysis tools.

The analysis of the data finally tried to detect certain patterns in the data. Clustering should identify certain sensors that are particularly meaningful in the context of human presence. The data from these sensors can be used to train a machine learning model, predicting when people will be in a room. It creates a form of spatial plan.

Analysis of the sensor data as well as the allocation of the times with probable assignments

Conclusion

As you can already see, Tinkerforge Bricks and Bricklets can be an important part of a larger process. With simple interfaces, a modular design and high functionality, the components provide good prototyping and scalability. Especially in projects where a functionally stable hardware is needed and no focus on the modeling and implementation of this hardware should be, the components of Tinkerforge offer the perfect solution.

The SensorCube project was submitted and accepted in the context of the use of space occupancy to the workshop "Arbeitsplatz im Wandel". The publication can be accessed with the following link: "Determining room usage through a multi-sensor system and machine learning" - LAiW 2018

Author: Joshua Wiegmann, IoT-Lab Minden

Three new Tinker Kits

We put together three new Tinker Kits:

They replace the old Tinker Kit. All Bricklets in these kits have the new 7-pole connector and a co-processor. All three kits are delivered in a toolbox. The kits are well suited for research institutes and development departments for rapid prototyping and small production runs.

The kits will be updated regularly according to the current inventory and with new modules.

The Tinker Kit: Ultimate is the biggest set. It contains every Brick and Bricklet from our assortment of building blocks.

Tinker Kit: Ultimate

It comes with over 60 different modules and a lot of accessoires including cables, mounting plates, motors and NFC tags. It comes including a professional set of storage boxes.

Tinker Kit Toolbox

The second new kit is the Tinker Kit: Industrial.

Tinker Kit: Industrial

This Kit contains all Industrial Bricklets and the Rail Mounting Case. It can be used for prototyping in lots of different industrial applications.

The new Tinker Kit: Environment can be used for any kind of environmental measurement applications.

TInker Kit: Environment box

It contains a whole assortement of different sensors to measure ambient light, temperature, humidity, barometric pressure, air quality, particulate matter and more. It comes in a single space-saving box.

16 new Bricklets

After some delays our long-awaited production panel with 16 new Bricklets finally arrived! Below you can see how an unsperated panel looks like when we get it from our SMT assembly manufacturer.

All new Brickelts have a co-processor and the new 7 pole connector. First a list of the new Bricklets:

There are now only a few Bricklets witht he old 10 pole connector left in our assortment. These Bricklets will be updated with the next panel, whereby the conversion to the new connector and co-processor will be finished.

In the following we will introduce new Bricklets and new features of the updated Bricklets:

Air Quality Bricklet: The Air Quality Bricklet measures VOC values (Volatile Organic Components). To do that it detects parts of ethane, isoprene, ethanol, acetone and carbon monoxide in the air by adsoprtion. Additionally the Bricklet measures termperature, humidity and air pressure. With this data it is possible to determine the IAQ (Indor Air Quality) Index. All of the measurements can be read from the Bricklet individually. The Bricklet is well suited to be used for air quality monitoring as well as home automation.

Barometer Bricklet 2.0: The new Barometer Bricklet got an update to the LPS22HB sensor. With the new IC it can offer a resolution of 0.0075mbar/6.25cm (before 0.012mbar/0.1m). The measurement range of the new Bricklet is increased to up to 1260mbar.

Isolator Bricklet: Due to the Isolator Bricklet it is now possible to galvanically isolate the power as well as data lines between any Brick and Bricklet. The isolation can be used by any Bricklet with an analog or digital in-/output. For example you will now be able to use a Voltage/Current Bricklet to to measure the voltage and current consumption of a stack without accidentially creating a ground loop. Additionally it is possible to make measurements that have a different reference potential.

Industrial Bricklets: The specifications of the Industrial Bricklets are essentially the same. As an additional feature the Industrial Bricklets now have a status LED per channel. The Industrial Digital Out 4 Bricklet 2.0 can now show the state of each of the 4 outputs. Industrial Bricklets with analog measurements can even dimm the LED to show the current analog value with the intensity of the LED.

LCD 128x64 Bricklet: The new LCD 128x64 Bricklet is the highlight of the new panel. It has a 2.8" display with a resolution of 128x64 pixel. The display has about the same size as the old LCD 20x4 Bricklet. Since any pixel can be set separately it is possible draw graphics or different font types. To increase the usability we integrated a default font that can be used for easy text drawing.

The integrated touch screen will create a callback with x/y-coordinates when touching as well as the intensity of the contact pressure. For an easy realization of intuitive controls the Bricklet also detects simple swipe gestures that can be used for menus or similar. Since the touch screen is resistive, it can also be used with gloves or a pen.

One Wire Bricklet: With the One Wire Bricklet you can now use 1-Wire compatible devices. It is possible to connect up to 64 1-Wire devices to the bus at the same time. The Bricklet supports 3.3V, 5V as well as an externally connected supply voltage. Examples for the usage of the popular MAX31820 1-Wire sensors can be found in the documentation.

Temperature Bricklet 2.0: The replacement of the Temperature Bricklet uses the new STS3 temperature IC from Sensirion. It has an improved resolution of 0.01°C (before 0.1°C) and accuracy of 0.2°C (before 0.5°C).

UV Light Bricklet 2.0: The UV Light Bricklet 2.0 also got and IC upgrade. While the old Bricklet could only measure UVA, the new Bricklet can measure light intensity in UVA as well as UVB and it can calculate the UV Index internally.