---
product_id: 13962292
title: "0.96\" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue)"
brand: "diymall"
price: "£8.02"
currency: GBP
in_stock: true
reviews_count: 12
category: "Di Ymall"
url: https://www.desertcart.co.uk/products/13962292-0-96-oled-module-i2c-iic-serial-128x64-oled-display
store_origin: GB
region: United Kingdom
---

# I2C/IIC 2-wire serial interface 0.96" vibrant blue OLED 128x64 high-res pixel matrix 0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue)

**Brand:** diymall
**Price:** £8.02
**Availability:** ✅ In Stock

## Summary

> 🔵 Elevate your DIY game with crystal-clear OLED brilliance!

## Quick Answers

- **What is this?** 0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) by diymall
- **How much does it cost?** £8.02 with free shipping
- **Is it available?** Yes, in stock and ready to ship
- **Where can I buy it?** [www.desertcart.co.uk](https://www.desertcart.co.uk/products/13962292-0-96-oled-module-i2c-iic-serial-128x64-oled-display)

## Best For

- diymall enthusiasts

## Why This Product

- Trusted diymall brand quality
- Free international shipping included
- Worldwide delivery with tracking
- 15-day hassle-free returns

## Key Features

- • **Broad Compatibility:** Seamlessly works with popular platforms like Arduino Uno/Mega, MSP420, STIM32, and Pi-Star for versatile project potential.
- • **Flexible Addressing:** Easily switch I2C addresses to integrate multiple displays or avoid conflicts in complex projects.
- • **Compact & Mount-Ready:** Sleek 0.96" size with four pre-drilled mounting holes for effortless installation in any DIY or professional build.
- • **Crystal-Clear Visuals:** Experience razor-sharp 128x64 pixel clarity that makes your data pop in vibrant blue.
- • **Plug & Play I2C Interface:** Simplify your setup with a universal 2-wire I2C connection compatible with Arduino, Raspberry Pi, and more.

## Overview

This 0.96" blue OLED display module features a sharp 128x64 pixel resolution driven by the SSD1306 IC, communicating via a simple 2-wire I2C interface. Designed for easy integration, it supports flexible I2C addressing and includes mounting holes for quick installation. Compatible with Arduino, Raspberry Pi, and other popular microcontrollers, it’s the perfect compact display solution for professional-grade DIY electronics and IoT projects.

## Description

desertcart.com: DIYmall 0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) : Electronics

Review: Great display - Works well with a little reading. I found that you DID NOT have to adjust the header file and only need to initialize the display with display.begin(SSD1306_SWITCHCAPVCC, 0x3C); Worked on both an Uno and a Mega. Uno Pinout SDA - A4 SDL - A5 GND - GND VCC - 5v Mega Pinout SDA - 20 SDL - 21 GND - GND VCC - 5v The example code for the SSD1306 really starts to push the memory of the Uno, but the Mega has no issue loading the program. Because it is an OLED, it will look dead until it has been initialized, which can be a bit confusing when you are first testing the screen. I thought I had a dud until I got it correctly initialized. Had no issues with 3.3v or 5v. Tested with a 30k Thermistor. #include  #include  #include  #include  #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif #define THERMISTORPIN A0 // which analog pin to connect #define THERMISTORNOMINAL 30000 // resistance at 25 degrees C #define TEMPERATURENOMINAL 25 // temp. for nominal resistance (almost always 25 C) #define NUMSAMPLES 50 // how many samples to take and average, more takes longer #define BCOEFFICIENT 4400 // The beta coefficient of the thermistor (usually 3000-4000) #define SERIESRESISTOR 30000 // the value of the 'other' resistor int samples[NUMSAMPLES]; void setup() { Serial.begin(9600); // connect AREF to 3.3V and use that as VCC, less noisy! analogReference(EXTERNAL); // by default, we'll generate the high voltage from the 3.3v line internally! (neat!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) // init done // Show image buffer on the display hardware. // Since the buffer is intialized with an Adafruit splashscreen // internally, this will display the splashscreen. display.display(); delay(250); // Clear the buffer. display.clearDisplay(); } void loop() { uint8_t i; float average; float maxTemp; maxTemp = 0; // take N samples in a row, with a slight delay for (i=0; i< NUMSAMPLES; i++) { samples[i] = analogRead(THERMISTORPIN); delay(10); } // average all the samples out average = 0; for (i=0; i< NUMSAMPLES; i++) { average += samples[i]; } average /= NUMSAMPLES; display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); Serial.print("Analog "); Serial.println(average); display.print("Analog "); display.println(average); // convert the value to resistance average = 1023 / average - 1; average = SERIESRESISTOR / average; Serial.print("R "); Serial.println(average); display.print("R-Val "); display.println(average); display.setTextSize(2); float steinhart; float fconvert; float convertValue; steinhart = average / THERMISTORNOMINAL; // (R/Ro)2 steinhart = log(steinhart); // ln(R/Ro) steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro) steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To) steinhart = 1.0 / steinhart; // Invert steinhart -= 273.15; // convert to C Serial.print(steinhart); Serial.println(" *C"); fconvert = steinhart * 1.8; fconvert = fconvert + 32; Serial.print("Temperature "); display.println("A0 Temp"); Serial.print(fconvert); Serial.println(" *F"); display.print(steinhart); display.println(" *C"); display.print(fconvert); display.println(" *F"); display.display(); delay(250); }
Review: Very Nice Display, Easy to use Bright, Clear, and VERY high resolution - With its crystal clear display and easy I2C connection, this little OLED went easily into my project and looks terrific. The link provided to the library worked well. It is I2C address 0x3C, so don't get confused by the markings on the back of the board. I did, but used an I2C scanner and sure as heck, their docs were correct! Adafruit's library is what makes this great, and making bitmaps for images is very easy using the tool at: [...]f you are using it for Arduino (or Particle Photon, as I am in this project). I bought one to see how it would look for my project and it is going into 7 more that I am making; I just bought 8 more. Seller shipped fast and it arrived in a nice padded envelope, perfectly packed for the journey.

## Features

- Compatible with MMDVM，Pi-Star, and it works with raspberry pi. https://tech(dot)scargill(dot)net/ssd1306-with-python/
- Four square holes are easy to install. The IIC address can be changed,it is convenient to use with different machines
- Driver IC: SSD1306, Communication: IIC, only two I / O ports
- What you will get is : 1 X 0.96inch oled module blue

## Technical Specifications

| Specification | Value |
|---------------|-------|
| Best Sellers Rank | #2,122 in Single Board Computers (Computers & Accessories) |
| Customer Reviews | 4.4 out of 5 stars 518 Reviews |

## Product Details

- **Connector Type:** Solder
- **Number Of Contacts:** 2
- **Mounting Type:** Panel Mount
- **Material:** Acrylonitrile Butadiene Styrene (ABS)
- **Color:** 1pc X Blue
- **Brand:** DIYmall
- **Voltage:** 3.3 Volts
- **Number Of Poles:** 2
- **Product Dimensions:** 0.96"W x 0.16"H
- **Upper Temperature Rating:** 8E+1 Degrees Celsius

## Images

![0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) - Image 1](https://m.media-amazon.com/images/I/51yRwi1ZgLL.jpg)
![0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) - Image 2](https://m.media-amazon.com/images/I/51QIph0HmgL.jpg)
![0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) - Image 3](https://m.media-amazon.com/images/I/61Nn+ubdtwL.jpg)
![0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) - Image 4](https://m.media-amazon.com/images/I/71PFBLdqI9L.jpg)
![0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue) - Image 5](https://m.media-amazon.com/images/I/51JJBo6IiyL.jpg)

## Available Options

This product comes in different **Color** options.

## Questions & Answers

**Q: anyone made this into a pico projector? basically need to know if the screen can be separated from the backlight without damage.**
A: Not really. Physically, yes it emits and you can image the emitting surface onto a wall/screen. You lose intensity as the magnification increases - if you project the screen to be 10x the size of the display it will be 10x dimmer and have lower contrast.

**Q: Does this display give you the option to pick blue or yellow pixles threwout the display or is just the top portion yellow and the rest blue?**
A: Pixel values are either 1 or 0. The screen is made up of 8 rows of "pages" that are each 8 pixels high, giving a total of 64 rows of pixels. The easy to use Adafruit library for Arduino hides these details from you. There are 2 sections of pages on the screen. The top section contains 2 pages of yellow (value 1) or black (value 0). The bottom section contains pages 6 pages that are blue (value 1) or black (value 0). There is a black horizontal line that separates the top 2 pages from the 6 bottom pages. The screen is essentially 2 separate LED panels. This is useful if its desired to have 2 separate screens. If not, they do make other versions of this screen that are 1 single color which are 1 complete panel without the separation. For my purposes it's great to have the separation.

**Q: new to arduino.. will this work with the uno**
A: It should work with any Arduino or variant like the Teensy that has SCL and SDA pins. Look at the pinout. The Uno and Nano even use the same chip, the 328P.

I just connected mine to a Teensy 3.0. I found that even though on the display it says the address is 0x78, I had to leave the default address of 0x3C in the example program I tried it with.

**Q: Can you read this display in direct sunlight?**
A: Yes, it would be bright enough.  But I don't think I would leave any electronics exposed to direct sun light for extended periods of time.

## Customer Reviews

### ⭐⭐⭐⭐⭐ Great display
*by C***Y on August 13, 2015*

Works well with a little reading. I found that you DID NOT have to adjust the header file and only need to initialize the display with display.begin(SSD1306_SWITCHCAPVCC, 0x3C); Worked on both an Uno and a Mega. Uno Pinout SDA - A4 SDL - A5 GND - GND VCC - 5v Mega Pinout SDA - 20 SDL - 21 GND - GND VCC - 5v The example code for the SSD1306 really starts to push the memory of the Uno, but the Mega has no issue loading the program. Because it is an OLED, it will look dead until it has been initialized, which can be a bit confusing when you are first testing the screen. I thought I had a dud until I got it correctly initialized. Had no issues with 3.3v or 5v. Tested with a 30k Thermistor. #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif #define THERMISTORPIN A0 // which analog pin to connect #define THERMISTORNOMINAL 30000 // resistance at 25 degrees C #define TEMPERATURENOMINAL 25 // temp. for nominal resistance (almost always 25 C) #define NUMSAMPLES 50 // how many samples to take and average, more takes longer #define BCOEFFICIENT 4400 // The beta coefficient of the thermistor (usually 3000-4000) #define SERIESRESISTOR 30000 // the value of the 'other' resistor int samples[NUMSAMPLES]; void setup() { Serial.begin(9600); // connect AREF to 3.3V and use that as VCC, less noisy! analogReference(EXTERNAL); // by default, we'll generate the high voltage from the 3.3v line internally! (neat!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) // init done // Show image buffer on the display hardware. // Since the buffer is intialized with an Adafruit splashscreen // internally, this will display the splashscreen. display.display(); delay(250); // Clear the buffer. display.clearDisplay(); } void loop() { uint8_t i; float average; float maxTemp; maxTemp = 0; // take N samples in a row, with a slight delay for (i=0; i< NUMSAMPLES; i++) { samples[i] = analogRead(THERMISTORPIN); delay(10); } // average all the samples out average = 0; for (i=0; i< NUMSAMPLES; i++) { average += samples[i]; } average /= NUMSAMPLES; display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); Serial.print("Analog "); Serial.println(average); display.print("Analog "); display.println(average); // convert the value to resistance average = 1023 / average - 1; average = SERIESRESISTOR / average; Serial.print("R "); Serial.println(average); display.print("R-Val "); display.println(average); display.setTextSize(2); float steinhart; float fconvert; float convertValue; steinhart = average / THERMISTORNOMINAL; // (R/Ro)2 steinhart = log(steinhart); // ln(R/Ro) steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro) steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To) steinhart = 1.0 / steinhart; // Invert steinhart -= 273.15; // convert to C Serial.print(steinhart); Serial.println(" *C"); fconvert = steinhart * 1.8; fconvert = fconvert + 32; Serial.print("Temperature "); display.println("A0 Temp"); Serial.print(fconvert); Serial.println(" *F"); display.print(steinhart); display.println(" *C"); display.print(fconvert); display.println(" *F"); display.display(); delay(250); }

### ⭐⭐⭐⭐⭐ Very Nice Display, Easy to use Bright, Clear, and VERY high resolution
*by G***X on December 6, 2016*

With its crystal clear display and easy I2C connection, this little OLED went easily into my project and looks terrific. The link provided to the library worked well. It is I2C address 0x3C, so don't get confused by the markings on the back of the board. I did, but used an I2C scanner and sure as heck, their docs were correct! Adafruit's library is what makes this great, and making bitmaps for images is very easy using the tool at: [...]f you are using it for Arduino (or Particle Photon, as I am in this project). I bought one to see how it would look for my project and it is going into 7 more that I am making; I just bought 8 more. Seller shipped fast and it arrived in a nice padded envelope, perfectly packed for the journey.

### ⭐⭐⭐⭐ Almost works out of the box on latest version of Arduino IDE.
*by D***G on February 3, 2017*

Most importantly, the hardware works fine and the i2c is a big GPIO saver. However, the supporting zip file has some "gotchas" and could use a bit of editing though the instructions are reasonably easy to follow. I'm relatively new to Arduino and I was able to connect this oLED display to an Arduino Uno R3 and upload the example sketch using Arduino IDE 1.8.1 almost immediately. Almost. My rating is based mostly on the supporting information and libraries which are downloaded from the link in the product description which make it not very friendly for new users. (1) The version of the library provided did not compile on the first try. I had to modify it (see below) to work on Arduino IDE 1.8.1 apparently because of an update to the avr-gcc compiler used by Arduino IDE 1.6.x and above. There is an Arduino Wiki on github with an FAQ that explains the issue further and points a finger at the libraries (which are provided by the seller.) To get around this, in the PROVIDED example sketch titled ssd1306_128x64_i2c: I changed: static unsigned char PROGMEM logo16_glcd_bmp[] = To: static unsigned const char PROGMEM logo16_glcd_bmp[] = (2) The libraries are modified versions of the Adafruit libraries for the Adafruit version of the 1306 display. If you have a mix of this product and the Adafruit version, be warned that to switch between them may mean either modifying the provided libraries to make them unique to this device, or uninstalling and switching libraries every time you switch devices. This is a real potential for heartburn in my opinion. (3) Don't use the stock Adafruit example Sketch in the Arduino IDE. Instead, go to the support file you downloaded to find the modified library and example sketch. It has the i2c address updated to their stock address (0x3C on the one I received) so there isn't a need to research the address or use an i2c scanner sketch on your Arduino to find the address. Also, the vendor didn't bother to update the description in their version of the Adafruit example sketch. (4) Wiring for their example sketch - display SDA to UNO pin A4; display SCL to UNO pin A5. The notations in the Sketch indicate it requires three wires (2 for i2c and one for reset) but the vendor's instructions explain that they handled the reset pin a differently. The vendor also left in the link in the top of the example sketch which points to the product sales page on Adafruit. My Arduino brand Uno R3 was able to power the display using the 5V and GND pins. If you are on the latest IDE, you should be able to get this running in little more time than it takes to install the provided libraries (the provided instructions assume you know how to do this) and upload the sketch. I want to be clear that I did not attempt to use any of the "stock" libraries or "stock" examples so any and all issues have absolutely nothing to do with Adafruit/Limor Fried whose work was used extensively to support this product.

## Frequently Bought Together

- DIYmall 0.96" OLED Module I2C IIC Serial 128X64 OLED Display Module SSD1306 Driver for Arduino 51 MSP420 STIM32 SCR Raspberry PI (1pc X Blue)
- ELEGOO Nano Board CH 340/ATmega+328P Without USB Cable, Compatible with Arduino Nano V3.0 (Nano x 3 Without Cable)
- uxcell® 10 Pcs A3144 3 Terminal Sensitive Hall Effect Switch Sensor

---

## Why Shop on Desertcart?

- 🛒 **Trusted by 1.3+ Million Shoppers** — Serving international shoppers since 2016
- 🌍 **Shop Globally** — Access 737+ million products across 21 categories
- 💰 **No Hidden Fees** — All customs, duties, and taxes included in the price
- 🔄 **15-Day Free Returns** — Hassle-free returns (30 days for PRO members)
- 🔒 **Secure Payments** — Trusted payment options with buyer protection
- ⭐ **TrustPilot Rated 4.5/5** — Based on 8,000+ happy customer reviews

**Shop now:** [https://www.desertcart.co.uk/products/13962292-0-96-oled-module-i2c-iic-serial-128x64-oled-display](https://www.desertcart.co.uk/products/13962292-0-96-oled-module-i2c-iic-serial-128x64-oled-display)

---

*Product available on Desertcart United Kingdom*
*Store origin: GB*
*Last updated: 2026-06-28*