The LCD 128x64 Bricklet is a LC Display with a resolution of 128x64 pixel and resistive touchscreen.
Each pixel can be set individually, so the display can show graphics. This allows for more versatile and detailed drawings on the display, compared to the alphanumeric LCD 20x4 Bricklet with its fixed character display. The screen size is very similar to the screen size of the old LCD 20x4 Bricklet, so it can be used as a direct replacement.
Text can easily be drawn onto the display with the embedded font of the Bricklet. The Bricklet also comes with an embedded GUI.
The touch screen has easy to use callbacks with x/y coordinates and touch pressure. The Bricklet can automatically detect standard swipe gestures.
High update rates of up to 60Hz are possible.
The LCD 128x64 Bricklet together with Air Quality Bricklet in the Tabletop Weather Station:
Property | Value |
---|---|
Current Consumption | 40mW (8mA at 5V, backlight off)
545mW (107mA at 5V, backlight at 100%)
|
Display Resolution | 128x64 pixel, 22x8 characters |
Display Size | 7.1cm (2.8") |
Display Colors | Black/White |
Touchscreen Type | Resistive |
Touchscreen Resolution | 128x64 |
Touchscreen Pressure | 0-300 |
Dimensions (W x D x H) | 55 x 85 x 8mm (2.17 x 3.35 x 0.32") |
Weight | 55g |
To test a LCD 128x64 Bricklet you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.
Connect the LCD 128x64 Bricklet to a Brick with a Bricklet Cable.
If you connect the Brick to the PC over USB, you should see a new tab named "LCD 128x64 Bricklet" in the Brick Viewer after a moment. Select this tab. If everything went as expected the Brick Viewer should look as depicted below.
You can draw and write text to the display. With the slider it is also possible to show the available character set on the LCD.
If you press with your finger or a stylus on the display you can see a red circle at the press-position in Brick Viewer. The number of circles corresponds to the touch pressure.
After this test you can go on with writing your own application. See the Programming Interface section for the API of the LCD 128x64 Bricklet and examples in different programming languages.
To draw to the display we recommend that you use an image library that is native to your programming language (for example PIL for Python). This way you can use all of the available drawing primitives and fonts of the library and then copy the image buffer to the Bricklet.
We provide examples for:
Since firmware version 2.0.2 the LCD 128x64 Bricklet comes with an API for an easy to use graphical user interface (GUI). The user interface consists of four basic UI elements:
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.
The Bricklet has an embedded font (code page 437, ASCII subset in green) that allows fast and easy text rendering (up to 22x8 characters):
The Bricklet has a resistive touchscreen. This means that you may have to touch with a little bit more pressure then you are used to with your smart phone, but you can also use a stylus or similar instead of your finger.
With the API you can get the currently pressed x/y coordinate as well as the touch pressure. You can use this for detection of "clicks" or gestures.
Some gestures (swipe left, right, up, down with the start- and end-position of the swipe) are calculated by the Bricklet and can be received directly through the API with callbacks.
A laser-cut case for the LCD 128x64 Bricklet is available.
The assembly is easiest if you follow the following steps:
Below you can see an exploded assembly drawing of the LCD 128x64 Bricklet case:
Hint: There is a protective film on both sides of the plates, you have to remove it before assembly.
See Programming Interface for a detailed description.
Language | API | Examples | Installation |
---|---|---|---|
C/C++ | API | Examples | Installation |
C/C++ for Microcontrollers | API | Examples | Installation |
C# | API | Examples | Installation |
Delphi/Lazarus | API | Examples | Installation |
Go | API | Examples | Installation |
Java | API | Examples | Installation |
JavaScript | API | Examples | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Examples | Installation |
MATLAB/Octave | API | Examples | Installation |
MQTT | API | Examples | Installation |
openHAB | API | Examples | Installation |
Perl | API | Examples | Installation |
PHP | API | Examples | Installation |
Python | API | Examples | Installation |
Ruby | API | Examples | Installation |
Rust | API | Examples | Installation |
Shell | API | Examples | Installation |
Visual Basic .NET | API | Examples | Installation |
TCP/IP | API | ||
Modbus | API |