In a lot of major cities there are LED-matrix displays at major bus stops showing when the next bus will arrive and whether it's running off schedule. King County metro is underfunded and can't do cool things like that, so we're going to do it for them.
The plan is to build arrival boards which display real-time information got from the Metro Automated Vehicle Location (AVL) system. The boards will go in the windows of stores near bus stops. Some stores, like coffee shops, may stand to gain a little business by telling people how much spare time they have, and might buy the boards at cost. For other locations, the boards could be funded by donations.
Real-time arrival API
King County Metro has a real time bus location feed, which is consumed and re-distributed by the University of Washington. The OneBusAway project at the UW maintains a system with a number of interfaces - iphone and telephone and webpage. I think I could get OneBusAway to provide a real time arrival API for use by the arrival boards. The API would take a bus stop number as printed on the stop, and return a list of arrival times and schedule deviations.
Looks like OBA has an API here: http://code.google.com/p/onebusaway/wiki/OneBusAwayApiReference
TODO check out OBA API
A computer or microcontroller that talks to the internet and displays bus stop times on the board. This component is also responsible for providing an interface to configure the board with the stop number and update frequency &c.
I figure I'd start with a laptop controller and hopefully move to a wifi controller once I settle on and acquire the hardware.
A laptop pings the API on a regular basis and sends display characters to the display board. Bulky, but easy for prototyping.
Arduino ethernet controller
Software aboard an Arduino hooked to an Ethernet shield pings the API and sends display characters to the board. Compact, but requires wired connection.
Arduino wifi controller
Software aboard an Arduino hooked to a Wifi shield pings the API and sends displays to the board. Compact and wireless, but relatively expensive.
Split Flap Display
This is a fun little project all of its own, and a nifty implementation would probably gain a lot of attention for the board
A split-flap display is like a motorized rolodex with numbers written on the cards. It's a lovely retro-cool way to display a character set. Wikipedia Entry
TODO Use wall power instead of board power for motor
TODO Integrate motor and flipboard into one unit
TODO Prevent flapboard from flipping forward while held straight up
TODO Reverse direction of digits so counting down only takes one flip
TODO Flapboard takes itself to home
TODO optional - blank flap, for displaying one-digit number like " 7" instead of "07"