Login Welcome to Works of Rowan Simms
Monday, September 26 2016 @ 01:39 AM EST

3 Pin HD44780 LCD for Arduino

Adding an LCD display to Arduino projects can add real value but the cost of doing so can be significant. Not a financial cost - you can pick up 16 (characters) x 2 (rows) LCD for as little as £3.50. The cost is the pin count it can take to drive them. Using the built-in LiquidCrystal Display library it can take as many as 6 pins! That does not leave much for your sensors, motors and other components.

There are many projects that discuss using alternatives - such as a much more expensive Serial LCD (£10 up). Other projects discuss using two-wire interfaces, increasing the complexity of your code. The simplest way to drive the HD44780 style LCDs, in my opinion, is to use a 74HC595 shift register, taking the pin count down to 3.


Hookup a 16-pin HD44780 LCD to an Arduino in 6 seconds

Expanding Arduino projects with an LCD can make good sense but sacrificing 6 pins to do so is a very high cost. If you have not already read 3 Pin HD44780 LCD for Arduino which discusses taking the 6 pin count down to 3 by using a 74HC595 Shift Register then please have a read of that first.

Connecting an LCD either using the 595 Shift Register or the more traditional way takes a lot of wiring which is not only a super mess (unless you use a ribbon cable I guess), it takes time.

The below shield is simplifies this process - all that is required is power and three wires back to the Arduino.


Arduino Syntax Highlighter


Arduino is an amazingly powerful, simple and enjoyable experience.
before and after picture
If you are a developer in programming languages other than Arduino then you probably have a favourite development environment. As I develop on a Mac, I generally prefer to develop in either Coda by Panic or SubEthaEdit by CodingMonkeys. If you scratch the surface of both you will find that they are essentially the same product, just Coda also includes SVN management, FTP services and host of other features.

Unlike the usual suspects of C#, PHP, Javascript etc, the syntax for Arduino was not recognised, which felt a little uncomfortable for me. This has now been fixed.

There is now a Google Project Arduino Syntax Highlighter which includes the downloadable syntax “Modes” for SubEthaEdit and Coda.

Download directly here: Arduino Syntax HighlighterI hope you enjoy. If you come across any problems or suggestions please enter them in to the Issues Tracker https://code.google.com/p/arduino-syntax-for-coda/issues/list


This project does not enable you to verify, compile and upload your sketch to the Arduino, it simply provides a pleasent experience when editing these sketches in Coda or SubEthaEdit.

This project is compatible with .pde and .ino extensions of Arduino projects.

New version announcements are made using the arduino-syntax-for-coda-announce mailing list, please subscribe to be notified of updates.


Cat's Whisker's TextStar LCD Display


I have been looking for a well thought out LCD display for my Arduino projects for some time and recently came across the TextStar LCD from Cat's Whisker Technologies. After reading the data sheet I immediately ordered one.

The TextStar LCD features four customisable buttons next to the LCD, it is super small and thin (50mm wide x 26mm high x 6mm thick) and has a very cool feature allowing it to handle more than the two lines of data on display. The unit allows the creation of "virtual" lines which means you can write up to 16 lines of information to the unit and scroll the visible display to the consecutive two you wish to have visible. There are plenty of other features of this display, those that use servo's a lot will love some of the onboard monitoring it is capable of. As these are less relevant to my current projects I will not be covering these features here.

I spent a few hours seeing what this thing can do and here are some of my findings with Arduino code for your downloading pleasure.