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]
The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. You can program for the Teensy in your favorite program editor using C or you can install the Teensyduino add-on for the Arduino IDE and write Arduino sketches for Teensy.
The processor on the Teensy also has access to the USB and can emulate any kind of USB device you need it to be, making it great for USB-MIDI and other HID projects. The 32 bit processor brings a few other features to the table as well, such as multiple channels of Direct Memory Access, several high-resolution ADCs and even an I2S digital audio interface! you can learn more about Teensy by visiting this page.
SparkFun had launched a new add-on to Teensy that can make it possible to add to it display functions. The SparkFun TeensyView brings you an easy way to add a small, white-on-black OLED to your Teensy development board. The 128×32 monochrome display is controlled with the popular SSD1306 IC, and is a great way to display debug information and to visualize data without the need for a serial terminal. The board matches the Teensy 3 form factor perfectly, and was designed from the ground up to be as flexible as possible while still being able to nest down into a low-profile addition for the Teensy.
The TeensyView comes with everything you need except the headers. Additionally, there are jumpers on one side of the board that allow you to configure how the OLED communicates with the attached Teensy. Since this is a headerless board, you have the option to solder on whatever type of header best fits your needs. Headers you may find useful with this product include the Teensy Header Kit, Straight Headers, Long Straight Headers and Female Headers.
Teensy 3.2 is available at SparkFun for $19.95 and TeensyView is available for $14.95. TeensyView right now is out of stock but you can still follow up and get a notification once it returns to stock.
Have you ever been unsure which display you should be using in your next project? This tutorial from educ8s.tv will come in handy for choosing the best display for your each and every Arduino project!
There are lots of choices, so let’s talk about each one of them. Basically, you have three types of displays: LCD displays, OLED displays, and E-paper displays.
LCD displays: LCD (liquid crystal display) is the technology used for displays in notebook and other smaller computers. Like light-emitting diode (LED) and gas-plasma technologies, LCDs allow displays to be much thinner than cathode ray tube (CRT) technology. LCD display is a flat-panel display or other electronic visual display that uses the light-modulating properties of liquid crystals.
One of the famous LCD displays is Nokia 5110 LCD display, a basic graphic LCD screen for lots of applications. It was originally intended for as a cell phone screen.
Its controller is a low power CMOS LCD controller which makes it a good choice for low-consumption projects. It uses only 0.4mA when it is on and less than 0.06mA when in sleep mode. You have to use this library and you don’t need more than 8 wires to start using this display. This tutorial video will show you with details how to use Nokia 5110 LCD with Arduino:
A second choice is the OLED displays. OLED is an organic light emitting diode in which the emissiveelectroluminescent layer is a film of organic compound that emits light in response to an electric current. An OLED display works without a backlight; it can display deep black levels and can be thinner and lighter than a liquid crystal display. Thus, it is provides better contrast than the LCD choice but it becomes a bit more expensive.
One of the newest OLED displays is the color SSD1331 display that can display 65.000 colors. Just download its library from Adafruit and start using it. A video explaining how to use it is available here.
The last type is E-paper displays, that mimic the appearance of ordinary ink on paper.
Unlike LCD or OLED displays, these displays reflect light instead of emitting it. Such displays are great for low power projects since they have the ability to keep the text or the image you had set before for a really long time and without electricity. One of these displays disadvantages that they are absolutely costly compared with other choices, some displays can reach $60!
Internet of LEGO “IoL” is an interactive LEGO city built and designed by Cory Guynn, a cloud computing and IoT enthusiast. This project combines computer and electronics engineering with our favorite childhood toy, LEGO!
A recently added project is a digital billboard that broadcasts the weather information from IoL local weather station. It uses a Raspberry Pi running Node-RED to collect weather data from the local station and display it on an OLED screen powered by an ESP8266.
WeMos D1 mini is a cheap mini wifi board based on ESP8266 and compatible with Arduino and NodeMCU. It has 11 digital I/O pins that support PWM, I2C, and interrupts, and has only one analog input with a microUSB connector. The WeMos D1 is available for only $4 and is supported by many shields.
The 128X64 OLED is about 1.3″ display, it is very readable due to its high contrast. This display is made of 128×64 individual white OLED pixels, each one is turned on or off by the controller chip. No backlight is required because the display makes its own light, which reduces the power required to run the OLED.
OLED’s driver chip, SSD1306 can communicate in two ways: I2C or SPI. The OLED itself require a 3.3V power supply and 3.3V logic levels for communication.
The display uses I2C connection at this project, so you will need to solder the two jumpers (SJ1/2) on the back of the OLED, then use the ‘Data’ pin as ‘I2C SDA’ pin and ‘CLK’ pin as ‘I2C SCL’. The WeMos D1, OLED, LEDs, and resistors are connected as shown in the figure.
To simplify configuring WeMos D1, a special firmware called “ESPEasy” has been used. It is a free and open-source web configurable software framework for IoT, which allows the device to be configured using the web browser instead of writing codes.
ESPEasy can be uploaded to the WeMos D1 using the Arduino IDE by installing the ESP8266 board support from Boards Manager, and then uploading the ESPEasy firmware as described in this tutorial.
MQTT is a lightweight machine-to-machine publish/subscription messaging protocol. It works like Twitter where each device will subscribe and/or publish to a topic, much like a #hashtag, and the payload will then contain the data being transmitted.
Mosquitto is a free open source broker that works perfectly on a Raspberry Pi. It is a MQTT server manages the MQTT message flow, and connects with all devices.
The last step is configuring the Raspberry Pi on the weather station for sending the information to the billboard. An easy way for that is using Node-Red, a visual tool for wiring together hardware devices, APIs and online services for IoT applications.
You can use it with your own weather station or any other sources of data, just change the MQTT input nodes to match your topics. To build a weather station check this IoL project and this ChipKIT-based station. Alternatively, you could get weather data using the Weather Underground service with the Node-RED node.
Today educ8s.tv is going to connect an OLED display to the CHIP 9$ computer in order to monitor its CPU temperature in real time.
I received the CHIP single board computer about a year ago. It is an impressive board, it costs $9 and it offers a 1GHz CPU, 256MB of RAM wifi Bluetooth and many more things. You can watch my review of the CHIP computer by clicking on the card here. As you can see the CHIP computer is a lot smaller than the Raspberry Pi 3 board and of course it costs a lot less. One year later, the software developed for the CHIP computer is mature and we can easily build some projects with it
CHIP Computer Project: CPU Temperature Monitor with OLED display SSD1306 – [Link]
The “ESP8266 OLED SSD1306″ is an open source library which allows you to control those pretty OLED modules from our beloved ESP8266 module. Fabrice Weinberg cleaned up all the ugly pieces of code which I initially wrote caused by my near C/C++ illiteracy. He also added support for Pasko’s BRZO I2C library which is partially written in assembler and allows a much higher throughput over the I2C channel.
webboggles.com has designed a SSD1306 OLED Screen based game kit using an ATtiny85 microcontroller. They also sell it as a kit to assemble it yourself.
The new snap case has been updated to allow enough height for the screen header as well as a factory made CR2032 battery holder.
The buttons have been concealed to prevent spontaneous button presses inside bags and pockets.
This is a great ATtiny85 watch that uses a SSD1306 OLED display and is powered by a CR1220 battery.
Today core subject, ATtiny85. Someone suggest me to use SOIC version to reduce the watch size and I found the coin cell mAh calculation method will count the battery voltage down to 2.0 V, so this watch require a low voltage version MCU to keep it stable. So I have ordered an ATTINY85V-10SU. (much expensive $_$)