1.12" Mono OLED (128x128, white/black) Breakout

by Pimoroni

A crisp, bright 1.12" OLED that's ideal for adding a small display to your project. This 128x128 pixel, monochrome white/black display is ideal for graphing, readouts, and displaying basic icons. Now available in SPI or I2C flavours!

Our 1.12" OLED breakout is now available in SPI or I2C versions. If you have SPI available on your microcontroller, we'd recommend the SPI version, as you can drive it much, much faster, for buttery-smooth animations.

OLEDs have the advantage of being extremely bright and readable, with great contrast. Because this one is small, it's great for fitting into projects where space is at a premium, and it's Raspberry Pi and Arduino-compatible!

On the I2C version, we've included a trace that can be cut to change the I2C address from 0x3C to 0x3D, if you want to use two I2C OLEDs at once!

It's also compatible with our fancy Breakout Garden, where using breakouts is as easy just popping it into one of the slots and starting to grow your project, create, and code.

Features

  • 1.12" white/black OLED display (128x128 pixels)
  • Uses the SH1107 driver chip
  • 20x20mm active area
  • SPI or I2C (address 0x3C/0x3D (cut trace)) interface
  • 3.3V or 5V compatible
  • Reverse polarity protection
  • Compatible with all models of Raspberry Pi, and Arduino
  • Python library

Kit includes

  • 1.12" OLED display breakout
  • 1x5 (I2C) or 1x7 (SPI) male header
  • 1x5 female right-angle header (only included with I2C version)

With the I2C version, you can solder on the piece of right-angle female header and pop it straight onto the bottom left 5 pins on your Raspberry Pi's GPIO header (pins 1, 3, 5, 7, 9).

With the SPI version, pop it into either one of the SPI sockets on Breakout Garden, or connect it with wires to the following pins on your Pi (note that it's BCM pin numbering):

  • 3-5V to any 5V or 3V pin
  • CS to BCM 7
  • SCK to BCM 11
  • MOSI to BCM 10
  • DC to BCM 9
  • GND to any ground pin

Software

We recommend the Luma Python library for driving this OLED display. You can find full documentation for the Luma library here.

To get up and running you should:

  • Install the latest library directly from GitHub: sudo pip3 install git+git://github.com/rm-hull/luma.oled.git#egg=luma.oled
  • Grab the examples repository: sudo git clone https://github.com/rm-hull/luma.examples
  • With the SPI version, you can run an example like so: python3 bounce.py --display sh1106 --height 128 --rotate 2 --interface spi --gpio-data-command 9 (add --spi-device 0 for the back slot, or --spi-device 1 for the front slot)
  • With the I2C version, you can run an example like so: python3 maze.py --display sh1106 --height 128 --rotate 2 --interface i2c

Notes

Dimensions: 28x42x5.5mm.

42 customer reviews

6 months ago
I'm using the OLED as a system monitor on a small robot, replacing an existing, larger OLED that didn't have very much contrast. It just happens to use the same Luma library so I already had the code ready for it. The 1.12" is slightly smaller but the text is brighter and a bit clearer. OLEDs can be kinda noisy on an I2C bus so I've moved mine over to bus 0 on the Raspberry Pi. I used one of those Breakout Garden female sockets soldered to a scrap of Perma-Proto board so that I didn't have to solder pins to the board. You can see that in the photo. Works great!
by Murray about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
2 years ago
Nice display. Bright and crisp. Bigger than most OLEDs (which tend to be only 128x64). Pretty quick, too, despite having an I2C rather than an SPI interface. Using this from C++ from a Pi Pico works well.
by Daniel about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
4 years ago
Works as expected. I use it as an output screen for various tiny2040 projects. Since it ts about the same size, it fits in the same space confined applications. Screen is small but bright enough.
by John about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
4 years ago
Great little display. Bought two but one had some ghosting, but Pimoroni were very good about replacing it. I had a bit of difficulty get the first display to work, but it turned out to be a poor ground connection; I was surprised that it worked at all without ground.
by Simon about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
4 years ago
Inexperienced user here. Initial experiments of Raspberry Pi 400 Breakout Garden with SPI mono OLED were successful, but needed to load libraries manually for SPI. Was able to do nearly every demo in folder. Had to Google and tinker for an hour before I figured it out, but it can be done even by a rookie old man who grew up with TIN and ELM. And graphics are stunning in contrast and fluidity. At least to my eye.
by Marlon about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
6 years ago
Very easy to set up thanks to the shell scripts provided by pomoroni. Nice and crisp screen, animations are pretty smooth, but if you have the opportunity, grab a SPI version and compare them!
by Salvatore about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
6 years ago
Works great with the python Luma library. I’ve had partial success getting a modified Golang library working with the sh1106 driver. I’d really like it to work with the u8g2 to library, but I’m still having trouble getting anything to display on the screen with that one. But hopefully the library support will continue to evolve in the coming months for solutions outside of python.
by Anonymous about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io
6 years ago
Excellent! So good I've bought two! simple plug and play with associated breakout garden HAT. examples library has a plethora of python scripts to play and adapt. easy to build graphs, clocks, displays of data using the luma libraries. Highly recommended. Cant wait to get my Bosch BM680 sensor to use in conjunction with these displays!.
by Mr James about 1.12" Mono OLED (128x128, white/black) Breakout via REVIEWS.io