Great project that ports our Arduino libraries for controlling an Adafruit SSD1306 SPI OLED for the Raspberry Pi from the Gaugette project:
Adafruit’s lovely little 128×32 monochrome SPI OLED module uses a SSD1306 driver chip (datasheet), and Adafruit have published excellent tutorials and libraries for driving this from an Arduino.
When asked in their forum about Raspberry Pi support, Adafruit have said that there is a huge backlog of libraries to port to the RasPi and (they) don’t have any ETA on the SSD1306.
I’m working on a project that was originally intended for an Arduino, but I’ve decided to switch to the Raspberry Pi, so I need to get this display working with the Pi. To that end, I’ve partially ported Adafruit’s SSD1306 library to Python for the Raspberry Pi. The port is partial in that:
it only supports the 128×32 SPI module (unlike the original that supports the I²C and 128×64 modules) and
it only supports pixel and text drawing functions (no geometric drawing functions).
And check out this maker’s further work creating better fonts for SSD1306! Video demonstration below:
Featured Product!
Monochrome 128×32 SPI OLED graphic display
These displays are small, only about 1″ diagonal, but very readable due to the high contrast of an OLED display. This display is made of 128×32 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, communicates via SPI only. 4 or 5 pins are required to communicate with the chip in the OLED display.
The OLED and driver require a 3.3V power supply and 3.3V logic levels for communication. To make it easier for our customers to use, we’ve added a 3.3v regulator and level shifter on board! This makes it compatible with any 5V microcontroller, such as the Arduino.
The power requirements depend a little on how much of the display is lit but on average the display uses about 20mA 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, making it one of the easiest ways to get an OLED into your project!
Of course, we wouldn’t leave you with a datasheet and a “good luck”: We have a detailed tutorial and example code in the form of an Arduino library for text and graphics. You’ll need a microcontroller with more than 512 bytes of RAM since the display must be buffered.
You can download our SSD1306 OLED display Arduino library from github which comes with example code. The library can print text, bitmaps, pixels, rectangles, circles and lines. It uses 512 bytes of RAM since it needs to buffer the entire display but its very fast! The code is simple to adapt to any other microcontroller.
Each Friday is PiDay here at Adafruit, be sure to check out our posts, tutorials and new Raspberry Pi related products. Have you tried the new “Adafruit Raspberry Pi Educational Linux Distro” ? It’s our tweaked distribution for teaching electronics using the Raspberry Pi. But wait, there’s more! Try our new Raspberry Pi WebIDE! The easiest way to learn programming on a Raspberry Pi.
Want a FREE RASPBERRY PI? All orders over $350 get a FREE Raspberry Pi Model B with 512MB RAM!