Tag Archives: SSD1306

Using I2C SSD1306 OLED Display With Arduino

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]

Add OLED Display To Your Projects With TeensyView

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.

You can know more in-action details by checking this SparkFun tutorial and checking theses links SchematicEagle FilesDrawing BitmapsOLED Memory MapDatasheet (SSD1306), Arduino Library, and GitHub!

Source: SparkFun

Choose The Best Display For Your Arduino Project

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.

6851997-danbo-wallpaper

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 emissive electroluminescent 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.

color_oled

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.

lg-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!

Color TFT Display ST7735, White OLED Display SSD1306 and 3.5″ Color TFT Display are all mentioned in the tutorial. You should check it out for more details, information, and some hardware offers.

The tutorial concludes with this interactive table based on different criteria, this is ordered progressively by price. You can compare between displays here.

display

A LEGO-Compatible Digital Weather Billboard

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!

Through the IoL blog, Cory shares a collection of circuit projects, coding examples, and tutorials which use Arduino, Raspberry Pi, NodeJS, Node-RED, and LEGO.

cover

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.

The hardware materials needed for this project:

  1. Raspberry Pi
  2. WeMos D1 mini
  3. OLED 128×64 I2C screen
  4. 2x LEDs
  5. 2x 220 ohm resistors
  6. Breadboard and wires
  7. LEGO bricks!

And the required software:

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.

WeMos D1 mini top and bottom faces
WeMos D1 mini top and bottom faces

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.

Adafruit Monochrome 1.3" 128x64 OLED graphic display
Adafruit Monochrome 1.3″ 128×64 OLED graphic display

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.

billboard-fritzing

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.

ESPEasy Firmware on Arduino IDE
ESPEasy Firmware on Arduino IDE

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.

Node-Red is pre-installed on the Raspbian Jessie image. Run the software and download this flow. It will accept an MQTT message on the topic “/sensors/iolcity/weather/#” and transmit it to the WeMos on the topic “/billboard/cmd”. Function nodes will format the message using JavaScript.

Node-RED Billboard MQTT Flow
Node-RED Billboard MQTT Flow

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.

Further information and detailed description are available at the original project page.

CHIP Computer Project: CPU Temperature Monitor with OLED display SSD1306

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]

ESP8266 based plane spotter

image-3-600

A how-to on building an ESP8266 based plane spotter from Daniel Eichorn:

In order to get this project running you’ll need the following list of hardware:

  • NodeMCU ESP8266 module or Wemos D1 Mini
  • 0.96″ SSD1306 OLED display
  • A few connectors and USB Wire
  • Or order a complete starter kit from my shop

ESP8266 based plane spotter – [Link]

ESP8266: SSD1306 Oled Library Release


Daniel Eichhorn writes:

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.

ESP8266: SSD1306 Oled Library Release – [Link]

ATtiny85 Game Console

IMG_0165B

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.

ATtiny85 Game Console – [Link]

ATtiny85 Ring Watch

FUWFMUQIKFQ06NI.MEDIUM

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 $_$)

ATtiny85 Ring Watch – [Link]

RELATED POSTS