{"id":1517,"date":"2018-09-29T13:00:03","date_gmt":"2018-09-29T12:00:03","guid":{"rendered":"http:\/\/chewett.co.uk\/blog\/?p=1517"},"modified":"2018-09-30T20:53:57","modified_gmt":"2018-09-30T19:53:57","slug":"128x32-i2c-ssd1306-oled-display-module-screen-for-arduino-review-and-code","status":"publish","type":"post","link":"https:\/\/chewett.co.uk\/blog\/1517\/128x32-i2c-ssd1306-oled-display-module-screen-for-arduino-review-and-code\/","title":{"rendered":"128&#215;32 I2C\u00a0SSD1306 OLED Display Module Screen for Arduino Review and Code"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1519\" data-permalink=\"https:\/\/chewett.co.uk\/blog\/1517\/128x32-i2c-ssd1306-oled-display-module-screen-for-arduino-review-and-code\/128x32_ssd1306_oled_review\/\" data-orig-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?fit=800%2C300&amp;ssl=1\" data-orig-size=\"800,300\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"128x32_SSD1306_OLED_review\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?fit=300%2C113&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?fit=678%2C254&amp;ssl=1\" class=\"aligncenter size-full wp-image-1519\" src=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?resize=678%2C254\" alt=\"\" width=\"678\" height=\"254\" srcset=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?w=800&amp;ssl=1 800w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?resize=300%2C113&amp;ssl=1 300w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?resize=768%2C288&amp;ssl=1 768w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_SSD1306_OLED_review.jpg?resize=50%2C19&amp;ssl=1 50w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/p>\n<p>Today I review the 128&#215;32\u00a0I2C\u00a0SSD1306 OLED Display Module Screen for Arduino and provide example code.<\/p>\n<p><!--more--><\/p>\n<h2>Overview of the 128&#215;32\u00a0I2C\u00a0SSD1306 OLED Display Module<\/h2>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1564\" data-permalink=\"https:\/\/chewett.co.uk\/blog\/1517\/128x32-i2c-ssd1306-oled-display-module-screen-for-arduino-review-and-code\/128x32_oled_main_image\/\" data-orig-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?fit=800%2C800&amp;ssl=1\" data-orig-size=\"800,800\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"128x32_oled_main_image\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?fit=300%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?fit=678%2C678&amp;ssl=1\" class=\"alignleft wp-image-1564\" src=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?resize=350%2C350\" alt=\"\" width=\"350\" height=\"350\" srcset=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?w=800&amp;ssl=1 800w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?resize=768%2C768&amp;ssl=1 768w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_main_image.jpg?resize=50%2C50&amp;ssl=1 50w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/>This OLED display module allows you to display any content you want on a small display screen. This unit is a single colour display. Using OLED technology this will draw slightly less power than a standard LCD display improving its use in low power environments.<\/p>\n<p>The OLED display driver uses the\u00a0SSD1306 driver IC which has a supported library on the Arduino. This allows easy control on the Arduino to draw and write to the screen.<\/p>\n<p>The approximate size of this module is\u00a038 * 12 mm which allows this to be a useful way to add a screen to a project while keeping the footprint low.<\/p>\n<p>A final advantage to this unit is that it can easily be used with various microcontrollers as it supports both 3.3 and 5-volt\u00a0power inputs. These are the two most common power levels among IC&#8217;s.<\/p>\n<h2>Wiring it up to the Arduino<\/h2>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1570\" data-permalink=\"https:\/\/chewett.co.uk\/blog\/1517\/128x32-i2c-ssd1306-oled-display-module-screen-for-arduino-review-and-code\/128x32_oled_wiring\/\" data-orig-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?fit=800%2C277&amp;ssl=1\" data-orig-size=\"800,277\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"128x32_oled_wiring\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?fit=300%2C104&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?fit=678%2C235&amp;ssl=1\" class=\"aligncenter size-full wp-image-1570\" src=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?resize=678%2C235\" alt=\"\" width=\"678\" height=\"235\" srcset=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?w=800&amp;ssl=1 800w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?resize=300%2C104&amp;ssl=1 300w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?resize=768%2C266&amp;ssl=1 768w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_wiring.jpg?resize=50%2C17&amp;ssl=1 50w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/p>\n<p>The OLED screen has four pins, left to right these are GND, VCC, SCL,\u00a0and SDA. I am going to wire GND and VCC to the Arduino&#8217;s GND and 5 volt pins respectively.<\/p>\n<p>The SCL and SDA pins have to be connected to the Arduino&#8217;s I2C pins. For my Arduino Uno these are\u00a0A4 (SDA), A5 (SCL). If you are not using an Arduino Uno you can find your Arduino&#8217;s I2C pins using <a href=\"https:\/\/www.arduino.cc\/en\/Reference\/Wire\" target=\"_blank\" rel=\"noopener\">the reference on the Arduino website<\/a>.<\/p>\n<h2>Programming the OLED screen to display Hello World<\/h2>\n<p>To program the OLED screen I am using the\u00a0<a href=\"https:\/\/github.com\/olikraus\/u8g2\" target=\"_blank\" rel=\"noopener\">U8glib library for monochrome displays<\/a>. library. If you are using the Arduino IDE you will need to install it using the Manage Libraries feature, the library name in the Arduino IDE is &#8220;U8g2 by oliver&#8221;.<\/p>\n<p>This library allows easy programming of the OLED screen allowing both text and standard graphical shapes.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">#include &lt;U8g2lib.h&gt;\r\n\r\nU8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);\r\n\r\nvoid setup(void) {\r\n  u8g2.begin();\r\n}<\/pre>\n<p>First the U8g2lib library is imported so that its functions can be used. Then the u8g2 module is initialized for the SSD1306 OLED display module. The parameter passed to the constructor sets the rotation to the default rotation level.<\/p>\n<p>There are a number of constructors for this module but this is using the I2C constructor to access the LCD display using the standard I2C pins.<\/p>\n<p>Then in the setup function, the communication with the OLED display module is started.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">void loop(void) {\r\n  u8g2.firstPage();\r\n  do {\r\n    \/\/keep this the same as it pages through the data generating the screen\r\n    u8g2.setFont(u8g2_font_ncenB14_tr);\r\n    u8g2.drawStr(0,20,&quot;Hello World!&quot;);\r\n  } while ( u8g2.nextPage() );\r\n\r\n  delay(1000); \r\n}<\/pre>\n<p>In the loop function, <code>firstPage()<\/code> is called to start drawing of the OLED.\u00a0 The drawing code is inside a <code>do while<\/code>\u00a0loop\u00a0 so that the library can efficiently page the data across to the OLED display. By including your drawing code inside the while loop you are able to adjust how the speed and RAM tradeoff.<\/p>\n<p>In fully buffered mode rendering the images onto the OLED display is much faster however it will use a lot more RAM. You can change the rendering mode based on the constructor to use less RAM. However reducing the amount of RAM used for rendering will slow down the render as it will render the images in several pages which is slower.<\/p>\n<p>Inside the loop I configure which font I want to use and then draw the string &#8220;Hello World!&#8221;. The first two parameters to the <code>drawStr<\/code> function are the <code>x<\/code>\u00a0and <code>y<\/code> position on the screen.<\/p>\n<h2>Review for the 128&#215;32\u00a0I2C\u00a0SSD1306 OLED Display Module<\/h2>\n<p>This simple OLED display allows you to easily add a display to any project. Its low power means that this LCD display is also useful for battery powered projects.<\/p>\n<p>Even though it is quite small (0.91 inches diagonally) the resolution of the OLED display is high. This means that it is easy to read the text displayed on the screen.<\/p>\n<p>Overall this is a really nice small display that can be used for many different uses. I will be writing further posts about drawing more complex data to the LCD display.<\/p>\n<p><strong>Would buy again!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I review the 128&#215;32\u00a0I2C\u00a0SSD1306 OLED Display Module Screen for Arduino and provide example code.<\/p>\n","protected":false},"author":1,"featured_media":1565,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"This weekend I have written about the 128x32 #I2C\u00a0SSD1306 #OLED Display Module Screen for #Arduino, reviewing it and providing a code sample","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[97],"tags":[132,295,296,288,294,297],"class_list":["post-1517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electronics","tag-arduino","tag-display-module","tag-i2c","tag-lcd","tag-oled","tag-ssd1306"],"wppr_data":{"cwp_meta_box_check":"No"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x32_oled_post_icon.jpg?fit=800%2C800&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p2toWX-ot","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1521,"url":"https:\/\/chewett.co.uk\/blog\/1521\/128x64-i2c-sh1106-oled-display-module-screen-for-arduino-review-and-code\/","url_meta":{"origin":1517,"position":0},"title":"128&#215;64 I2C\u00a0SH1106 OLED Display Module Screen for Arduino Review and Code","author":"Chewett","date":"December 8, 2018","format":false,"excerpt":"Today I review the 128x64 I2C\u00a0SH1106 OLED Display Module Screen for Arduino and provide example code. Overview of the 128x64 I2C\u00a0SH1106 OLED Display Module This rectangular OLED display module gives you a 128x64 pixel screen to display content on. This is a single colour model allowing for each pixel to\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x64_oled_post_icon.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x64_oled_post_icon.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x64_oled_post_icon.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/128x64_oled_post_icon.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2549,"url":"https:\/\/chewett.co.uk\/blog\/2549\/using-the-128x64-i2c-sh1106-oled-display-module-screen-with-a-wemos-d1-mini-esp8266\/","url_meta":{"origin":1517,"position":1},"title":"Using the 128\u00d764 I2C SH1106 OLED Display Module Screen with a WeMos D1 Mini (ESP8266)","author":"Chewett","date":"September 26, 2020","format":false,"excerpt":"In this blog post I talk about how you can use a 128\u00d764 I2C\u00a0SH1106 OLED Display Module Screen with a WeMos D1 Mini (ESP8266) using the Arduino IDE. Summary of the 128\u00d764 I2C\u00a0SH1106 OLED Display Module Screen The SH1106 OLED display module is a nice 128x64 pixel screen. This unit\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2020\/08\/wemos_128x64_sh1106_oled_screen_output.png?fit=1200%2C628&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2020\/08\/wemos_128x64_sh1106_oled_screen_output.png?fit=1200%2C628&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2020\/08\/wemos_128x64_sh1106_oled_screen_output.png?fit=1200%2C628&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2020\/08\/wemos_128x64_sh1106_oled_screen_output.png?fit=1200%2C628&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2020\/08\/wemos_128x64_sh1106_oled_screen_output.png?fit=1200%2C628&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1601,"url":"https:\/\/chewett.co.uk\/blog\/1601\/gy-521-mpu6050-3-axis-accelerometer-gyroscope-module-review-and-code\/","url_meta":{"origin":1517,"position":2},"title":"GY-521 MPU6050 3 Axis Accelerometer Gyroscope Module Review and Code","author":"Chewett","date":"June 13, 2020","format":false,"excerpt":"This post talks about using the GY-521 MPU6050 3 Axis Accelerometer Gyroscope with an Arduino. GY-521 MPU6050 3 Axis Accelerometer Gyroscope The GY-521 MPU6050 3 Axis Accelerometer Gyroscope is a relatively complex module. The gyroscope allows you to tell both the angle it is positioned in all three axis directions\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/gy521_mpu6050_accelerometer_post_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/gy521_mpu6050_accelerometer_post_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/gy521_mpu6050_accelerometer_post_image.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/gy521_mpu6050_accelerometer_post_image.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1526,"url":"https:\/\/chewett.co.uk\/blog\/1526\/sda-scl-i2c-twi-pins-on-the-arduino\/","url_meta":{"origin":1517,"position":3},"title":"SDA SCL I2C TWI Pins on the Arduino","author":"Chewett","date":"September 12, 2018","format":false,"excerpt":"This post details where the SDA SCL pins used for I2C\/TWI are available on Arduino's. I2C TWI pins on the Arduino The SDA and SCL pins are the used for communication using the I2C\/TWI protocols. These allow multiple devices to communicate the Arduino on a standard interface. Most Arduino's only\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/i2c_twi_pins_on_arduino.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/i2c_twi_pins_on_arduino.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/i2c_twi_pins_on_arduino.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/09\/i2c_twi_pins_on_arduino.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1393,"url":"https:\/\/chewett.co.uk\/blog\/1393\/setting-up-a-16x4-liquid-crystal-display-to-show-hello-world\/","url_meta":{"origin":1517,"position":4},"title":"Setting up a 16&#215;4 Liquid Crystal Display to show Hello World","author":"Chewett","date":"October 6, 2018","format":false,"excerpt":"This post describes how to use a 16\u00d74 Liquid Crystal Display unit to display the text \u201cHello World\u201d. Overview of the 16\u00d74 Liquid Crystal Display Module In this review I am using a 16\u00d74 Liquid Crystal Display module,\u00a0this LCD has 16 character\u00a0panels per row, and four rows. Using the Arduino\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/16x4_lcd_screen_main_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/16x4_lcd_screen_main_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/16x4_lcd_screen_main_image.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/16x4_lcd_screen_main_image.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1595,"url":"https:\/\/chewett.co.uk\/blog\/1595\/max-30100-heart-rate-sensor-for-arduino-review-and-code\/","url_meta":{"origin":1517,"position":5},"title":"MAX-30100 Heart Rate Sensor for Arduino Review and Code","author":"Chewett","date":"May 30, 2020","format":false,"excerpt":"This post talks about using the MAX-30100 Heart Rate Sensor with an Arduino. MAX-30100 Heart Rate Sensor The MAX-30100 Heart Rate sensor allows reading heart rate and is an integrated pulse oximeter. This allows roughly detecting the percentage of oxygenated blood and the rate at which your heart is beating.\u2026","rel":"","context":"In &quot;Electronics&quot;","block_context":{"text":"Electronics","link":"https:\/\/chewett.co.uk\/blog\/category\/electronics\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/heart_rate_sensor_post_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/heart_rate_sensor_post_image.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/heart_rate_sensor_post_image.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/heart_rate_sensor_post_image.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=1517"}],"version-history":[{"count":7,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1517\/revisions"}],"predecessor-version":[{"id":1572,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1517\/revisions\/1572"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/media\/1565"}],"wp:attachment":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=1517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=1517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=1517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}