Hello there! Fellow electronics enthusiasts, I am quite sure we all make some or other projects, as a part of our learning experience or academics. We sure would want to display some data present on our micro-controllers, from sensors or simply display some message, so here is a quick tutorial about OLED displays, in which we will learn how to wire and program a 0.96inch OLED Display with Arduino Microcontroller. so follow up this instructable to understand and display your own Message on a OLED Display.OLED I2C DISPLAY

Step 1: Watch the Video

Step 2: Gather the MaterialGather the Material (1)












for this Tutorial, we will require only 3 things.

1. 0.96″ OLED Display https://www.gearbest.com/diy-parts-components/pp_1…

2. Arduino Uno / Nano : https://www.gearbest.com/development-boards/pp_629…

3. Connecting Wires : https://www.gearbest.com/diy-parts-components/pp_2…

Step 3: Wiring

Wiring 1 (7)











Since this OLED works on I2C Communication, we have to connect

only 4 pins to Arduino

OLED has Sck (i.e. clock), SDA (i.e. Data) and Power pins i.e VCC and Ground.

On the Arduino UNO Board, we have SDA at A4 and SCK at A5.

Connections for OLED to Arduino

  • Vcc – 5V
  • Gnd – Gnd
  • SDA – A4
  • SCK – A5

Step 4: I2C Scanner

I2C Scanner (1)












we know each I2C device has different Hexadecimal Address.

since this OLED uses I2C Communication protocol, we have to find the I2C address for the display.

this could be done by uploading the following code onto your board with the device connected.

/* I2C Address Finder
 *  for " Arduino LCD I2C Tutorial| How to Program LCD Display"
 *  subscribe for more arduino Tuorials and Projects

 */#include < wire.h>
void setup(){
  Serial.begin (115200);
   while (!Serial)
    }  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  for (byte i = 1; i < 120; i++)
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      delay (1); 
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
} void loop() {}

Step 5: Download and Include Libraries

Download and Include Libraries (1)

you will need to include the following libraries into your IDE before staring the code.

you can include these libraries by following the steps.

  1. go to Sketch menu.
  2. select Include Libraries.
  3. go to Manage Libraries.
  4. search for ADAFRUIT GFX and INSTALL it.
  5. search for ADAFRUIT SSD1306 and INSTALL it.

else, you can install it externally using the following link.



Step 6: Testing the DisplayTesting the Display (1)















to check if everything works as expected, lets run an example file to test the display.


  • go FILE > EXAMPLES > SSD 1306 > Select 128 X 64 i2c
  • if you get and Error, try SSD 1306 > Select 128 X 32 i2c
  • change the I2C Address on line 61 and replace it with the address you found in step 4.
  • upload the code

once uploaded, you will see the test animation on the screen, which means you have successfully set up the oled.

Step 7: Write Your Own Message

to write our own message,

we will first open a new sketch on IDE,

then Include these 4 Libraries in the header

#include <spi.h>
#include <wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

, then we will write the Reset Protocol.

<p>#define OLED_RESET 4<br>Adafruit_SSD1306 display(OLED_RESET);</p>

Now, in VOID SETUP, we will Begin the display and Clear it


Leave a Comment

Your email address will not be published. Required fields are marked *