Library for interfacing to Nokia 5110 LCD display (as found on the SparkFun website).

Dependents:   LV7_LCDtest LV7_Grupa5_Tim003_Zadatak1 lv7_Grupa5_Tim008_zad1 LV7_PAI_Grupa5_tim10_Zadatak1 ... more

This library is designed to make it easy to interface an mbed with a Nokia 5110 LCD display.

These can be found at Sparkfun ( and Adafruit (

The library uses the SPI peripheral on the mbed which means it is much faster sending data to the display than other libraries available on other platforms that use software SPI.

The library can print strings as well as controlling individual pixels, meaning that both text and primitive graphics can be displayed.

Revisions of N5110.h

Revision Date Message Actions
51:32f9ffeafb6d 2020-01-22 Undo overloaded constructor File  Diff  Annotate
50:e73cd097fdcb 2020-01-22 Added overloaded constructor for Gamepad2 File  Diff  Annotate
48:af12980ac515 2018-02-21 Re-generated documentation. File  Diff  Annotate
46:6de3ebf5b195 2017-11-27 Remove deprecated tag for drawSprite (used in ELEC1620 teaching).; ; Updated example code to use new setPixel(x,y,state) format. File  Diff  Annotate
45:97e54ea40dac 2017-11-06 Added example for new setContrast method. This can be used to set contrast in range of 0.0 to 1.0. 0.4 appears to be a decent default, but may need tweaking for different displays.; ; The init method also includes private methods that can be tweaked. File  Diff  Annotate
44:57f9d32fb521 2017-11-01 Separated out contrast, bias and temp coefficient methods. Modified init method to take this into account. Can now dynamically control contrast at run-time which makes it easier to account for natural variation between individual LCD displays. File  Diff  Annotate
42:596c207519de 2017-03-21 setPixel() now accepts a state parameter. clearPixel() deprecated File  Diff  Annotate
40:c9262294f2e1 2017-03-08 Add Bitmap rendering code File  Diff  Annotate
37:c708b92609aa 2017-03-07 Updated example code. File  Diff  Annotate
36:00ebd449b6f3 2017-03-07 Changed 'glyph' to sprite. Added docs. File  Diff  Annotate
35:2d5931a66fba 2017-03-07 Added sprite support (untested). File  Diff  Annotate
33:d80e568a2e18 2017-02-16 Use enumerations to make fill-types more self-explanatory File  Diff  Annotate
31:8a0c21042f82 2017-02-16 Add a destructor to free allocated memory File  Diff  Annotate
29:5bc91bd44c77 2017-02-16 Add const safety to prevent unintentional modification of parameters, and set types to unsigned int where appropriate File  Diff  Annotate
28:4091516537e4 2017-02-15 getPixel should be const (i.e., it doesn't modify anything in the LCD object) File  Diff  Annotate
26:36be85c20ef4 2017-02-07 Updated docs. File  Diff  Annotate
25:444e55e2e419 2017-02-07 Fixed docs. File  Diff  Annotate
24:342bdb6679a1 2017-02-07 Moved refresh() out of clear/printString/printChar methods. ; ; At every frame update, the buffer should be cleared using 'clear', then the frame constructed using printString/draw methods etc. Finally a call to refresh() will update the display. File  Diff  Annotate
23:eb7e6632fc9e 2017-02-01 Check for NULL pointer on pwrPin, use memset to zero out buffer. Ensure all pointers initialised to allow use with 'new' operator. File  Diff  Annotate
21:4cbdc20fea9f 2017-01-28 Added overloaded constructor that doesn't include the power pin being connected to GPIO. In this instance, the Vcc of the LCD must be tied directly to +3V3. File  Diff  Annotate
19:ba8addc061ea 2015-04-23 1) Replaced literal values in library with WIDTH, HEIGHT, BANKS etc.; 2) User now needs to manually call refresh() after drawing lines/circles/rects. Was previously in drawLine() and so sent the entire buffer to display after every line - very slow. File  Diff  Annotate
18:1af393359298 2015-04-22 printString() and printChar() updated so that strings/chars are cut-off after the 83rd pixel and fit on the display. Previously this would cause the buffer array to go out of bounds and cause a crash. File  Diff  Annotate
17:780a542d5f8b 2015-03-17 Added functions for drawing primitive shapes (lines, circles and rectangles). Can draw white, black and dotted lines. Can draw transparent (with outline), black fill and white fill circles and rectangles. File  Diff  Annotate
16:b37a3a260598 2015-03-10 Updated docs. File  Diff  Annotate
15:ee645611ff94 2015-03-10 (none) File  Diff  Annotate
14:520a02fc12aa 2015-03-10 Expanded example and modified printChar(). File  Diff  Annotate
13:908644099648 2015-03-10 Modified printChar() so that the character pixel data is written to the buffer, rather than being sent directly to the display. Means chars and setPixel() can be used together.; ; Expanded example code. File  Diff  Annotate
11:fc7d89b33e4c 2014-09-17 Changed LED pin number to match custom PCB. File  Diff  Annotate
10:6f3abb40202b 2014-07-16 Added example code to show how to use sprintf() to print data variables on the display. File  Diff  Annotate
8:40abe5736eca 2014-05-19 Added plot function (untested). File  Diff  Annotate
7:3010f24e0a81 2014-05-19 Modified refresh() function so that the address is reset to (0,0) before sending the entire screen buffer to the display. Ensures the origin of the buffer coincides with the top-left pixel. This may not be the case after printing strings. File  Diff  Annotate
6:adb79338d40f 2014-01-27 Documentation complete. Functions are all tested. Note that strings and characters are deleted from the display if the refresh() function is called.; ; TODO:; ; Instead of printing strings and characters to the display, they are written to the buffer. File  Diff  Annotate
5:6ea180eef702 2014-01-26 Updated docs. File  Diff  Annotate
4:e923c54c1c7d 2014-01-26 Updated docs. File  Diff  Annotate
2:e93021cfb0a9 2014-01-26 Added documentation and additional testing. File  Diff  Annotate
1:df68f34cd32d 2014-01-26 Started to add documentation. This commit is to test the publishing and documentation. File  Diff  Annotate
0:d563e74f0ae9 2014-01-26 Initial commit of library.; ; Testing and documentation to do. File  Diff  Annotate