Dual I2C Displays [Arduino]

posted in: Tutorials 0

History

When I worked on the Arduino Blaster project, I mentioned that the two displays could have been connected to the same I2C pins, saving valuable I/O pins as well as memory, by not having to load another driver. To demonstrate this, I created a tutorial showing how to do this, initially using the displays from the aforementioned project.

The first thing I needed to do was to set up a simple circuit with just the Arduino Nano and the two displays, both connected to the Arduino Nano hardware I2C pins (A4 / A5).

Using More Than One Display

Both of the displays used in the Arduino Blaster project are SSD1306-based. This means that, by default they have the same address. The 128×32 display does not have the ability to change the I2C address, however, the 128×64 display does have a single address selection on the back of the PCB.

This is in the form of a 4.7K SMD resistor that connects two of three pads to select one of two addresses. While the silk-screen shows addresses of 0x78 and 0x7A, due to the way I2C addressing works including the read / write bit, the actual address you will use in the code id 0x3C and 0x3D. See the following link for more information on I2C addressing.

Changing the Jumper

Well, the first thing I want to warn you about is using a hot-air gun to do this. I often use my hot-air gun to remove (or even reflow) SMD parts. The OLED is usually secured to the controller PCB via double-sided sticky tape.

Unfortunately, the heat damaged the OLED, blowing out several pixels in the upper-right corner of the display, which is opposite that resistor on the back of the display. Sadly, there’s no way to repair this unit, however I did order more displays and will use an iron on these and future displays.

[NEXT]

Resources

[LINK]

Understanding the I2C Bus – External PDF Link

Discuss this tutorial on Savage///Chats


Dual I2C Displays by Chris Savage is licensed under CC BY 4.0

PLEASE FEEL FREE TO LEAVE YOUR COMMENTS, QUESTIONS, SUGGESTIONS OR FEEDBACK ON THIS POST.

Leave a Reply