{"id":15660,"date":"2016-09-21T10:00:05","date_gmt":"2016-09-21T17:00:05","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=15660"},"modified":"2016-09-21T10:17:15","modified_gmt":"2016-09-21T17:17:15","slug":"product-profile-pmod-oled-and-pmod-oledrgb","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/product-profile-pmod-oled-and-pmod-oledrgb\/","title":{"rendered":"Product Profile: Pmod OLED and Pmod OLEDrgb"},"content":{"rendered":"<p>You may recall a previous <a href=\"https:\/\/digilent.com\/blog\/display-tech-oled-displays\/\">post <\/a>regarding organic light emitting diode (OLED) technology. At the end of said post, you were promised a follow up about the two Pmod displays, the<a href=\"https:\/\/digilent.com\/shop\/pmodoled-organic-led-graphic-display\/\"> Pmod OLED<\/a> and the <a href=\"https:\/\/digilent.com\/shop\/pmodoledrgb-96-x-64-rgb-oled-display-with-16-bit-color-resolution\/\">Pmod OLEDrgb<\/a>, which\u00a0feature that\u00a0technology.<\/p>\n<p>First up, the Pmod OLED.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-15309\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/pmodoled.png\" alt=\"pmodoled\" width=\"600\" height=\"417\" \/><\/p>\n<p>The <a href=\"https:\/\/digilent.com\/shop\/pmodoled-organic-led-graphic-display\/\">Pmod OLED<\/a> is Digilent\u2019s most affordable display Pmod. It features a monochrome 128&#215;32 pixel display and measures in at about 2cm long (or tall) and just over 5.5cm wide. The low price and small board size make it pretty ideal if you want to add some text output functionality to a project. But how exactly does it work?<\/p>\n<p>The Pmod OLED utilizes a display controller chip which uses a serial peripheral interface (SPI) communication protocol to communicate. In order for this Pmod to function properly a specific power-on sequence must be used, as well as a power-off sequence once the display is turned off. Both of these can be found in the reference manual. Once the display has been powered on, you actually have a number of options for configuring how the screen displays data.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15666 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/OLEDConfigs-411x600.jpg\" alt=\"OLEDConfigs\" width=\"411\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/OLEDConfigs-411x600.jpg 411w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/OLEDConfigs.jpg 600w\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" \/><\/p>\n<p>Above are three images showing some of the\u00a0different outputs that can be achieved by changing how the display controller is configured. In order from top to bottom, you can see the standard orientation of the display, followed by a flipped orientation where the display is readable upside down, and finally an\u00a0inverted display in which the color and column data for each pixel is inverted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-15665\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/PmodOLEDBlog01.jpg\" alt=\"PmodOLEDBlog01\" width=\"641\" height=\"168\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/PmodOLEDBlog01.jpg 641w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/PmodOLEDBlog01-600x157.jpg 600w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/p>\n<p>In the screen shot of code above you can see\u00a0the primary bits of code related to how the display controller writes data to the screen. What is shown is the standard configuration found in the OLED Driver code written for the Pmod (and available in the<a href=\"https:\/\/digilent.com\/reference\/pmod\/pmod\/oled\/example_code\"> demo<\/a>), but if you wanted to flip the display around (as in the second image shown earlier) you would replace \u20180xA1\u2019 with \u20180xA0\u2019, \u20180xC8\u2019 with \u20180xC0\u2019, and \u20180x20\u2019 with \u20180x00\u2019 on lines 67, 68, and 407 respectively. More detailed information about changing configuration settings can be found in the display controller\u2019s documentation, but there are definitely\u00a0a few nifty things you can do with the display by changing how it is configured.<\/p>\n<p>The <a href=\"https:\/\/digilent.com\/shop\/pmodoledrgb-96-x-64-rgb-oled-display-with-16-bit-color-resolution\/\">Pmod OLEDrgb<\/a> is another low cost display option that can add graphical display functionality to your project. Like the <a href=\"https:\/\/digilent.com\/shop\/pmodoled-organic-led-graphic-display\/\">Pmod OLED<\/a> it is a very configurable display, however it is also capable of 16-bit color resolution.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-15310\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/pmodoledrgb.png\" alt=\"pmodoledrgb\" width=\"600\" height=\"481\" \/><\/p>\n<p>The Pmod OLEDrgb and Pmod OLED configuration processes are very similar as they are driven by very similar display controllers (SSD1331 and SSD 1306, respectively). However the Pmod OLEDrgb operates with configurable registers for each color, making it a bit more complex if you were to play with the configurations yourself. Digilent provides a library for the Pmod OLEDrgb (also provided in <a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodoledrgb\/start\">example code<\/a>) that allows you to jump in and use it to draw images yourself or display images.. Another <a href=\"https:\/\/digilent.com\/blog\/how-to-use-the-pmodoledrgb-display-with-chipkit-microcontroller-boards\/\">recent blog post<\/a> covers some basic usage of the Pmod OLEDrgb, so you can follow along and get a feel for how you can create designs of your own. Both the <a href=\"https:\/\/digilent.com\/shop\/pmodoled-organic-led-graphic-display\/\">Pmod OLED<\/a> and <a href=\"https:\/\/digilent.com\/shop\/pmodoledrgb-96-x-64-rgb-oled-display-with-16-bit-color-resolution\/\">Pmod OLEDrgb<\/a> offer a library framework for you to delve into to customize their functionality to suit your needs.<\/p>\n<p>How do you use displays to add functionality to your projects?<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-15660 jlk' data-task='like' data-post_id='15660' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-15660 lc'>+1<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-15660 jlk' data-task='unlike' data-post_id='15660' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-15660 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-15660 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Nate continues his series on graphical displays with a profile of the Pmod OLED and Pmod OLEDrgb!<\/p>\n","protected":false},"author":34,"featured_media":15671,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"ppma_author":[4486],"class_list":["post-15660","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-expansion-modules"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/07\/OLED_rgb_feat_sm.jpg","authors":[{"term_id":4486,"user_id":34,"is_guest":0,"slug":"naeastland","display_name":"Nate Eastland","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7de23bbc8005955a986e67e7e4d633a7?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Eastland","last_name_2":"","first_name":"Nate","first_name_2":"","job_title":"","description":"I am currently a student at Washington State University studying Electrical Engineering. I am originally from Southern California but I have spent most of my life in the Seattle area. Growing up I was always deeply \r\ninterested in the pure sciences like chemistry and physics. Throughout high school I began to look for ways that I could apply the theory I had learned. I chose to pursue engineering so that my interest in applied sciences could be used to solve real world problems."}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/15660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=15660"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/15660\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/15671"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=15660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=15660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=15660"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=15660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}