{"id":2152,"date":"2019-11-15T10:34:46","date_gmt":"2019-11-15T09:34:46","guid":{"rendered":"https:\/\/home.et.utwente.nl\/slootenvanf\/?p=2152"},"modified":"2025-10-20T10:08:29","modified_gmt":"2025-10-20T08:08:29","slug":"use-oled-display-with-arduino","status":"publish","type":"post","link":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/","title":{"rendered":"Use an OLED Display with Arduino"},"content":{"rendered":"\n<p>Information on how to use an <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.tinytronics.nl\/shop\/en\/display\/oled\/0.96-inch-oled-display-128*64-pixels-white-i2c\" target=\"_blank\" rel=\"noreferrer noopener\">0.96 inch OLED Display (128*64 pixels)<\/a> with an Arduino. This is an <a aria-label=\"i2c (opens in a new tab)\" href=\"https:\/\/en.wikipedia.org\/wiki\/I%C2%B2C\" target=\"_blank\" rel=\"noreferrer noopener\">i2c<\/a> module, which makes it easy to connect as it has only 4 wires. It is assumed you have installed the <a aria-label=\"Arduino IDE (opens in a new tab)\" href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino IDE<\/a> and have some basic understanding of using electronics and wiring a breadboard. In addition, after learning the basic use, learn how to make a menu system by adding buttons.<\/p>\n\n\n\n<p><a href=\"https:\/\/wokwi.com\/projects\/394137411932390401\">A complete simulation with breadboard of the first example below is available on Wokwi.<\/a> With that, you can try the example without the need for making the example on a breadboard.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"621\" data-id=\"1687\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-1-1000x1000.jpg\" alt=\"\" class=\"wp-image-1687\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-1-1000x1000.jpg 705w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-1-1000x1000-300x264.jpg 300w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"487\" data-id=\"1688\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-2-1000x1000.jpg\" alt=\"\" class=\"wp-image-1688\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-2-1000x1000.jpg 644w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/04\/0.96-oled-display-I2C-2-1000x1000-300x227.jpg 300w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>To use this display, you can connect it to power (GND and VCC, it can be either 3.3 or 5V) and connect the SDA and SCL pins to the SDA (A4) and SCL (A5) pins of the Arduino. These are hardware i2c pins:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"518\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/Arduino_Nano_Pinout_SDA_SCL-1024x518.png\" alt=\"\" class=\"wp-image-2155\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/Arduino_Nano_Pinout_SDA_SCL-1024x518.png 1024w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/Arduino_Nano_Pinout_SDA_SCL-300x152.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/Arduino_Nano_Pinout_SDA_SCL-768x389.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/Arduino_Nano_Pinout_SDA_SCL.png 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><em>(click images for larger version)<\/em><\/p>\n\n\n\n<p>You can mount this display directly onto a breadboard and connect the wires:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-lightbox\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2024\/04\/oled_wiring.png\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"518\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2024\/04\/oled_wiring.png\" alt=\"\" class=\"wp-image-5168\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2024\/04\/oled_wiring.png 943w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2024\/04\/oled_wiring-300x165.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2024\/04\/oled_wiring-768x422.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full has-lightbox\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"437\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg\" alt=\"\" class=\"wp-image-2162\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg 908w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2-300x144.jpg 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2-768x370.jpg 768w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Download example sketch<\/h4>\n\n\n\n<p>To test this display, you can use this example sketch: <code><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"\/slootenvanf\/div\/arduino\/oled_display_i2c_u8g2.ino\" target=\"_blank\">oled_display_i2c_u8g2.ino<\/a><\/code>. Open it in the Arduino IDE. The sketch uses the U8g2 library, which you must install before you use this sketch: In the Arduino IDE, select <em>Tools &gt; Manage Libraries<\/em>, then search for &#8220;U8g2&#8221; and install the library.<\/p>\n\n\n\n<p>Next, connect the Arduino to your computer with a USB cable.<\/p>\n\n\n\n<p>Before you upload the example sketch to the Arduino, configure the Arduino IDE to use the correct setting for the type of Arduino you use: under the Tools menu, check the board settings:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-lightbox\"><img loading=\"lazy\" decoding=\"async\" width=\"772\" height=\"517\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/arduino_board_settings.png\" alt=\"\" class=\"wp-image-2182\"\/><\/figure>\n\n\n\n<p>The Port can be any active Port (eg. COM1-12, or on Mac OS something like &#8220;\/dev\/tty.usbmodem&#8230;&#8221; or &#8220;\/dev\/tty.usbserial-&#8230;&#8221; ). There should be one option you can select here. If no port is visible, or none of the ports work, you might have to&nbsp;<a href=\"https:\/\/learn.sparkfun.com\/tutorials\/how-to-install-ch340-drivers\/all#drivers-if-you-need-them\" target=\"_blank\" rel=\"noreferrer noopener\">install the CH340 driver<\/a>&nbsp;before you can use the port.&nbsp;<a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2021\/06\/09\/error-uploading-sketch-in-arduino-ide-and-other-upload-issues\/\" target=\"_blank\" rel=\"noreferrer noopener\">Other troubleshooting options are here.<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Upload the example sketch<\/h4>\n\n\n\n<p>Now upload the sketch (press the Upload button <img loading=\"lazy\" decoding=\"async\" width=\"37\" height=\"37\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/upload.png\" alt=\"Upload button\" class=\"wp-image-2185\" style=\"vertical-align:top\"> ) to transfer the sketch to the Arduino and run it. The display should show some text messages and the value of the variable <code>speed<\/code>.<\/p>\n\n\n\n<p>To display values of variables with this display, you might need code like this:<\/p>\n\n\n\n<pre><code>display.drawString(0,3,\"Speed: \");\ndisplay.setCursor(7, 3);\ndisplay.print(speed);<\/code><\/pre>\n\n\n\n<p>This shows the message &#8220;Speed:&#8221; on the first part of line 3, then displays the value of variable <em>speed <\/em>starting at the 7th character position on line 3, to make it appear <em>after <\/em>the &#8220;Speed:&#8221; message.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"more\">More info<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a aria-label=\"u8x8 library reference (opens in a new tab)\" href=\"https:\/\/github.com\/olikraus\/u8g2\/wiki\/u8x8reference\" target=\"_blank\" rel=\"noreferrer noopener\">u8x8 library reference<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/wokwi.com\/projects\/394137411932390401\" target=\"_blank\" rel=\"noreferrer noopener\">Complete simulation with breadboard of the first example on Wokwi<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.adafruit.com\/adafruit-gfx-graphics-library\/overview\">Adafruit GFX Graphics Library<\/a> &amp; <a href=\"https:\/\/learn.adafruit.com\/monochrome-oled-breakouts\/overview\">Monochrome OLED Breakouts<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/randomnerdtutorials.com\/guide-for-oled-display-with-arduino\/\" target=\"_blank\">Extensive tutorial<\/a> with info on drawing graphics and display bitmap images.<\/li>\n\n\n\n<li>Another extensive tutorial <a rel=\"noreferrer noopener\" href=\"https:\/\/lastminuteengineers.com\/oled-display-arduino-tutorial\/\" target=\"_blank\">&#8220;Interface OLED Graphic Display Module with Arduino&#8221;<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/create.arduino.cc\/projecthub\/138689\/pixel-art-on-oled-display-7f8697\" target=\"_blank\">Pixel Art on OLED Display<\/a><\/li>\n<\/ul>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"More tutorials for displays on this site. (opens in a new tab)\" href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/tag\/display\/\" target=\"_blank\">More tutorials for displays on this site.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"menu\">How to make a menu<\/h2>\n\n\n\n<p>In this part of this article we will explore two possibilities to create a (navigation) menu with the display. A menu is a userinterface component to allow the user to navigate through various functions and options in your program. The small size of this display and the limitations of the Arduino present some challenges for this. Despite that, it is still feasible to create a menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"344\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_buttons.png\" alt=\"\" class=\"wp-image-3688\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_buttons.png 1000w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_buttons-300x103.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_buttons-768x264.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_buttons-100x34.png 100w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Option 1: a very simple menu with 2-6 choices<\/h4>\n\n\n\n<figure class=\"wp-block-image alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"241\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/image-5-300x241.png\" alt=\"\" class=\"wp-image-3680\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/image-5-300x241.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/image-5-100x80.png 100w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/image-5.png 637w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>If you have a limited amount of choices or are looking for something simple to build on further this might interest you. It is a text-based menu in which you navigate using the up\/down buttons and make a selection with the select button.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/div\/arduino\/menu_simple.ino\" target=\"_blank\">You can download the sketch <code>menu_simple.ino<\/code> here.<\/a><\/p>\n\n\n\n<p>Further explanation is in the sketch. You can use 3 buttons connected to pins 4, 5 and 6, using internal pull-ups (no resistors required).<\/p>\n\n\n\n<p>Open the Serial Monitor to see further output of the sketch.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Option 2: extensible menu<\/h4>\n\n\n\n<p>This is a bit more advanced than the previous menu, but still uses a limited amount of memory. With this you can add sub menus easily, as each menu is a simple list:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MenuItem PROGMEM firstList&#91;3] = { \n  { \"Item_one\", fun1 },\n  { \"Item_two\", fun2 },\n  { \"Menu_2\", gotoMenuTwo }\n};\n\nMenuItem PROGMEM secondList&#91;3] = {\n  { \"Back\" , gotoMenuOne },\n  { \"Item_three\", fun3 },\n  { \"Item_four\" , fun4 }\n};<\/code><\/pre>\n\n\n\n<p>The second item in each list item is a function, which performs the action associated with that menu option. For instance function <code>fun1<\/code> (linked to menu item &#8220;Item_one&#8221; in <em>firstList<\/em>) can be a function defined in the sketch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>boolean fun1() {\n  \/\/ blocking functions that simply return true will be run once and will complete\n  \/\/ before the code goes to the next loop\n  Serial.println(F(\"FUN 1:  running right now and printing this long line\"));\n  delay(3000);\n  return true;\n}<\/code><\/pre>\n\n\n\n<p><a href=\"\/slootenvanf\/div\/arduino\/menu_simple_oled.zip\" target=\"_blank\" rel=\"noreferrer noopener\">Download the sketch <code>menu_simple_oled.zip<\/code> here.<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Option 3: a menu system based on the ArduinoMenu library<\/h4>\n\n\n\n<p>The <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/neu-rah\/ArduinoMenu\/\" target=\"_blank\">ArduinoMenu library<\/a> is an advanced system to create menus. With this system you can define menus, submenus, input fields and other iteration objects that deal with all input\/output and can call user defined handlers as a result of user actions. It comes with <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/neu-rah\/ArduinoMenu\/wiki\" target=\"_blank\">extensive documentation<\/a>, which you will need, as this is a complex system. <strong>It has as a disadvantage that it will consume much of the resources of the Arduino.<\/strong> For instance, it occupies about 80% of the memory of an Arduino Nano. This does not leave much room for your own code.<\/p>\n\n\n\n<p>The two examples below use the 0.96 inch OLED display and 3 buttons to navigate and make selections in the menu.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"505\" height=\"460\" data-id=\"3689\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example1.png\" alt=\"\" class=\"wp-image-3689\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example1.png 505w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example1-300x273.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example1-100x91.png 100w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"593\" data-id=\"3690\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example2.png\" alt=\"\" class=\"wp-image-3690\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example2.png 717w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example2-300x248.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2020\/06\/arduinomenu_example2-100x83.png 100w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/figure>\n<\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Example 1: <code><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/div\/arduino\/menu.ino\" target=\"_blank\" rel=\"noreferrer noopener\">menu.ino<\/a><\/code> demo of text based navigation menu using submenus and abiltity to change settings from the menu.<\/li>\n\n\n\n<li>Example 2: <code><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/div\/arduino\/menu_u8g2.ino\" target=\"_blank\" rel=\"noreferrer noopener\">menu_u8g2.ino<\/a><\/code>, same menu but using graphics menu system, u8g2 version, uses inverted bars for selection.<\/li>\n<\/ul>\n\n\n\n<p>Open the Serial Monitor to see further output of the sketches. Menus can be navigated through the Serial Monitor also (by entering numbers to select menu items).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">More info on menus<\/h4>\n\n\n\n<p>These might also be of intrest:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/diyi0t.com\/building-a-menu-with-buttons-for-your-microcontroller\/\" target=\"_blank\">Building a Menu with Buttons for your Microcontroller<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/eeenthusiast.com\/arduino-lcd-tutorial-display-menu-system-scrolling-menu-changeable-variables-projects\/\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino LCD Tutorial, Display Menu System, Scrolling Menu w\/ Changeable Variables for Projects<\/a><\/li>\n\n\n\n<li>Nice example: <a href=\"https:\/\/github.com\/upiir\/arduino_oled_menu\" target=\"_blank\" rel=\"noreferrer noopener\">upiir arduino_oled_menu<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.thecoderscorner.com\/products\/arduino-libraries\/tc-menu\/tcmenu-generator-ui-documentation\/\" target=\"_blank\">tc-menu system incl. menu-generator<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/search?utf8=%E2%9C%93&amp;q=arduino+menu\" target=\"_blank\" rel=\"noreferrer noopener\">Search for Arduino menu systems @ Github<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/results?search_query=arduino+menu\" target=\"_blank\">YouTube: Arduino menu demo&#8217;s<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Information on how to use an 0.96 inch OLED Display (128*64 pixels) with an Arduino. This is an i2c module, which makes it easy to connect as it has only 4 wires. It is assumed you have installed the Arduino IDE and have some basic understanding of using electronics and wiring a breadboard. In addition, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2162,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[3],"tags":[94,204,481,212],"class_list":["post-2152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","tag-arduino","tag-display","tag-menu","tag-oled"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Use an OLED Display with Arduino - vanslooten.com<\/title>\n<meta name=\"description\" content=\"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use an OLED Display with Arduino - vanslooten.com\" \/>\n<meta property=\"og:description\" content=\"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino\" \/>\n<meta property=\"og:url\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"vanslooten.com\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-15T09:34:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-20T08:08:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"908\" \/>\n\t<meta property=\"og:image:height\" content=\"437\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fjodor van Slooten\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:site\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fjodor van Slooten\" \/>\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\":\"Article\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/\"},\"author\":{\"name\":\"Fjodor van Slooten\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"headline\":\"Use an OLED Display with Arduino\",\"datePublished\":\"2019-11-15T09:34:46+00:00\",\"dateModified\":\"2025-10-20T08:08:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/\"},\"wordCount\":941,\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/oled_display_mounted2.jpg\",\"keywords\":[\"arduino\",\"display\",\"menu\",\"oled\"],\"articleSection\":[\"Education\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/\",\"name\":\"Use an OLED Display with Arduino - vanslooten.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/oled_display_mounted2.jpg\",\"datePublished\":\"2019-11-15T09:34:46+00:00\",\"dateModified\":\"2025-10-20T08:08:29+00:00\",\"description\":\"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#primaryimage\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/oled_display_mounted2.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/oled_display_mounted2.jpg\",\"width\":908,\"height\":437},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2019\\\/11\\\/15\\\/use-oled-display-with-arduino\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use an OLED Display with Arduino\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\",\"name\":\"vanslooten.com\",\"description\":\"Personal website of Fjodor van Slooten\",\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\",\"name\":\"Fjodor van Slooten\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"width\":300,\"height\":214,\"caption\":\"Fjodor van Slooten\"},\"logo\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\"},\"sameAs\":[\"http:\\\/\\\/vanslooten.com\",\"https:\\\/\\\/x.com\\\/fjodorvs\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Use an OLED Display with Arduino - vanslooten.com","description":"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino","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:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/","og_locale":"en_US","og_type":"article","og_title":"Use an OLED Display with Arduino - vanslooten.com","og_description":"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino","og_url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/","og_site_name":"vanslooten.com","article_published_time":"2019-11-15T09:34:46+00:00","article_modified_time":"2025-10-20T08:08:29+00:00","og_image":[{"width":908,"height":437,"url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg","type":"image\/jpeg"}],"author":"Fjodor van Slooten","twitter_card":"summary_large_image","twitter_creator":"@fjodorvs","twitter_site":"@fjodorvs","twitter_misc":{"Written by":"Fjodor van Slooten","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#article","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/"},"author":{"name":"Fjodor van Slooten","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"headline":"Use an OLED Display with Arduino","datePublished":"2019-11-15T09:34:46+00:00","dateModified":"2025-10-20T08:08:29+00:00","mainEntityOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/"},"wordCount":941,"publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg","keywords":["arduino","display","menu","oled"],"articleSection":["Education"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/","name":"Use an OLED Display with Arduino - vanslooten.com","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website"},"primaryImageOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#primaryimage"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg","datePublished":"2019-11-15T09:34:46+00:00","dateModified":"2025-10-20T08:08:29+00:00","description":"Use an OLED Display with Arduino Learn to use an OLED Display with Arduino","breadcrumb":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#primaryimage","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/11\/oled_display_mounted2.jpg","width":908,"height":437},{"@type":"BreadcrumbList","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2019\/11\/15\/use-oled-display-with-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/home.et.utwente.nl\/slootenvanf\/"},{"@type":"ListItem","position":2,"name":"Use an OLED Display with Arduino"}]},{"@type":"WebSite","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/","name":"vanslooten.com","description":"Personal website of Fjodor van Slooten","publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/home.et.utwente.nl\/slootenvanf\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd","name":"Fjodor van Slooten","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","width":300,"height":214,"caption":"Fjodor van Slooten"},"logo":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg"},"sameAs":["http:\/\/vanslooten.com","https:\/\/x.com\/fjodorvs"]}]}},"_links":{"self":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/2152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/comments?post=2152"}],"version-history":[{"count":42,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/2152\/revisions"}],"predecessor-version":[{"id":6541,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/2152\/revisions\/6541"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media\/2162"}],"wp:attachment":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media?parent=2152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/categories?post=2152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/tags?post=2152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}