These displays are small, only about 1.3" diagonal, but very readable due to the high contrast of an OLED display. This display is made of 128x64 individual white OLED pixels, each one is turned on or off by the controller chip. Because the display makes its own light, no backlight is required. This reduces the power required to run the OLED and is why the display has such high contrast; we really like this miniature display for its crispness!
The driver chip, SSD1306 can communicate in two ways: I2C or SPI. The OLED itself require a 3.3V power supply and 3.3V logic levels for communication, but we include a 3.3V regulator and all pins are fully level shifted so you can use with 3V or 5V devices!
We've updated the design to add auto-reset circuitry so that the reset pin is optional. The default interface is now I2C not SPI - since it speaks I2C you can easily connect it up with just two wires (plus power and ground!). We've even included SparkFun qwiic compatible STEMMA QT connectors for the I2C bus so you don't even need to solder!
The power requirements depend a little on how much of the display is lit but on average the display uses about 40mA from the 3.3V supply. Built into the OLED driver is a simple switch-cap charge pump that turns 3.3v-5v into a high voltage drive for the OLEDs.
We have a detailed tutorial and example code for Arduino and Python/CircuitPython for text and graphics. You'll need a microcontroller with more than 1K of RAM since the display must be buffered. The library can print text, bitmaps, pixels, rectangles, circles and lines. It uses 1K of RAM since it needs to buffer the entire display but its very fast! The code is simple to adapt to any other microcontroller.
Please note that OLED displays are made of hundreds of...OLEDs! That means each pixel is a little organic LED, and if its kept on for over 1000 hours it'll start to dim. If you want to keep the display uniformly bright, please turn off the display (set the pixels off) when it isn't needed to keep them from dimming.
TECHNICAL DETAILS
Revision History:
- As of Nov 20, 2019 we've done a re-design to make the display more plug and play.There is now an auto-reset circuit so that it will reset the display on power up. We've also changed the default protocol to be I2C instead of SPI. To convert to SPI mode you will need to cut two jumpers. We have also added two STEMMA QT / Qwiic connectors for plug and play usage! The board size, mounting holes and layout has changed slightly to accomodate these changes.
Breakout Board Dimensions:
- PCB: 35mm x 35mm x 5mm / 1.4" x 1.4" x 0.2"
- Mounting Hole Dimensions: 29.5mm x 29mm / 1.16" x 1.14"
- Mounting Hole Diameter: 2.5mm / 0.1"
- Screen: 23mm x 35mm / 0.9" x 1.4"
- Weight: 6.2g
- This board/chip uses I2C 7-bit address between 0x3C-0x3D, selectable with jumpers
OLED Display Details:
- Diagonal Screen Size:1.30"
- Number of Pixels:128 × 64
- Color Depth:Monochrome (White)
- Module Construction:COG
- Module Size (mm):34.50 x 35.00
- Panel Size (mm):34.50 x 23.00 x 1.45
- Active Area (mm):29.420 x 14.70
- Pixel Pitch (mm):0.23 x 0.23
- Pixel Size (mm):0.21 x 0.21
- Weight (g):2.18
- Duty:1/64
- Brightness ( cd/m2):100 (Typ) @ 12V
- Display current draw is completely dependent on your usage: each OLED LED draws current when on so the more pixels you have lit, the more current is used. They tend to draw ~25mA or so in practice but for precise numbers you must measure the current in your usage circuit.
Datasheets, EagleCAD PCB files, Fritzing object and more in the tutorial