All Projects → carlosefr → pcd8544

carlosefr / pcd8544

Licence: MIT license
Minimal footprint library for Philips PCD8544 LCDs on the Arduino.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to pcd8544

MD Menu
Menu system for displays with up to 2 lines
Stars: ✭ 49 (-43.68%)
Mutual labels:  lcd
libusb-win32
libusb-win32 project official github repo
Stars: ✭ 44 (-49.43%)
Mutual labels:  driver
staubli
ROS-Industrial Staubli support (http://wiki.ros.org/staubli)
Stars: ✭ 15 (-82.76%)
Mutual labels:  driver
ATtiny13-TinyUPS
Uninterruptible Power Supply
Stars: ✭ 92 (+5.75%)
Mutual labels:  attiny
tahoe-lafs-public-clouds
tahoe-lafs backend drivers for no-cost cloud providers
Stars: ✭ 25 (-71.26%)
Mutual labels:  driver
eruption
Realtime RGB LED Driver for Linux
Stars: ✭ 140 (+60.92%)
Mutual labels:  driver
faunadb-csharp
C# driver for FaunaDB
Stars: ✭ 55 (-36.78%)
Mutual labels:  driver
LowCDC-Win10x64
A lowcdc.sys driver package for Windows 10 x64. Supports AVR-CDC and Digispark devices.
Stars: ✭ 19 (-78.16%)
Mutual labels:  driver
BetterJoyForDolphin
Allows the Nintendo Switch Pro Controller and Joycons to be used with the Dolphin Emulator
Stars: ✭ 44 (-49.43%)
Mutual labels:  driver
tarantool.ex
Tarantool client library for Elixir projects
Stars: ✭ 26 (-70.11%)
Mutual labels:  driver
spydriver
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.
Stars: ✭ 24 (-72.41%)
Mutual labels:  driver
5110LCD PCD8544.swift
A Swift library for the Nokia3310/5110 PCD8544 Monochrome LCD display
Stars: ✭ 28 (-67.82%)
Mutual labels:  lcd
vertica-sql-go
Official native Go client for the Vertica Analytics Database.
Stars: ✭ 52 (-40.23%)
Mutual labels:  driver
r-exasol
The EXASOL package for R provides an interface to the EXASOL database.
Stars: ✭ 22 (-74.71%)
Mutual labels:  driver
pg async.rs
Asynchronous, HA (master-master) PostgreSQL driver on top of libpq.
Stars: ✭ 40 (-54.02%)
Mutual labels:  driver
keithley2600
Python driver for Keithley 2600 series instruments.
Stars: ✭ 26 (-70.11%)
Mutual labels:  driver
laravel-db2
laravel-db2 is a simple DB2 service provider for Laravel. It provides DB2 Connection by extending the Illuminate Database component of the laravel framework.
Stars: ✭ 56 (-35.63%)
Mutual labels:  driver
book linuxkernel blockdrv
Learn how multi-queue block device in Linux kernel v4.4 works
Stars: ✭ 69 (-20.69%)
Mutual labels:  driver
neo4j-java-driver-spring-boot-starter
Automatic configuration of Neo4j's Java Driver for Spring Boot applications
Stars: ✭ 33 (-62.07%)
Mutual labels:  driver
Apex-Legends-SDK
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.
Stars: ✭ 101 (+16.09%)
Mutual labels:  driver

What is it?

PCD8544 is a library for the Arduino to interface with LCDs based on the Philips PCD8544 controller (datasheet) or compatibles. These displays are commonly found on older monochrome mobile phones, such as the Nokia 3310 or 5110, so if you have one of these stuck in a drawer, take it out and start hacking away! :)

This library is meant to have a minimal memory footprint, small enough to be usable in an ATtiny85 with enough room left for your code. If you need graphics and other features and can spare the resources, check out the library from Adafruit.

PCD8544.png

Installation

Download the latest zip file from the releases section. Then open it from the Sketch > Include Library > Add .ZIP Library... menu inside the Arduino IDE and a new "PCD8544" entry should appear in the Sketch > Include Library and File > Examples menus.

Arduino IDE

How it Works

To use this library, you must first connect your LCD to the proper pins on the Arduino. For a Nokia 3310 display the connections would be the following:

Display Pin Arduino Pin
Pin 1 +3.3V Pin
Pin 2 (SCLK) Digital Pin 3
Pin 3 (SDIN/MOSI) Digital Pin 4
Pin 4 (D/C) Digital Pin 5
Pin 5 (SCE) Digital Pin 7
Pin 6 Ground Pin
Pin 7 10uF capacitor to Ground Pin
Pin 8 (RST) Digital Pin 6

For this display model, "Pin 1" is the leftmost pin when facing the back of the display with the connector on top.

Nokia 5110 displays are slightly different. They have an external oscillator pin between pins 5 and 6 which should be connected to +3.3V. I haven't used one of these myself, so please see the diagrams on this page for more details.

Since these LCDs are 3.3V devices, you should add extra components to connect it to the digital pins of the Arduino (not necessary if you are using a 3.3V variant of the Arduino, such as the Arduino Pro). However, the I/O pins are supposed to be 5V tolerant, so you can get by with 1K resistors in series with each pin if you like to live dangerously.

Now, take a moment and read through the included HelloWorld.ino example. It shows how to use the basic features of the library. There is also another Thermometer.ino example that demonstrates bitmapped graphics and charts.

Custom Symbols

The library allows the use of custom bitmap symbols (5x8), defined by an array of five bytes. To make it easy to create custom symbols, there's a graphical glyph editor available online.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].