Login Welcome to Works of Rowan Simms
Wednesday, September 28 2016 @ 11:42 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.


QuickLinks Plugin for glFusion : Release v1.0.1

glfFusion Solutions


There is a demonstration of this plugin running at http://rowansimms.com/ see "QuickLinks" block on the right side of the website.


QuickLinks Plugin creates a block that extends the functionality of the original GLFusion links plugin, infact it is a requirement that the original Links plugin is installed. Installing QuickLinks will add a block that displays the contents of the Links plugin in an easily accessible AJAX interface.

In detail the QuickLinks plugin creates a select box menu for each link category, and sub category, followed by the links listed in the category currently selected. The number of links shown is configurable through the administration interface and defaults at 10. Automatically pagination options will appear at the bottom of these links if the link count exceeds the set number. An option is also available to open any clicked links in a new window/tab rather than users navigating away from your page.

When changing the category an AJAX call is made to reload the links for the newly chosen category. Due to the nature of the call being AJAX the page does not reload, only the contents within the block change. As each link is from the Links plugin the QuickLinks plugin respectfully notifies the Links plugin when a link has been clicked by a user, therefore incrementing the 'hit' counter for that link.

The plugin uses the inbuilt security and permissions model of GLFusion, the inbuilt auto installer and takes advantage of the inbuilt MooTools javascript framework to complete the AJAX operations.

Download Latest Version

v1.0.1 QuickLinks for glFusion
tested with glFusion 1.1.4 to 1.2.0

ChangeLog in brief : Version 1.0.1
Corrected some issues that would fail W3C validation.
Corrected a PageRank SEO potential issue.
Full change log in article:
QuickLinks Plugin for glFusion : Release v1.0.1

gl_mooslide update for intervals and custom css

glfFusion Solutions

Proposed changes to the gl_mooslide javascript widget

glFusion v1.2.1 and up to allow for:

  • Multiple widgets per page
  • Custom CSS styling for each widget
  • Automatic scrolling between panes if set by the admin
  • Allow content for panes to be sourced from places other than staticpages 

Download the Patches for glFusion v1.2.0 to enable this functionality: gl_mooslide Patch
NB: This code is only relevant to glFusion v1.2.0 and has been included in glFusion v1.2.1 and higher.


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.


iTunes U Training Course

Welcome to the online training materials for Apple's iTunes U.

This series of podcasts are designed to give your institution a quick-start into iTunes U as well as offer some background information on how to approach iTunes U as a project team and some of the advanced features available.

If you are embarking on an iTunes U journey for your institution, it is a great idea to build your core project team and sit down to watch the associated podcast stream of this series together. Each video is five minutes or less, so an hour-long meeting allows for the core podcast collection to be viewed with ample time for discussion. I would recommend all core team members view at least the following podcasts:

Core Training


Specialty Areas coming soon

  • Advanced RSS for iTunes U
  • Advanced Metadata
  • Automating iTunes U : API
  • Understanding iTunes U Reporting
  • Authentication and Authorization: The Transfer Script
  • Reuse old work for great new content

If you are in need of assistance in any of these areas prior to the release of the podcasts, please contact me here.

All podcasts are recorded in high definition, AppleTV, format. iTunes software can help you convert this to other sizes you may need such as iPhone / iPod touch.

I offer services to assist institutions embarking on iTunes U and have successfully launched over 10 sites some through on-site consultancy and others remotely using an array of collaboration tools. Please do contact me should you wish to discuss your project. 

Please note that this material is not Apple endorsed, just to make sure there is no confusion.