chipKIT Max32 and Adafruit’s 128×32 SPI OLED graphic display via the Adafruit customer forums. Hop writes –
I discovered the digilent basic I/O shield on their site while I was searching for information on how I could wire up my OLED to the chipKIT Max32. While I was checking it out, I noticed that it had a 128×32 OLED already on the board. A closer look revealed that the display is an SSD1306!
At first I looked at the schematic for the shield, but I couldn’t figure out how it was wired up. Mostly likely it was me that was reading it wrong. So I turned to the libraries and looked at the defines to see what pins were being used. After matching up the ports/bits with a table showing all available on the Max32, it was a snap.
And the sweet thing is, the libraries do not need any modification. Not even the example demo sketches. I modified the message text for this post of course. Also included with the libraries is a graphics support. Lines, circles, blocks, etc. Lots to play with!
I tied CS to ground via a 10k resistor as it is in the basic I/O shield schematic. I also connected the grounds, and Vin to 5v out on the Max32, thinking it would brighten the display but it didn’t. 3v3 works just as well.
More when I code it. At least now I know it works. Sweet!
Monochrome 128×32 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.
Dimensions:
- PCB: 32mm x 23mm
- Display area: 25mm x 7mm
- Thickness: 4mm
Display details:
- Diagonal Screen Size:0.91″
- Number of Pixels:128 × 32
- Color Depth:Monochrome (White)
- Module Construction:COG
- Module Size (mm):46.30× 11.50 × 1.45
- Panel Size (mm):30.00 × 11.50 × 1.45
- Active Area (mm):22.384 × 5.584
- Pixel Pitch (mm):0.175 × 0.175
- Pixel Size (mm):0.159 × 0.159
- Duty:1/32
- Brightness ( cd/m2):150 (Typ) @ 7.25V
- Interface:4-wire SPI