LCD purchase advice needed

Status
Not open for further replies.

donkeyahoy

Well-known member
I'm looking to purchase a simple 16x2 LCD screen for displaying text. It will display the speed of the motor being controlled by the Teensy 3.1.

Which LCD would you recommend that is the most compatible and easiest to hook up to the Teensy 3.1?

Thanks!
 
Teensy 3.x displays

The problem of many LCD's is they require 5v power. Many will work if you give it 5v power, but use 3.3v signals like the Teensy generates. There might be some that require 5v signals which would mean doing voltage level conversions. If you are powering the Teensy from USB, you can hook the display up to the VIN pin to get 5v power.

Sparkfun has several 3.3v displays: https://www.sparkfun.com/search/results?term=3.3v+16x2+display, and Adafruit has 3: https://www.adafruit.com/search?q=3.3v+16x2+display

If the the display sends back data (most do not), and you use a Teensy 3.0, you could fry the Teensy 3.0 if you are using 5v power, since the Teensy 3.0 is not tolerant of 5v input (I know you are using a Teensy 3.1, but this is directed to the other readers that might have a similar question).

I tend to like the Dig-ole OLED devices http://www.digole.com/index.php?categoryID=153. These devices will run off of a serial line, i2c, or spi depending on how you wire them up, and they will run off of either 3.3v or 5v power. Dig-ole provides an Arduino library. I needed to make some minor changes to the library to get it to run on Teensy 3.0. I use it via a serial line, using one of the 3 serial lines, hooking up the TX pin (pin 1 for Serial1, pin 10 for Serial2, or pin 8 for Serial3, 9600 baud speed). I use the 0.96" OLED display that I ordered from their Canadian office (http://www.digole.com/index.php?productID=528). I find the first two fonts are hard to read, and by default, I use font size 18. I also got the 2.7" LCD, but I don't like the LCD compared to the OLED displays, because it is harder to read in some lighting situations (but the same programming is used on both displays).

Through experimentation, I have learned that the 128x64 OLED can display:
  • Font size 6 can display 10 lines, each consisting of 32 characters;
  • Font size 10 can display 7 lines, each consisting of 21 characters;
  • Font size 18 can display 4 lines, each consisting of 14 characters;
  • Font size 51 can display 2 lines, each consisting of 8 characters.

In the past, I used a clone of the Adafruit OLED display (the dig-ole OLED that I use now uses the same screen, but different programming). I used it until I ruined it with a soldering accident. Here is the Adafruit OLED display: https://www.adafruit.com/products/326. I've seen these as either i2c or spi displays. Here is the clone display I bought: https://www.tindie.com/products/miker/096-oled-i2c-display-33v-50v/. Generally, I avoid clones that use libraries developed by companies like Adafruit. I think at the time, the display was on backorder at Adafruit.

By experimentation, I have learned the 128x64 OLED screen with the Adafruit driver can display:
  • Font size 1 can display 8 lines, each consisting of 20 characters;
  • Font size 2 can display 4 lines, each consisting of 9 characters;
  • Font size 3 can display 3 lines, each consisting of 7 characters.

If you use an i2c display, you will need to add separate pull-up 4.7K resistors from A4/A5 to power, and hook up the SDA wire to A4 and SCL wire to A5.

Compared to a 16x2 display, the OLED displays might be a little more fragile.

If you just want to display numbers, I've also used the Sparkfun serial 7 segment display. Like the Dig-ole, you can use it with serial, i2c, or spi. https://www.sparkfun.com/products/11441. The programming for these when used on a serial line is fairly simple.

I believe Adafruit has some 7 segment displays as well, but I haven't used them.
 
Last edited:
The problem of many LCD's is they require 5v power. Many will work if you give it 5v power, but use 3.3v signals like the Teensy generates. There might be some that require 5v signals which would mean doing voltage level conversions. If you are powering the Teensy from USB, you can hook the display up to the VIN pin to get 5v power.

Sparkfun has several 3.3v displays: https://www.sparkfun.com/search/results?term=3.3v+16x2+display, and Adafruit has 3: https://www.adafruit.com/search?q=3.3v+16x2+display

If the the display sends back data (most do not), and you use a Teensy 3.0, you could fry the Teensy 3.0 if you are using 5v power, since the Teensy 3.0 is not tolerant of 5v input (I know you are using a Teensy 3.1, but this is directed to the other readers that might have a similar question).

I tend to like the Dig-ole OLED devices http://www.digole.com/index.php?categoryID=153. These devices will run off of a serial line, i2c, or spi depending on how you wire them up, and they will run off of either 3.3v or 5v power. Dig-ole provides an Arduino library. I needed to make some minor changes to the library to get it to run on Teensy 3.0. I use it via a serial line, using one of the 3 serial lines, hooking up the TX pin (pin 1 for Serial1, pin 10 for Serial2, or pin 8 for Serial3, 9600 baud speed). I use the 0.96" OLED display that I ordered from their Canadian office (http://www.digole.com/index.php?productID=528). I find the first two fonts are hard to read, and by default, I use font size 18. I also got the 2.7" LCD, but I don't like the LCD compared to the OLED displays, because it is harder to read in some lighting situations (but the same programming is used on both displays).

Through experimentation, I have learned that the 128x64 OLED can display:
  • Font size 6 can display 10 lines, each consisting of 32 characters;
  • Font size 10 can display 7 lines, each consisting of 21 characters;
  • Font size 18 can display 4 lines, each consisting of 14 characters;
  • Font size 51 can display 2 lines, each consisting of 8 characters.

In the past, I used a clone of the Adafruit OLED display (the dig-ole OLED that I use now uses the same screen, but different programming). I used it until I ruined it with a soldering accident. Here is the Adafruit OLED display: https://www.adafruit.com/products/326. I've seen these as either i2c or spi displays. Here is the clone display I bought: https://www.tindie.com/products/miker/096-oled-i2c-display-33v-50v/. Generally, I avoid clones that use libraries developed by companies like Adafruit. I think at the time, the display was on backorder at Adafruit.

By experimentation, I have learned the 128x64 OLED screen with the Adafruit driver can display:
  • Font size 1 can display 8 lines, each consisting of 20 characters;
  • Font size 2 can display 4 lines, each consisting of 9 characters;
  • Font size 3 can display 3 lines, each consisting of 7 characters.

If you use an i2c display, you will need to add separate pull-up 4.7K resistors from A4/A5 to power, and hook up the SDA wire to A4 and SCL wire to A5.

Compared to a 16x2 display, the OLED displays might be a little more fragile.

If you just want to display numbers, I've also used the Sparkfun serial 7 segment display. Like the Dig-ole, you can use it with serial, i2c, or spi. https://www.sparkfun.com/products/11441. The programming for these when used on a serial line is fairly simple.

I believe Adafruit has some 7 segment displays as well, but I haven't used them.

Cool. Thanks for the info, Meissner! I was thinking maybe of this one :

http://www.adafruit.com/products/823

Do you have an opinion on that one? The description was saying that it doesn't use the standard LiquidCrystal library, but they have their own Arduino library that plays it better. I was wondering if this custom library might raise some issues with Teensy 3.1. I'm hoping this LCD is a fairly easy one to get running, because I am just a beginner so far.

Thank you.
 
You should be good with the Adafruit library on the Teensy3.1. Looking at the code, it's only using DigitalWrite and nothing Low level and un Arduino compatible.
 
Assuming you have 7 pins available that can digital I/O (note, some/all of the analog pins underneath and on the the inside cannot be used for digital I/O, just analog inputs), it looks reasonable. I tend to prefer serial or i2c displays, so I only need to hook up 1 or 2 wires besides the power and ground.
 
Don't overlook the Nokia 5110 84 x 48 LCD display. It costs only about $10, is easy to use, and you can display a lot more data than a 16 x 2 LCD display.

Also, take a look at Adafruit's LED display backpacks that uses the Ht16K33 led display driver. You get numerical display with only 2 TWI wires, power and ground. I am currently designing a 4 x four-digit, 7-segment LED bubble display that uses the HT16K33; I can get 16 numerical digits of display with just these four inputs and it looks all kinds of retro cool! See here.
 
Last edited:
Status
Not open for further replies.
Back
Top