- Edited
I really like the Adafruit USB/Serial backpack because it is inexpensive and it can be coupled with inexpensive LCD's, yielding a solution comparable to the MatrixOrbital products at about 1/3 the cost (and no, I'm not associated with Adafruit, I'm just a satisfied customer )
There are a few little quirks that bothered me and I found somebody else already addressed almost all of them and was kind enough to create a makefile along with necessary Teensy 1.0 libraries that can be compiled directly with avr-gcc and written to the device via USB connection with avr-dude.
https://github.com/CanyonCasa/BackpackPlus
Most interesting features:
Extra pins are now GPIO instead of only GPO. This means there are extended commands available to either read or write a pin, so the USB backpack can also be used for pushbutton or other low-speed inputs.
Reorganization of EEPROM (there were some conflicts in the Adafruit code that cause strange behavior)
Support for timed display on state.
More detailed information is in the README
There was one little thing that was bothering me about this. When you power on the unit it blinks some configuration data (baud rate). This is a great feature for development, but when you finalize a project this feature detracts from the polish and shine of the user experience, so I wanted a command to disable it when it is no longer needed:
https://github.com/transmogrifox/Adafruit_USB_Backpack_Plus
My code is nothing more than a shameless fork of CanyonCasa USB Backpack Plus with the addition of a control command to disable the config data on startup and an improved switch debounce routine suggested by Jack Gannsle.
Other than that I removed superfluous/redundant stuff that you can get from CanyonCasa's github (like original Adafruit code, EEPROM images, etc). That way the process of hacking the code and burning to your unit is more focused.
Either way I thought I would share this in case anybody is using the USB backpack but wants the added features.
Probably one of the most valuable things CanyonCasa did was to assemble a build system that makes it easy to modify the USB backpack code to taste.