Adding the Nokia 5110 LCD to your Arduino data logger

From the comments on our ChipKIT based weather station using BME280 sensor module post, Edward Mallon writes:

A lot of us have ended up at this sensor / screen combination. But I couldn’t afford the extravagance of six dedicated control lines on our little pro mini based loggers.
However with some slight modification, you can drive the Nokia 5110 LCD with only 3 control lines, and power the display from a digital pin

More details thecavepearlproject.org.

Join the Conversation

2 Comments

  1. This is a follow-up to our post about using Nokia 5110 screens on three unused analog lines with shift-out​. That saved me from messing with the hardware SPI bus which we reserve for the SD cards. A secondary benefit is that the code is really lean, on the order of about 250 bytes for the default font after the compile if you already have EEprom.h in the build anyway. The font, however takes up about 500 bytes, and I wanted the smallest possible footprint so that we could add live data output to loggers that are already compile near the memory limits. As it turns out, stuffing those fonts into the internal EEprom was pretty easy to do:

    Using the Arduino’s Internal EEprom to Store Calibration Data & LCD Screen Fonts
    https://thecavepearlproject.org/2018/08/24/tutorial-using-the-arduinos-internal-eeprom-for-fonts-header-data/

  2. While I loved the Nokia 5110 LCD’s readability in full sun, the pressure sensitivity was a real problem for the underwater units. So I started noodling around with some cheap OLED screens from eBay.

    https://thecavepearlproject.org/2018/10/17/tutorial-adding-a-ssd1306-oled-screen-to-your-arduino-logger/

    With the exception of the init & XY functions (which are more complicated on the 1306 controller) the rest of the code ported over from the Nokia screen with no changes at all. My guess at this point is that the shift-out method will work with most of the other cheap OLED screens, provided they don’t exceed the pin current limits implied by my method.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.