

The Diyuser 1.3 Oled SH1106 is a 1.3-inch OLED display module manufactured by Arduino, featuring the SH1106 driver. This display is known for its high contrast, low power consumption, and wide viewing angles, making it an excellent choice for a variety of DIY electronics projects. It communicates via the I2C protocol, which simplifies wiring and integration with microcontrollers like the Arduino UNO.








The Diyuser 1.3 Oled SH1106 module has a 4-pin interface for I2C communication. Below is the pinout:
| Pin | Name | Description |
|---|---|---|
| 1 | GND | Ground pin. Connect to the ground of the circuit. |
| 2 | VCC | Power supply pin. Connect to 3.3V or 5V. |
| 3 | SCL | I2C clock line. Connect to the SCL pin of MCU. |
| 4 | SDA | I2C data line. Connect to the SDA pin of MCU. |
Wiring the Display:
GND pin of the display to the ground (GND) of your microcontroller.VCC pin to a 3.3V or 5V power source, depending on your microcontroller's voltage.SCL pin to the I2C clock line (e.g., A5 on Arduino UNO).SDA pin to the I2C data line (e.g., A4 on Arduino UNO).Install Required Libraries:
Adafruit_GFX and Adafruit_SH1106 libraries. These libraries provide functions for controlling the SH1106 display.Upload Example Code:
#include <Adafruit_GFX.h> // Graphics library for OLED
#include <Adafruit_SH1106.h> // SH1106 driver library
#define OLED_RESET -1 // Reset pin not used
Adafruit_SH1106 display(OLED_RESET);
void setup() {
display.begin(SH1106_I2C_ADDRESS, 0x3C); // Initialize display with I2C address
display.clearDisplay(); // Clear the display buffer
display.setTextSize(1); // Set text size to 1 (smallest)
display.setTextColor(WHITE); // Set text color to white
display.setCursor(0, 0); // Set cursor to top-left corner
display.println("Hello, World!"); // Print text to display buffer
display.display(); // Send buffer to display
}
void loop() {
// Nothing to do here
}
0x3C.SCL and SDA lines if your microcontroller does not have internal pull-ups.Display Not Turning On:
GND and VCC.No Output on the Screen:
Adafruit_GFX and Adafruit_SH1106 libraries are correctly installed.Flickering or Unstable Display:
Text or Graphics Not Displaying Properly:
display.clearDisplay()) before updating the screen.Q: Can I use this display with a 3.3V microcontroller like ESP32?
A: Yes, the display is compatible with both 3.3V and 5V systems.
Q: What is the maximum cable length for I2C communication?
A: The I2C protocol is designed for short distances, typically less than 1 meter. For longer distances, use lower clock speeds or I2C extenders.
Q: Can I use this display with SPI instead of I2C?
A: No, this module is designed specifically for I2C communication.
Q: How do I display custom graphics?
A: Use the Adafruit_GFX library to draw shapes, bitmaps, or custom graphics. Refer to the library documentation for examples.
By following this documentation, you can effectively integrate the Diyuser 1.3 Oled SH1106 into your projects and troubleshoot common issues.