Category Archives: Arduino

Serial Backpack for Avago HDLx-2416 Using Teensy

I purchased an Avago HDLS-2416 display from eBay a while back for my refrigerator monitor project (Fridge Squid FTW!).  This is a really nice compact 4-character 5×7 alphanumeric display, extremely bright and readable.

Unfortunately it was the wrong part; the 2416 is a parallel display, requiring 16 pins for normal operation.  What I *should* have ordered was a HCMx-29xx display, which is a serial device that already has Arduino support (check out the library on the PJRC site).

Last week while researching batch PCB creation on the dorkboxpdx site I stumbled across an interesting post by Ward Cunningham (yes, THAT Ward Cunningham).  In this blog post Ward describes how the 2416 is a near-perfect fit for the Teensy USB development board, a tiny AVR-based board from PJRC.  While Ward’s post focuses on using Txtzyme via the USB port to drive the display, it got me thinking about how to turn this display into a simple serial device that wouldn’t use up all of the ports on my Arduino.

I already had a couple of Teensy boards in my collection from my initial Arduino purchasing frenzy; I picked them up before I discovered the Arduino FIO, which is a much better fit for my wireless sensor project.  Sure enough, the 2416 display fits the Teensy like a glove, almost like they were made for each other.  I initially thought that I’d mount the display using low-profile female headers; soldered the headers on the board, plugged in the display, and…nothing.  Turns out that the pins on the Avago display are far too fine to make reliable contact with the female header that I had installed.  Oops.

I’ve gotten pretty good at soldering over the last couple of months, but desoldering? Not so much.  Removing the female headers took some doing, but eventually I got them removed and soldered the display directly to the Teensy.  Plugged everything in, uploaded Txtzyme to my Teensy and ran Ward’s yow! Perl script.  Very close – alpha characters worked fine, but no numerics or punctuation.  A bit of debugging and I found the problem.  In my haste to remove the female headers I had accidentally pulled the solder pad from one of the Teensy’s pins; a quick jumper to another digital pin, quick change to the perl script, and everything was right with the world again.

I spent some time banging out a simple bit of code to run on the Teensy, and will post the library up on my GitHub account once I’m happy with it.

This could be a nice solution if you wanted to include a HDLx-2416 or similar but were running out of digital outputs on your microcontroller.  This solution provides display integration with a single serial pin, rather than the five required for the serial HCMx-29xx serial display.

Edit: 7/24/2011: Found a source on EBay selling a bunch of these for a very reasonable price ($12.50); check out the auction here.

Hacking Eaton HomeHeartbeat Part 4: Why Bother?

It’s been asked. Why bother? Seriously? HomeHeartbeat was hot sh*t back in 2005, but isn’t it showing it’s age now?

All valid questions. Consider this, however – let’s say, for the sake of argument, that you were just now getting into home automation. You really like the idea of building up a dataset of what’s happening in your house – how often doors are left open, lights are left on, etc. You want to make sure that lights are never left on in unoccupied rooms; you have a feeling that this happens a lot, but you really don’t have any proof. Say you want to know just how hot your attic gets in the summer, and whether or not that is a contributing factor to why the upstairs of your house feels like a bloody toaster in August. Continue reading