OLEDs are my favorites types of displays because they are bright, easy to read in moderate sunlight, and relatively low in power consumption. Newhaven makes a wide variety of OLED character displays. They offer 16×2, 20×2, and 20×4 (columns by rows) sizes and they come in many colors (blue, green, yellow, and red). They operate on 3.3 or 5 volts, so they are ideal for a most embedded projects.
You’ll need to choose a Newhaven OLED module that uses the US2066 controller chip which has I²C built in (see links below). This project consists of a board that sits on the back of the display, and provides two Grove type I²C connectors and one 4 pin connector (with .1 inch spacing) for easy connection to a microcontroller. This board also has the I²C pullup resistors (enabled with solder jumpers), a jumper to select the I²C address, and a jumper to select the supply voltage. The display and backpack board will operate on 3.3 or 5 volts, which allows it to work with the most microcontrollers.
To make it easy to use this display, I wrote a software library for the Arduino and Particle microcontrollers. In this library there are over 20 functions, such as clear(), moveCursor(), createChar() (for making custom characters), and write() (for using the Print function).
Here are some related projects and posts that might also interest you.
- I love I²C
- Backpack Board for LCD Character Modules
- Backpack Board for Eastrising OLED Modules
The schematic and pcb layout files (Eagle and pdf) are available at this Github repository.
This project does not require many parts, and most are available from Mouser. Bare PC Boards are available from OSH Park.
|2||J1,J2||4 pin||Grove SMD 90||Seeedstudio.com||320110032|
|1||J3||20 pins||.1 Header Pins||Mouser.com||855-M20-9992045|
|1||J4||4 pins||.1 Header Pins||Mouser.com||855-M20-9990445|
|1||PC Board||OSH Park||Order Link|
J4 does not need to be populated if you are using the Grove type connector to connect to the microcontroller. J4 can be used for other type connectors that use the standard .1 inch spacing.
Bare pc boards are available from OSH Park.
As you probably noticed, this board uses surface mount components, so you will need some skill in dealing with these small parts. Sparkfun has an excellent series of tutorials if you want to brush up your knowledge on soldering these small parts..
Solder the backpack board to the OLED display module using a 20 pin strip header (.1 inch pin spacing).
Using a 4 pin Grove type cable, attach the backpack board to a microcontroller that has a I²C Grove type connector on it. This will power the display and connect the SDA and SCL lines to the microcontroller.
There are four solder jumpers near the center of the backpack board. To “close” a jumper, carefully solder a bridge across the two pads using a small amount of solder.
If you solder across SJ1 and SJ2 you can enable pull up resistors on the signals SCL and SDA (respectively). At least one pull up resistor is required on these lines somewhere on your various hardware boards.
SJ3 is used to set the I²C address of the board.
- If SJ3 is closed (shorted) the I²C address is 3C hex.
- If SJ3 is open (unshorted) the I²C address is 3D hex.
For Arduino and Particle users, the I2cCharDisplay library provides functions the take advantage of the features of this display. An included demo program shows the usage of the functions. These links give the details.
- Information on using the Library
- Github repository for the Arduino software library
- Github repository for the Particle software library
Seeedstudio makes the Particle Photon Base Shield which is a board that allows you to plug in a Particle Photon module. It has the Grove type connectors on it for easy connection to this backpack board.