Sometimes it may be necessary to use a display when making a hardware project, but one confusing thing is the size of the display and the required pins to control it. This tutorial will show you how to use a small I2C OLED display with Arduino using only two wires.
The display used in this tutorial has a very small (2.7 x 2.8cm) OLED screen, that is similar to Arduino Pro Mini size, with 128 x 64 screen resolution. The OLED Driver IC is SSD1306, a single-chip CMOS OLED/PLED driver with controller for organic / polymer light emitting diode dot-matrix graphic display system. The module has only 4 pins, two of them are the supply pins, while the others are SCL and SDA, I2C protocol pins, which will be used to control the display.
Using I2C SSD1306 OLED Display With Arduino – [Link]
Arduino is pretty much famous for the numerous shields it has. These plug-and-play shields make our life a lot easier while working on some complicated projects. Among all other shields, graphic shields are getting more and more popular. A graphic shield lets you show text, numbers, shapes, and even small images on a screen, using Arduino. VGADuino-II is a new graphic shield whichlets you use your TV or any monitor with VGA 15 pin as a large screen for Arduino.
It’s very exciting that you won’t have to rely on those small displays which are stacked on the shield itself, anymore. Rather you are getting a whole TV or VGA monitor to display your data. As Masih Vahida, the creator of VGADuino, says:
VGADuino is a shield that is made for Arduino with all the libraries and samples that user can easily stack it on the Arduino board and starts programming. it can connect Arduino to any kind of TV or Monitor with VGA 15 Pin connector.
Internal functions to draw various shapes with AT-Commands and Arduino libraries
11 Different font sizes with standard ASCII characters support
256 color, 8bit RGB format
Having access to each pixel individually
Standard VGA DB15 output
Screen resolution: 800×600 60Hz
Actual pixels: 400×300 60Hz
In VGADuino-II, NXP-LPC1756 ARM chip is used as the main microcontroller and XILINX XC95144XL CPLD for refreshing the display and taking care of the sync signals. There is also an SD Ram to keep the screen’s pixel color data.
In this version of VGADuino, each pixel is one byte, that means each pixel has 256 colors which are in standard 8bit RGB format. (3 bits for Red, 3 bits for Green and 2 bits for Blue).
It communicates with Arduino over UART using predefined AT command set. All relevant Arduino libraries are available to implement in code. The user can choose among all 11 fonts with definable background and foreground color of text.
VGADuino-II is available for $79. You may go here and back the Kickstarter project to get a VGADuino-II. All the groundbreaking features offered by VGADuino-II are making it a value for money. There is no risk at all. The design is tested and completed by the maker.
Winstar’s WEO012832F is a small OLED display featuring 128×32 pixels in a 0.91 inch diagonal screen, suitable for wearable devices. by Julien Happich @ edn-europe.com:
The WEO012832F module comes with a built-in SSD1306BZ controller IC, it supports an I 2C interface and a 14-pin FPC pinout. Standard emitting colours for the WEO012832F are available in white, sky blue and yellow. The WEO012832F features a COG structure OLED display, the built-in voltage generation only requires a single 3V power supply. This lightweight 30.0×11.5×1.45mm OLED module can operate at temperatures from -40℃ to +80℃.
Today I am going to discuss how to make a very simple DIY Breathalyzer using Arduino UNO and few external components. Ana Carolina designed this project as an instructable in instructables.com. This is a low-cost project and a useful one too. If you have no idea about what breathalyzer is, let me explain briefly: A breathalyzer is a device for estimating blood alcohol content (BAC) from a breath sample. Check the link given for more information.
MQ-3 Alcohol Sensor
128×64 LCD (Liquid Crystal Display)
7 × 330 Ohm Resistor
7 × LEDs (1 Red, 2 Yellow, 3 Green and one other color)
Soldering Iron (optional)
Solder Wire (optional)
This project is very simple. Here we are using an array of six LEDs and a 128×64 LCD to display the alcohol level. The presence of alcohol is sensed by an MQ-3 alcohol sensor and then analyzed by an Arduino board. We are using Arduino UNO in this project, but any model can do the job.
Three Green LEDs represent that alcohol level is OK and within the safe limit. Two Yellow LEDs are used to describe that safe limit is going to be reached, and you know it well why the Red LED is there. In fact, those LEDs are used just to give you a quick idea. If you want to know the exact value, the display is there for you.
You can tweak the program and re-calibrate the breathalyzer. But you must remember that breathalyzer doesn’t precisely measure your blood alcohol content, rather it estimates a value from the amount of alcohol in your breath.
You can make the circuit also on PCB or Veroboard. But for the prototyping purpose, the breadboard is the best choice. You can see how straight forward the connections are.
Some part of the original code was in Portuguese. So I have translated it into English. Also, the original code shared by the author in instrucatbles.com is a buggy one. So, I recommend you to use my bug-free code instead of the original one.
Please note that you have to download and add the u8glib library in Arduino IDE beforehand. It is very important. You can either download the u8glib v1.14 library for Arduino directly or go to the site and choose what to download.
Follow the given steps to add a .zip library in your sketch: Open IDE and click on Sketch → Include Library → Add .zip Library. Now select the downloaded .zip library file. You needn’t unzip it.
When everything is done, verify and upload the code to Arduino.
I must not recommend you to drink alcohol just for testing the breathalyzer. Rather get a towel and spray alcohol on it. Now hold the towel in front of the sensor. Move it back and forth to observe the change in reading. It may take a while for the breathalyzer to stabilize.
Consider watching the video for a better understanding:
In this video tutorial educ8s.tv shows us how to load bitmap graphics in our Arduino Touch Screen projects using Adafruit’s GFX library.
The procedure that I am going to describe works with all the color displays that are supported by Adafruit’s GFX library and by the displays that use the TFTLCD library from Adafruit with a small modification. So from the displays I own I can use the color OLED display, the 1.8” ST7735 color TFT display, the 2.8” Color Touch Screen that I reviewed a few weeks ago and the 3.5” Color TFT display. You can find links for all the displays below.
Bitmap graphics on an Arduino Touch Screen and other top Arduino Displays – [Link]
In this video tutorial educ8s.tv show us how use the TCS230 color sensor with Arduino:
Hey guys, I am Nick and welcome to educ8s.tv a channel that is all about DIY electronics projects with Arduino, Raspberry Pi, ESP8266 and other popular boards. In this video we are going to learn how to use the TCS230 color sensor, a very interesting sensor. I have built a simple project to demonstrate that this sensor is really capable. I use an Arduino Uno and a 1.8” Color TFT display and of course the color sensor. As you can see, the sensor detects the colors and it displays them on the screen. The color we get on the screen is pretty close to the real color of the object. Cool isn’t it? Now, let’s see the parts that we need in order to build this project.
Using a Color Sensor (TCS230) with Arduino Uno and ST7735 color TFT display – [Link]
The concept of web controlled notice board is getting more popular day by day for its wide range of applications in the practical field. As an IoT project, simple web controlled notice board can be made using a Raspberry Pi. Saddam at CircuitDigestdesigned the project where you can send the notice message through web browsers and it will be displayed on a 16×2 LCD display connected to the Pi.
In this Web Controlled Notice Board, we have created a local web server for demonstration, this can be a global server over the internet. At the Raspberry Pi, we have used 16×2 LCD to display message and Flask for receiving the message over the network. Whenever Raspberry receives any wireless message from a Web browser, it displays on the LCD.
Raspberry Pi 3 (any model)
Wi-Fi USB adapter (if you’re not using Raspberry Pi 3)
Power cable for Raspberry Pi
The circuit is very easy to make and uses Raspberry Pi as the brain. Few external components are used. You just need to connect the display to Raspberry Pi as per following instructions:
RS, RW and EN pins of LCD are directly connected to pin 18, GND and 23. Data pins of LCD D4, D5, D6, D7 are directly connected to Raspberry Pi’s GPIO 24, 16, 20, 21. A 10K pot is used to control the brightness of LCD.
NOTE:If you are not using Raspberry Pi 3, you must use a USB to Wi-Fi adapter for lower versions of Raspberry Pi as they don’t have inbuilt Wi-Fi like Raspberry Pi 3.
The Coding Part:
Coding is the most important part of this project. Here you need only two codes:
One is an HTML code to create the web page.
Another one is a Python script, that uses Flask as mentioned earlier.
In the HTML code, a simple text box and a submit button are created so that you can enter a Notice Message in TextBox and then submit it to the server by clicking on Submit button.
The Python script is used to send data to the server (Raspberry Pi) and show the data i.e Notice Message on the LCD display. One thing to keep in mind, you should install Flask first using the command:
$ pip install Flask
Now install required libraries for Flask, and define display ports:
from flask import Flask
from flask import render_template, request
import RPi.GPIO as gpio
import os, time
app = Flask(__name__)
Originally developed to promote the teaching of basic computer science in schools and developing countries, the first Raspberry Pi delivered good performance at a very low cost. However, the latest Raspberry Pi 3 compute module boasts significant performance and networking capabilities, making it perfect for NEC displays.
Raspberry Pi announced the compute module about two years ago, which is primarily designed for those who are going to create their own PCB. It is a small 67.6x30mm board that fits into the standard DDR2 SODIMM connector, with integrated BCM2835 quad-core 1.2GHz processor, 512MB of RAM, and 4GB eMMC Flash device. The board is no longer a basic computer for coding, but a reliable intelligent device with unlimited possibilities. In addition to the standard Raspberry Pi 3 compute module, NEC will also offer a customized model to meet the specific performance demands of the display industry.
“When we started Raspberry Pi, we had one main goal of helping people learn about computing and how to make things with computers. However, we’ve been fortunate enough to have sold 10 million Raspberry Pis so far and the commercial success has led to the third generation of a more mature and powerful technology which can be used with NEC’s intelligent display. Our work on the Raspberry Pi mini-computers is driven by the huge community of developers whilst NEC’s work is driven by industry needs, enabling us to meet the demands of the AV and IT industry. Overall, this collaboration shows NEC’s confidence with our ability to provide a platform that can be used in a variety of environments.” said Eben Upton, CEO at Raspberry Pi Trading.
The new NEC displays allow easy access to embedded intelligence smartly connected to Internet of Things (IoT) for digital signage as well as presentation use. The elegant design of the displays is suitable for smooth installations in any environment. There’s also the chance to customize the screens to individual needs, making the displays more reliable anywhere and anytime.
The displays will be available in January 2017 starting with 40″, 48″, and 55″ models and will eventually scale all the way up to a monstrous 98″ by the end of the year.
“Our strategic initiative to team up with Raspberry Pi is an example of how we continue to ensure that organisations in any sector have the most advanced technology in place to meet their application needs. Our open platform approach provides display intelligence at any time, thanks to our modular and interchangeable design. Integrating the Raspberry Pis with our displays will provide businesses with advanced technology suitable for digital signage, streaming and presenting to enhance the overall visual experience at an affordable price point,” said Stefanie Corinth, Senior Vice President Marketing and Business Development at NEC Display Solutions Europe GmbH.
In this video, Thomas Walter – the Head of Product Marketing at NEC, talking more about what’s going on behind the screens.
Rupert Hirst build a tiny OLED PC performance monitor based on Psyrax’s serial monitor. The display monitors CPU and GPU temperature and activity etc. He writes:
After a recent purchase of a Nvidia GTX1080 graphics card, 4k monitor plus Doom(2016), I thought it would be great to see some external telemetry… from my exorbitant purchase.
Then, I Stumbled upon on Psyrax’s “Serialmonitor” GitHub repository! Armed with an Arduino ProMicro plus a 128×64 pixel OLED display, I compiled the source code. After compiling Psyrax’s windows application in Visual Studio, I got to work.