Products for USB Sensing and Control
Products for USB Sensing and Control

PHIDGETS Inc.

Unit 1 - 6115 4 St SE
Calgary AB  T2H 2H9
Canada
+1 403 282-7335

Graphic LCD Phidget

ID: LCD1100_0
Recommended for new designs: This product (or a similar replacement with a compatible form, fit and function) is estimated to be available for ten years or more.

Write text and draw pictures to this 128x64px graphic LCD display that connects to a VINT port.

$30.00

Quantity Available: 399

Qty Price
5 $28.50
10 $27.00
25 $24.00
50 $21.00
100 $19.50
250 $18.00
500 $16.50
1000 $15.00

If your project needs a user output that's more complex than LEDs but more portable than a computer screen, this graphic LCD module will suit your needs. The screen is 128 pixels wide and 64 pixels tall, and each pixel is 0.45 mm. The backlight brightness and pixel contrast can both be controlled from software. The LCD1100 connects to a port on a VINT Hub; see the Connection & Compatibility tab for a list of hubs.

Built-in Drawing and Text Functions

Our powerful API makes it easy to draw simple shapes on the LCD screen: Draw indivudual pixels, straight lines or rectangles; Write text to the screen, copy one region of the screen to another region, or even print an entire screen of pixels all at once. Use the text function to write text in one of three different fonts to the screen, or design your own font and load it into a frame buffer for continuous use.

Custom Frame Buffers

You have full access to three separate frame buffers for this screen. Each one can be thought of as a blank canvas where you keep images that can be quickly and easily copied to the screen. For example, the user-customized font mentioned earlier would be stored here, and the text function can copy these images to the screen, letter by letter. Or, you could build a sprite sheet to copy in small images to be used for animating objects on the screen. One of the frame buffers can be saved to the onboard flash memory, so that its data can be maintained even when the board is powered off or used with a different computer.

VINT Hubs

This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Primer. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available:

Product Board
Image Part Number Price Number of VINT Ports
HUB0000_0 $30.00 6
SBC3003_0 $120.00 6

Phidget Cables

Use a Phidget cable to connect this device to the hub. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.

Product Physical Properties
Image Part Number Price Cable Length
3002_0 $2.00 600 mm
3003_0 $1.50 100 mm
3004_0 $3.00 3.5 m
3034_0 $1.50 150 mm
3038_0 $2.25 1.2 m
3039_0 $2.75 1.8 m


Getting Started

Welcome to the LCD1100 user guide! In order to get started, make sure you have the following hardware on hand:


Next, you will need to connect the pieces:
LCD1100 Functional.jpeg
  1. Connect the LCD1100 to the VINT Hub using the Phidget cable.
  2. Connect the VINT Hub to your computer with a USB cable.


Using the LCD1000

Phidget Control Panel

In order to demonstrate the functionality of the LCD1100, the Phidget Control Panel running on a Windows machine will be used.


The Phidget Control Panel is available for use on both macOS and Windows machines.

Windows

To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG

macOS

To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.


For more information, take a look at the getting started guide for your operating system:


Linux users can follow the getting started with Linux guide and continue reading here for more information about the LCD1100.

First Look

After plugging the LCD1100 into your computer and opening the Phidget Control Panel, you will see something like this:

LCD1100 Panel.jpg


The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.


The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

Graphic LCD

GraphicLCD Example.jpg


When you double click on a Graphic LCD object, a window like the one pictured will open.

  • At the top of the window, information about your device and the properties of this particular channel will be listed.
  • In the middle, brightness and contrast of the LCD screen can be adjusted.
  • At the bottom, there are a number of buttons to demonstrate the functionality of the graphics LCD:


  • Basic Example: Write some text, lines, boxes and a bitmap to the screen.
  • SaveFrameBuffer: Save the current screen to memory.
  • RecallFrameBuffer: Load the saved screen from memory and print it to the screen.
  • Async Example: Prints a bitmap to the screen asynchronously (can occur while other draw functions are still running).
  • Async Text: Prints text to the screen asynchronously.
  • Async Timer: As above, but constantly prints numbers in random locations.
  • Image: Loads an image from file and converts it to a bitmap to be displayed on the screen.
  • Sleep/Unsleep: Toggles sleep mode, where the Phidget is still attached but in a minimal power consumption state.
  • Clear Screen: Erases the screen.


Finding The Addressing Information

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

The locate Phidget button is found in the device information box

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

All the information you need to address your Phidget

Using Your Own Program

You are now ready to start writing your own code for the device. The best way to do that is to start from our examples:

This Phidget is compatible with the LCD Examples.

Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Software Overview page.

Technical Section

Custom Characters

Bitmaps

Bitmaps define images to be drawn on the screen of the Graphic LCD display. Bitmaps on the Graphic LCD display are made up of pixels arranged in a grid with a size defined when the bitmap is drawn.

You can create a bitmap by defining a byte array of ones and zeroes. Ones are colored in, and zeroes are empty. If you put a line break after each row, it'll be easy to edit the bitmap.

In C#, this may look something like this:

Byte[] heart = 	[0,0,0,0,0,
		 0,1,0,1,0,
		 1,1,1,1,1,
		 1,1,1,1,1,
		 0,1,1,1,0,
		 0,0,1,0,0,
		 0,0,0,0,0,
		 0,0,0,0,0];

gLCD.WriteBitmap(0, 0, 5, 8, heart);

Custom Characters

Custom characters are images associated with given unicode characters. A custom character can be any arrangement of pixels within the space allotted for a single character. Single characters are made up of pixels arranged in a grid with a size defined by setFontSize().

As with regular bitmaps for the Graphic LCD display, you can create a character bitmap by defining a byte array of ones and zeroes. Ones are colored in, and zeroes are empty. If you put a line break after each row, it'll be easy to edit the bitmap.

In C#, this may look something like this:

Byte[] heart = 	[0,0,0,0,0,
		 0,1,0,1,0,
		 1,1,1,1,1,
		 1,1,1,1,1,
		 0,1,1,1,0,
		 0,0,1,0,0,
		 0,0,0,0,0,
		 0,0,0,0,0];

gLCD.SetFontSize(LCDFont.User2, 5, 8);
gLCD.SetCharacterBitmap(LCDFont.User2,"\x6",heart);

Once stored, characters can be recalled into a text string by using the unicode value for the location (in this example, "\x6"). For example, in C#:

gLCD.WriteText(LCDFont.Dimensions_5x8, 0, 0,"I \x6 Phidgets!");

Custom characters on the LCD1100 are stored as images on the frame buffer for their font. FONT_User1 is stored on frame buffer 1 and FONT_User2 is on frame buffer 2.

These characters occupy the same space as drawings on their framebuffer, and will be displayed onscreen if their framebuffer is flushed. They can also be overwritten by using drawing funcitons on their framebuffer, so it is recommended to only use a given framebuffer either for drawing or storing fonts, but not both.

We recommend using FONT_User2 (frame buffer 2) to store custom fonts, as it can be saved for later use.

In order to use the custom fonts, you must first define their size with setFontSize(). Once the font size is set, custom characters will be placed on the font's frame buffer at a location corresponding to the character number provided.

Characters for each font are stored in rows ordered left-to-right, top-to-bottom. Rows are filled with as many characters as will completely fit across the width of the screen. There are as many rows as will fit on the screen vertically.

On a screen 128 pixels wide by 64 pixels high, if your font is 10 pixels wide by 20 high, you will have 3 rows of 12 characters. This allows for a maximum of 36 characters of that size.

A demonstration of how many 10x20px characters can fit on the screen.

To quickly determine how many characters can be in your custom font, you can call getMaxCharacters() in your code.

Custom character indexing starts with character 0x01 and can be any character between 0x01 and the maximum number of characters that fit on screen.

To determine if an ascii character can be used in a given custom font, you can look at its corresponding ascii value on an ascii table to determine if it is within the limit determined above.

What to do Next

  • Software Overview - Find your preferred programming language here and learn how to write your own code with Phidgets!
  • Phidget22 API - The API is a universal library of all functions and definitions for programming with Phidgets. Just select your language and device and it'll give you a complete list of all properties, methods, events, and enumerations that are at your disposal.

Product Specifications

Board Properties
Controlled By VINT
LCD
Screen Resolution 128 x 64
LCD Refresh Rate 5 Hz
Pixel Size 450 μm
Electrical Properties
Current Consumption Min 17 μA
Current Consumption Max 34 mA
Physical Properties
Operating Temperature Min -20 °C
Operating Temperature Max 70 °C

Power Saving

Current Consumption (mA) Screen Backlight
0.035 OFF OFF
0.36 ON OFF
14 - 66* ON ON

* Varies based on contrast setting.

Software Objects

Channel NameAPIChannel
Graphic LCD LCD 0

API


Back Forward
Print this API

Documents

Library & Driver Downloads

Code Samples

Language:

APIDetailLanguageOS
LCD C Multiple Download
LCD C# Windows Download
LCD Java Multiple Download
LCD Java Android Download
LCD JavaScript Nodejs Download
LCD JavaScript Browser Download
LCD Graphic LCD Examples Objective-C macOS Download
LCD Graphic LCD Example Swift macOS Download
LCD Python Multiple Download
LCD Visual Basic .NET Windows Download
LCD Max/MSP Multiple Download
LCD Graphic LCD Example Max/MSP Multiple Download

Product History

Date Board Revision Device Version Comment
February 2018 0 106 Product Release

If you just need text, here's a list of our text LCD screens:

Product LCD Screen
Image Part Number Price Number of Rows Characters per Row Character Width
3650_0 $18.00 2 20 3.2 mm
3651_0 $14.00 2 20 2.5 mm
3652_0 $25.00 2 20 5.9 mm
3653_0 $25.00 2 40 3.2 mm
3654_0 $20.00 4 20 3 mm
3655_0 $35.00 4 40 2.8 mm

The above LCD screens can be controlled by our textLCD interface:

Product
Image Part Number Price
1204_0B $30.00

Here are all of our options for LCD control:

Product Board Properties
Image Part Number Price Controlled By
1203_2B $70.00 USB (Mini-USB)
1204_0B $30.00 USB (Mini-USB)
LCD1100_0 $30.00 VINT