Hello all! My name is Dominic. I'm an engineering scientist of nearly 20 years with a special interest and proficiency in Arduino and AVR-similar microcontrollers. I mostly work on the hardware side of development, but venture over to the software side when needed, especially for personal projects. And today, I'd like to share one with you all; the LiquidCrystal NKC library for Arduino IDE.
It all started a few weeks ago when I hastily ordered a "serial LCD module" off eBay thinking it was just another HD44780 LCD with an I2C backpack. The price was great and I really loved the amber on black, so I ordered it.
To my surprise, it was an HD44780 LCD, but further research lead me to discover that it was a proprietary LCD module by NKC Electronics with built-in support for I2C, RS232, and SPI interfaces. The only problem was the only Arduino library available for it looked half-finished and would've required a major rewrite of my project code to utilize just the basic functionality. But I didn't want to change my project code too much as I wanted to be able to swap back and forth between the NKC LCD and the PCF8574 LCD, and neither library was command compatible with the other.
So... I rewrote and redesigned the entire library!
The LiquidCrystal NKC library was born from the fusion of the SerialLCD and the LiquidCrystal I2C Arduino libraries, and is the latest addition to the LiquidCrystal family, enabling simple, yet extensive, universally compatible plug-n-play control of the advanced LCD display modules by Longtech & NKC Electronics.
My biggest goal when creating LiquidCrystal NKC was universal compatibility, especially as these NKC LCD displays aren't as mainstream as PCF8574 and MCP23017 LCD interfaces. So, to me, it seemed it would probably be a good idea to make it so people can switch back and forth between LiquidCrystal NKC and LiquidCrystal (I2C), and their respective displays, with little to no extra coding required. So LiquidCrystal NKC should be a perfect replacement library both ways when using the LiquidCrystal (I2C) compatible commands, which is most of them.
On that note, I have also added a few extra commands to the LiquidCrystal NKC library, as well as expanded a few, extending functionality with less overhead. These expanded commands are not LiquidCrystal (I2C) compatible, but hopefully they will provide the user an easier coding experience while offering greater control of the LCD display. I hope to add more features in the future, and am open to suggestions if there are features you all and the community would like to see. Let me know here or on the GitHub repo's Issues page.
For further information, here are some links of interest:
- The Official CHANGELOG
- Complete README File
- Latest Official Release
- Installation Instructions for Arduino IDE
- Installation Instructions for Manual Installation
- Hardware Connection Guide
- LiquidCrystal NKC Library Usage Guide
- Examples for Arduino IDE
- Contributions and Donations
Links to NKC Electronics Serial LCD Display Modules For Sale:
This is my first library of, hopefully, many, and one of my proudest works. So I'd like to thank you all for your time, use, and support. It means the world to me. I truly hope this library is of help to someone out there! So let's see what we can create!