{"id":121473,"date":"2025-12-19T08:39:42","date_gmt":"2025-12-19T08:39:42","guid":{"rendered":"https:\/\/www.seeedstudio.com\/blog\/?p=121473"},"modified":"2026-01-05T03:05:01","modified_gmt":"2026-01-05T03:05:01","slug":"add-an-oled-display-to-arduino","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/","title":{"rendered":"7 Steps to Add an I2C OLED Display to Arduino"},"content":{"rendered":"\n<p>Adding an OLED display is one of the easiest ways to improve an <a href=\"https:\/\/www.seeedstudio.com\/blog\/2025\/10\/14\/20-awesome-arduino-projects-that-you-must-try-2020\/\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino project<\/a>. You can show sensor values, system status, menus, or simple graphics in real time.<\/p>\n\n\n\n<p>An OLED display works especially well as an Arduino display. It has <strong>high contrast, low power consumption, and simple wiring<\/strong>. Most OLED modules use I2C, so only a few pins are needed.<\/p>\n\n\n\n<p>In this tutorial, you&#8217;ll learn <strong>how to add an OLED display to Arduino step by step<\/strong>. We&#8217;ll cover hardware connections, library installation, and example code. No complex setup. No unnecessary theory.<\/p>\n\n\n\n<p>Once the display is working, you can reuse it in many projects\u2014<a href=\"https:\/\/www.seeedstudio.com\/blog\/2025\/11\/11\/build-smart-home-dashboard-with-eink\" target=\"_blank\" rel=\"noreferrer noopener\">dashboards<\/a>, IoT devices, clocks, or control panels.<\/p>\n\n\n\n<p>Let&#8217;s start with the hardware setup.<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#003a4a\" class=\"has-inline-color\">Hardware Preparation<\/mark><\/h2>\n\n\n\n<p>For this tutorial, we use a little 1.12-inch Grove-OLED display and a Grove extension board. <a href=\"https:\/\/www.seeedstudio.com\/grove\" target=\"_blank\" rel=\"noreferrer noopener\">The Grove series<\/a> has <strong>a standardised 4-pin connector<\/strong>, a foolproof design, and quick assembly.&nbsp;<\/p>\n\n\n\n<p>So what you need to do is connect the module to the I2C port on the extension board. The 4 pins are defined as below.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\"><table class=\"has-fixed-layout\"><thead><tr><th>pin<\/th><th>Function<\/th><th>Note<\/th><th>Cable color<\/th><\/tr><\/thead><tbody><tr><td>pin1<\/td><td>SCL<\/td><td>I2C Clock<\/td><td>YELLOW<\/td><\/tr><tr><td>pin2<\/td><td>SDA<\/td><td>I2C Data<\/td><td>WHITE<\/td><\/tr><tr><td>pin3<\/td><td>VCC<\/td><td>Power, 5V\/3.3V<\/td><td>RED<\/td><\/tr><tr><td>pin4<\/td><td>GND<\/td><td>Ground<\/td><td>BLACK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Hardware that you need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Display-1-12-V2.html\" target=\"_blank\" rel=\"noreferrer noopener\">Grove &#8211; OLED Display 1.12\u2019\u2019<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-Shield-for-Seeeduino-XIAO-p-4621.html\" target=\"_blank\" rel=\"noreferrer noopener\">Grove &#8211; Extension Board<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.seeedstudio.com\/Seeed-XIAO-ESP32C3-p-5431.html\" target=\"_blank\" rel=\"noreferrer noopener\">XIAO ESP32-C3<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1030\" height=\"579\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1030x579.png\" alt=\"XIAO ESP32 C3 and extension board and an OLED display\" class=\"wp-image-121519\" style=\"width:665px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1030x579.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-300x169.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-768x432.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1536x864.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-32x18.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1024x576.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png 1920w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<p>Connect the Grove-OLED Display 1.12&#8221; to the I2C port of the extension board via the Grove cable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"1030\" height=\"579\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1.png\" alt=\"IC2 port of extension board\" class=\"wp-image-121522\" style=\"width:505px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1-300x169.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1-768x432.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1-32x18.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/grove-extension-board-1-1024x576.png 1024w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#003a4a\" class=\"has-inline-color\">Software Preparation<\/mark><\/h2>\n\n\n\n<p><strong>Step 1. Download and install the latest version of Arduino IDE according to your operating system<\/strong><\/p>\n\n\n\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"700\" height=\"49\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/Arduino-software.png\" alt=\"Arduino IDE\" class=\"wp-image-121523\" style=\"width:514px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/Arduino-software.png 700w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/Arduino-software-300x21.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/Arduino-software-32x2.png 32w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 2. Launch the Arduino application<\/strong><\/p>\n\n\n\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 3. Add the ESP32 board package to your Arduino IDE<\/strong><\/p>\n\n\n\n<p>Navigate to File &gt; Preferences, and fill &#8220;Additional Boards Manager URLs&#8221; with the URL below: <\/p>\n\n\n\n<p><a href=\"https:\/\/espressif.github.io\/arduino-esp32\/package_esp32_index.json\">https:\/\/espressif.github.io\/arduino-esp32\/package_esp32_index.json<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"519\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-1030x519.png\" alt=\"Additional Boards Manager URLs\" class=\"wp-image-121524\" style=\"width:732px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-1030x519.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-300x151.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-768x387.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-1536x774.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-32x16.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs-1024x516.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/additional-boards-manager-URLs.png 1572w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Navigate to Tools &gt; Board &gt; Boards Manager, type the keyword &#8220;esp32&#8221; in the search box, select the latest version of esp32, and install it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"901\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-1030x901.png\" alt=\"install esp32 in Arduino\" class=\"wp-image-121525\" style=\"width:574px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-1030x901.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-300x262.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-768x672.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-32x28.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32-1024x896.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/install-esp32.png 1124w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 4. Select your board and port<\/strong><\/p>\n\n\n\n<p><strong>Board<\/strong><\/p>\n\n\n\n<p>Navigate to Tools &gt; Board &gt; ESP32 Arduino and select &#8220;XIAO_ESP32C3&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"594\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-1030x594.png\" alt=\"select XIAO ESP32C3 in Arduino\" class=\"wp-image-121508\" style=\"width:733px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-1030x594.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-300x173.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-768x443.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-32x18.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58-1024x591.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-58.png 1409w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Port<\/strong><\/p>\n\n\n\n<p>Navigate to Tools &gt; Port and select the serial port name of the connected XIAO ESP32C3. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports).<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 5. Open Arduino IDE and the Library Manager (Sketch &gt; Include Library &gt; manage Libraries) to install the library of u8g2.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"716\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-1030x716.png\" alt=\"manage libraries in Arduino IDE\" class=\"wp-image-121504\" style=\"width:738px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-1030x716.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-300x209.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-768x534.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-1536x1068.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-32x22.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54-1024x712.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-54.png 1600w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 6. Enter &#8220;u8g2&#8221; into the search field, select the latest version and click the &#8220;Install&#8221; button.<\/strong><\/p>\n\n\n\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"715\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-1030x715.png\" alt=\"install U8g2\" class=\"wp-image-121510\" style=\"width:739px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-1030x715.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-300x208.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-768x533.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-1536x1067.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-32x22.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60-1024x711.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-60.png 1600w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Step 7. Upload the demo code below to your Arduino IDE.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Arduino.h&gt;\n#include &lt;U8g2lib.h&gt;\n#include &lt;SPI.h&gt;\n#include &lt;Wire.h&gt;\n\nU8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, \/* clock=*\/ SCL, \/* data=*\/ SDA, \/* reset=*\/ U8X8_PIN_NONE);\n\nvoid setup(void) {\n&nbsp;&nbsp;u8g2.begin();\n}\n\nvoid loop(void) {\n&nbsp;&nbsp;u8g2.firstPage();\n&nbsp;&nbsp;do {\n&nbsp;&nbsp;&nbsp;&nbsp;u8g2.setFont(u8g2_font_ncenB10_tr);\n&nbsp;&nbsp;&nbsp;&nbsp;u8g2.drawStr(0,24,\"Hello World!\");\n&nbsp;&nbsp;} while ( u8g2.nextPage() );\n}<\/code><\/pre>\n\n\n\n<p>There will be a &#8220;Hello World!&#8221; displayed on the screen of the Grove &#8211; OLED Display 1.12&#8221; if everything goes well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"1030\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-1030x1030.jpeg\" alt=\"\" class=\"wp-image-121511\" style=\"width:459px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-1030x1030.jpeg 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-300x300.jpeg 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-80x80.jpeg 80w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-768x768.jpeg 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-32x32.jpeg 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2-1024x1024.jpeg 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-2.jpeg 1280w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><figcaption class=\"wp-element-caption\"><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#798894\" class=\"has-inline-color\">Connected successfully<\/mark><\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#003a4a\" class=\"has-inline-color\">Alternative Options<\/mark><\/h2>\n\n\n\n<p>For the hardware, you can also use <a href=\"https:\/\/www.seeedstudio.com\/XIAO-ESP32S3-Sense-p-5639.html\" target=\"_blank\" rel=\"noreferrer noopener\">XIAO ESP32-S3<\/a> and <a href=\"https:\/\/www.seeedstudio.com\/Seeed-Studio-XIAO-ESP32C6-p-5884.html\" target=\"_blank\" rel=\"noreferrer noopener\">XIAO ESP32-C6<\/a> to replace the C3.<\/p>\n\n\n\n<p>For the OLED display, Seeed also offers more options that can be used in this tutorial:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Display-0-96.html\" target=\"_blank\" rel=\"noreferrer noopener\">0.96-inch Grove-OLED display<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Display-0-66-SSD1306-v1-0-p-5096.html\" target=\"_blank\" rel=\"noreferrer noopener\">0.66-inch Grove-OLED display<\/a><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Yellow-Blue-Display-0-96-SSD1315-V1-0-p-5010.html\" target=\"_blank\" rel=\"noreferrer noopener\">0.96 inch Grove &#8211; OLED Yellow&amp;Blue Display<\/a><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Display-1-12-SH1107-V3-0-p-5011.html\" target=\"_blank\" rel=\"noreferrer noopener\">1.12-inch Grove &#8211; OLED Display 1.12 (SH1107)<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2588\" height=\"525\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display.png\" alt=\"OLED display\" class=\"wp-image-121616\" style=\"width:754px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display.png 2588w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-300x61.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-1030x209.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-768x156.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-1536x312.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-2048x415.png 2048w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-32x6.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/OLED-display-1024x208.png 1024w\" sizes=\"(max-width: 2588px) 100vw, 2588px\" \/><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em><strong>Note: <\/strong>The code needs to be revised for a different display. Please check the following wiki for details:&nbsp;<\/em><\/p>\n\n\n\n<p><a href=\"https:\/\/wiki.seeedstudio.com\/Grove-OLED_Display_0.96inch\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wiki.seeedstudio.com\/Grove-OLED_Display_0.96inch\/<\/a><br><a href=\"https:\/\/wiki.seeedstudio.com\/Grove-OLED-Display-0.66-SSD1306_v1.0\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wiki.seeedstudio.com\/Grove-OLED-Display-0.66-SSD1306_v1.0\/<br><\/a><a href=\"https:\/\/wiki.seeedstudio.com\/Grove-OLED-Yellow&amp;Blue-Display-0.96-SSD1315_V1.0\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wiki.seeedstudio.com\/Grove-OLED-Yellow&amp;Blue-Display-0.96-SSD1315_V1.0\/<br><\/a><a href=\"https:\/\/wiki.seeedstudio.com\/Grove-OLED-Display-1.12-SH1107_V3.0\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wiki.seeedstudio.com\/Grove-OLED-Display-1.12-SH1107_V3.0\/<\/a><\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#003a4a\" class=\"has-inline-color\">Awesome Arduino OLED Projects<\/mark><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><a href=\"https:\/\/github.com\/upiir\/esp32s3_oled_dasai_mochi\" target=\"_blank\" rel=\"noreferrer noopener\">Dasai Mochi-Style OLED Display Project<\/a><\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Make your own Dasai Mochi (with ESP32 and OLED display)\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/QOoszpg0BsM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This project recreates the popular Dasai Mochi car companion as a small OLED display project. Maker upir uses an SSD1306 128\u00d732 I2C OLED, ESP32 (<a href=\"https:\/\/www.seeedstudio.com\/XIAO-ESP32S3-Sense-p-5639.html\" target=\"_blank\" rel=\"noreferrer noopener\">XIAO ESP32-S3<\/a>), and <a href=\"https:\/\/www.seeedstudio.com\/Seeeduino-XIAO-Expansion-board-p-4746.html\" target=\"_blank\" rel=\"noreferrer noopener\">an expansion board<\/a> to show static images and simple animations. It\u2019s a great example of using a small Arduino-compatible OLED display for UI graphics and animation rather than text-only output.<\/p>\n\n\n\n<p><strong>Source files: <\/strong><a href=\"https:\/\/github.com\/upiir\/esp32s3_oled_dasai_mochi\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/upiir\/esp32s3_oled_dasai_mochi<\/a><\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><a href=\"https:\/\/www.youtube.com\/watch?v=7ENqXEEsdDk\" target=\"_blank\" rel=\"noreferrer noopener\">Gus 2.0: Emotion-Based Room Health Monitor with OLED Display<\/a><\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.youtube.com\/watch?v=7ENqXEEsdDk\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"571\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-1030x571.png\" alt=\"\" class=\"wp-image-121514\" style=\"width:613px;height:auto\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-1030x571.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-300x166.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-768x426.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-1536x852.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-32x18.png 32w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62-1024x568.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/image-62.png 1600w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Maker Makestreme made Gus 2.0, a compact robot that visualizes room health through emotions. Gus&#8217;s eye levels actually tell you how comfy your room is. So, if the air quality&#8217;s not great, or the humidity&#8217;s off, or the temperature&#8217;s just not right, his eyelids start to droop, and he gets a little gloomy.&nbsp;<\/p>\n\n\n\n<p>The project uses the same <a href=\"https:\/\/www.seeedstudio.com\/Grove-OLED-Display-1-12-V2.html\" target=\"_blank\" rel=\"noreferrer noopener\">1.12-inch OLED display<\/a> in this tutorial, together with <a href=\"https:\/\/www.seeedstudio.com\/Grove-Air-Quality-Sensor-v1-3-Arduino-Compatible.html\" target=\"_blank\" rel=\"noreferrer noopener\">a Grove air quality sensor<\/a>, demonstrating how an Arduino OLED display can turn sensor data into intuitive visual feedback.&nbsp;<\/p>\n\n\n\n<p><strong>Source files: <\/strong><a href=\"https:\/\/www.hackster.io\/makestreme\/gus-2-0-uses-emotions-to-indicate-room-health-7b6def\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.hackster.io\/makestreme\/gus-2-0-uses-emotions-to-indicate-room-health-7b6def<\/a><\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#003a4a\" class=\"has-inline-color\">Conclusion<\/mark><\/h2>\n\n\n\n<p>An OLED display is a simple and reliable option for building an Arduino display. With basic I2C wiring, a stable library, and a short test sketch, you can get useful on-screen output up and running quickly. This tutorial keeps the setup straightforward and beginner-friendly, making it a good starting point for your first Arduino display project. From here, you can expand the same setup into dashboards, indicators, or custom interfaces as your projects grow.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>&gt;&gt; Read more<\/em><\/strong><\/p>\n\n\n\n<div class=\"wp-block-blockspare-content-box blockspare-839ba01c-7fb5-4 blockspare-contentBox aligncenter\" blockspare-animation=\"\"><style>.blockspare-839ba01c-7fb5-4 .blockspare-contentBox .blockspare-section-wrapper{background-color:#f9f9f9}.blockspare-839ba01c-7fb5-4 .blockspare-content-wrapper{text-align:center;margin-top:0px;margin-right:0px;margin-bottom:30px;margin-left:0px}.blockspare-839ba01c-7fb5-4 .blockspare-content-wrapper .blockspare-section-wrapper{padding-top:20px;padding-right:20px;padding-bottom:30px;padding-left:30px}.blockspare-839ba01c-7fb5-4 .blockspare-desc-btn-wrap .blockspare-description{color:#6d6d6d;font-size:0px}.blockspare-839ba01c-7fb5-4 .blockspare-mainheader-wrap{box-shadow:none;border-radius:0;background-color:#f9f9f9}.blockspare-839ba01c-7fb5-4 .blockspare-section-header-wrapper{border-color:#8b249c}.blockspare-839ba01c-7fb5-4 .blockspare-content-wrapper .blockspare-desc-btn-wrap .blockspare-description{margin-top:10px;margin-right:0px;margin-bottom:0px;margin-left:0px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap{background-color:transparent;text-align:center;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px}.blockspare-839ba01c-7fb5-4 .blockspare-block-button a.blockspare-button{color:#fff;border-width:2px;font-size:16px}.blockspare-839ba01c-7fb5-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button{background-color:var(--bgcolor)}.blockspare-839ba01c-7fb5-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button:visited{background-color:var(--bgcolor)}.blockspare-839ba01c-7fb5-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button:focus{background-color:var(--bgcolor)}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-title{color:#404040;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;font-size:24px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-title-wrapper .blockspare-title-dash{color:#8b249c!important}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-subtitle{color:#6d6d6d;font-size:1px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}@media screen and (max-width:1025px){.blockspare-839ba01c-7fb5-4 .blockspare-block-button a.blockspare-button{font-size:14px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-title{font-size:22px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-subtitle{font-size:14px}.blockspare-839ba01c-7fb5-4 .blockspare-desc-btn-wrap .blockspare-description{font-size:16px}}@media screen and (max-width:768px){.blockspare-839ba01c-7fb5-4 .blockspare-block-button a.blockspare-button{font-size:14px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-title{font-size:20px}.blockspare-839ba01c-7fb5-4 .blockspare-section-head-wrap .blockspare-subtitle{font-size:14px}.blockspare-839ba01c-7fb5-4 .blockspare-desc-btn-wrap .blockspare-description{font-size:14px}}<\/style><div class=\"blockspare-content-wrapper blockspare-blocks blockspare-hover-item blockspare-hover-child has-background style-2\"><div class=\"content-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/smart-home-projects-banner.png\" alt=\"arduino smart home project\" class=\" hover-child\"\/><\/div><div class=\"blockspare-section-wrapper blockspare-mainheader-wrap hover-child\"><div class=\"blockspare-section-head-wrap\"><div class=\"blockspare-title-subtitle-wrap\"><div class=\"blockspare-section-header-wrapper blockspare-blocks\"><div class=\"blockspare-section-head-wrap blockspare-style2 blockspare-center\"><div class=\"blockspare-title-wrapper\"><span class=\"blockspare-title-dash blockspare-upper-dash\"><\/span><h2 class=\"blockspare-title\"><a href=\"https:\/\/www.seeedstudio.com\/blog\/2025\/11\/27\/smart-home-projects-using-arduino-esp32-and-raspberry-pi\" target=\"_blank\" rel=\"noreferrer noopener\">18 Smart Home Projects using Arduino, ESP32 and Raspberry Pi<\/a><\/h2><span class=\"blockspare-title-dash blockspare-lower-dash\"><\/span><\/div><div class=\"blockspare-subtitle-wrapper\"><span class=\"blockspare-title-dash blockspare-upper-dash\"><\/span><span class=\"blockspare-title-dash blockspare-lower-dash\"><\/span><\/div><\/div><\/div><\/div><\/div><div class=\"blockspare-desc-btn-wrap\"><p class=\"blockspare-description\">Add your description here&#8230;<\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-blockspare-content-box blockspare-e13462f6-1cbd-4 blockspare-contentBox aligncenter\" blockspare-animation=\"\"><style>.blockspare-e13462f6-1cbd-4 .blockspare-contentBox .blockspare-section-wrapper{background-color:#f9f9f9}.blockspare-e13462f6-1cbd-4 .blockspare-content-wrapper{text-align:center;margin-top:0px;margin-right:0px;margin-bottom:30px;margin-left:0px}.blockspare-e13462f6-1cbd-4 .blockspare-content-wrapper .blockspare-section-wrapper{padding-top:20px;padding-right:20px;padding-bottom:30px;padding-left:30px}.blockspare-e13462f6-1cbd-4 .blockspare-desc-btn-wrap .blockspare-description{color:#6d6d6d;font-size:0px}.blockspare-e13462f6-1cbd-4 .blockspare-mainheader-wrap{box-shadow:none;border-radius:0;background-color:#f9f9f9}.blockspare-e13462f6-1cbd-4 .blockspare-section-header-wrapper{border-color:#8b249c}.blockspare-e13462f6-1cbd-4 .blockspare-content-wrapper .blockspare-desc-btn-wrap .blockspare-description{margin-top:10px;margin-right:0px;margin-bottom:0px;margin-left:0px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap{background-color:transparent;text-align:center;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px}.blockspare-e13462f6-1cbd-4 .blockspare-block-button a.blockspare-button{color:#fff;border-width:2px;font-size:16px}.blockspare-e13462f6-1cbd-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button{background-color:var(--bgcolor)}.blockspare-e13462f6-1cbd-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button:visited{background-color:var(--bgcolor)}.blockspare-e13462f6-1cbd-4.wp-block-blockspare-content-box .blockspare-block-button .blockspare-button:focus{background-color:var(--bgcolor)}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-title{color:#404040;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;font-size:24px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-title-wrapper .blockspare-upper-dash{background-color:#8b249c!important}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-title-wrapper .blockspare-lower-dash{background-color:#E5EFE3!important}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-subtitle{color:#6d6d6d;font-size:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}@media screen and (max-width:1025px){.blockspare-e13462f6-1cbd-4 .blockspare-block-button a.blockspare-button{font-size:14px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-title{font-size:22px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-subtitle{font-size:14px}.blockspare-e13462f6-1cbd-4 .blockspare-desc-btn-wrap .blockspare-description{font-size:16px}}@media screen and (max-width:768px){.blockspare-e13462f6-1cbd-4 .blockspare-block-button a.blockspare-button{font-size:14px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-title{font-size:20px}.blockspare-e13462f6-1cbd-4 .blockspare-section-head-wrap .blockspare-subtitle{font-size:14px}.blockspare-e13462f6-1cbd-4 .blockspare-desc-btn-wrap .blockspare-description{font-size:14px}}<\/style><div class=\"blockspare-content-wrapper blockspare-blocks blockspare-hover-item blockspare-hover-child reverse-img has-background style-2\"><div class=\"content-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/esphome-display-handbook-cover.png\" alt=\"esphome display\" class=\" hover-child\"\/><\/div><div class=\"blockspare-section-wrapper blockspare-mainheader-wrap hover-child\"><div class=\"blockspare-section-head-wrap\"><div class=\"blockspare-title-subtitle-wrap\"><div class=\"blockspare-section-header-wrapper blockspare-blocks\"><div class=\"blockspare-section-head-wrap blockspare-style13 blockspare-center\"><div class=\"blockspare-title-wrapper\"><span class=\"blockspare-title-dash blockspare-upper-dash\"><\/span><h2 class=\"blockspare-title\"><a href=\"https:\/\/www.seeedstudio.com\/blog\/2025\/11\/04\/esphome-display-handbook\/\" target=\"_blank\" rel=\"noreferrer noopener\">ESPHome Display Handbook<\/a><\/h2><span class=\"blockspare-title-dash blockspare-lower-dash\"><\/span><\/div><div class=\"blockspare-subtitle-wrapper\"><span class=\"blockspare-title-dash blockspare-upper-dash\"><\/span><span class=\"blockspare-title-dash blockspare-lower-dash\"><\/span><\/div><\/div><\/div><\/div><\/div><div class=\"blockspare-desc-btn-wrap\"><p class=\"blockspare-description\">Add your description here&#8230;<\/p><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Adding an OLED display is one of the easiest ways to improve an Arduino project.<\/p>\n","protected":false},"author":3664,"featured_media":121519,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[4391,5007,4393],"tags":[5308,5311,5310,5312],"class_list":["post-121473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-build","category-feature","category-tech","tag-arduino-display","tag-arduino-display-tutorial","tag-oled-display","tag-xiao-esp32"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Add an I2C OLED Display to Arduino? (7 Easy Steps)<\/title>\n<meta name=\"description\" content=\"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Add an I2C OLED Display to Arduino? (7 Easy Steps)\" \/>\n<meta property=\"og:description\" content=\"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-19T08:39:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T03:05:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Starry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Starry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/\",\"name\":\"How to Add an I2C OLED Display to Arduino? (7 Easy Steps)\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png\",\"datePublished\":\"2025-12-19T08:39:42+00:00\",\"dateModified\":\"2026-01-05T03:05:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/85eb75005234b879c58585ca9fe45fba\"},\"description\":\"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png\",\"width\":1920,\"height\":1080,\"caption\":\"add oled to arduino\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"7 Steps to Add an I2C OLED Display to Arduino\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/85eb75005234b879c58585ca9fe45fba\",\"name\":\"Starry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b67bfaf6cb1c6d5927cf07e70b04c25c?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b67bfaf6cb1c6d5927cf07e70b04c25c?s=96&r=g\",\"caption\":\"Starry\"},\"description\":\"Writer &amp; movie buff\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/starry\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Add an I2C OLED Display to Arduino? (7 Easy Steps)","description":"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/","og_locale":"en_US","og_type":"article","og_title":"How to Add an I2C OLED Display to Arduino? (7 Easy Steps)","og_description":"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.","og_url":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2025-12-19T08:39:42+00:00","article_modified_time":"2026-01-05T03:05:01+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png","type":"image\/png"}],"author":"Starry","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Starry","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/","url":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/","name":"How to Add an I2C OLED Display to Arduino? (7 Easy Steps)","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png","datePublished":"2025-12-19T08:39:42+00:00","dateModified":"2026-01-05T03:05:01+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/85eb75005234b879c58585ca9fe45fba"},"description":"Learn how to add an I2C OLED display to Arduino step by step: hardware connections, library installation, and example code.","breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png","width":1920,"height":1080,"caption":"add oled to arduino"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2025\/12\/19\/add-an-oled-display-to-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"7 Steps to Add an I2C OLED Display to Arduino"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/85eb75005234b879c58585ca9fe45fba","name":"Starry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b67bfaf6cb1c6d5927cf07e70b04c25c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b67bfaf6cb1c6d5927cf07e70b04c25c?s=96&r=g","caption":"Starry"},"description":"Writer &amp; movie buff","url":"https:\/\/www.seeedstudio.com\/blog\/author\/starry\/"}]}},"modified_by":"Starry","views":7820,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png",1920,1080,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-80x80.png",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-300x169.png",300,169,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-768x432.png",640,360,true],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1030x579.png",640,360,true],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1536x864.png",1536,864,true],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display.png",1920,1080,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-32x18.png",32,18,true],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1536x1020.png",1536,1020,true],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-936x897.png",936,897,true],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-1024x576.png",1024,576,true],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-720x380.png",720,380,true],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2025\/12\/hardware-for-arduino-oled-display-675x450.png",675,450,true]},"author_info":{"display_name":"Starry","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/starry\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/build\/\" rel=\"category tag\">Build<\/a> <a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/feature\/\" rel=\"category tag\">Feature<\/a> <a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/tech\/\" rel=\"category tag\">Tech<\/a>","tag_info":"Tech","comment_count":"1","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/121473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/3664"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=121473"}],"version-history":[{"count":14,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/121473\/revisions"}],"predecessor-version":[{"id":122300,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/121473\/revisions\/122300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/121519"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=121473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=121473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=121473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}