In the not so distant past, engineers - like gunslingers! - had slide rules strapped to their belts, itchy fingers fidgeting nearby, ready to whip it out and calculate at the drop of a hat. With the advent of IC CPUs scientific calculators replaced them. Due to their data stack, RPN input, and generally well thought out I/O I've been highly partial to HP calculators, but at some point HP totally dropped the ball and stopped making anything worth buying until fairly recently - I have the newish HP35s which is OK but nothing to write home about. Enter the HP30b which is a business calculator but with an SDK provided by none other than HP to repurpose the 30MHz 32bit ARM processor inside. The awesome WP34S project was started:
I bought a "new" HP30b off of Amazon.com for $18 (the low price was due to the packaging being a bit beat up, but the calculator itself was pristine). $6 got me the set of keyboard overlay stickers: http://commerce.hpcalc.org/overlay.php. The programming cable was the fly in the ointment: Atmel only made a limited run of them and they are apparently all snatched up. Looking very closely at the various WP34S documents it turns out all you need is a TTL level (3.3V, non-inverted) RS232 interface. The FTDI chip seems the most compatible (OSes tend to have native USB drivers) so I located and ordered this: http://www.newegg.com/Product/Product.aspx?Item=9SIA2E614S7991 (USB to TTL Serial Cable Adapter FTDI Chipset PL2303HX Cable Computer Cable) for $4 shipped from China (!) and it arrived in the post today. So $28 bucks total outlay.
The programming cable. They claim it has TX & RX activity LEDs, but I didn't see anything flashing during the programming process.
Here is the sticker sheet sneaking up on the unsuspecting HP30b. The key stickers are inside the overlay. The whole thing is die (CNC?) cut, making removal of the stickers a fairly simple matter.
Getting the background on there straight is a bit hair-raising as you probably only get one shot with the frail framework. I curled it so the vertical center went on first, then I smoothed it out to the side edges. I pressed the highly curved sections on the far left and right down with a Q-Tip. The key stickers then went on one at a time with the help of a tweezers. If you screw up when placing a key sticker you can take it off and put it back on (ask me how I know this...). The stickering process took maybe 15 minutes. Use a good light.
The two coin batteries are actually wired in parallel (the HP30b schematic is included as a PDF in the SDK package), so I just pulled one out to get at +3V and ground. The then exposed center battery conductor is ground, the rim conductor (located above the center connector, up inside the housing) is +3V.
You have to erase the firmware, then program it with the serial cable. Erasing is performed by power cycling and resetting the calculator with the lower left serial port hole connected to +3V (there is a small "reset" hole with a switch behind it located directly above the serial port).
Those are 1k resistors in series with the serial leads to limit current just in case (battery voltage is ~3V, the TTL TX level is ~3.3V). On the serial port: green=TX (data into the calc), white=RX (data out of the calc), red=+5V (unused for this project), black=ground (common for TX & RX).
Serial programming took all of maybe 10 seconds, and it's not too hard to keep the connections steady for that long, even hand-held as in the picture. If you botch the programming just start over, I don't think there is much - if any - risk of bricking it. Don't leave the batteries in it unprogrammed, otherwise they might get quickly drained.
Post programming, showing the new firmware version (h, 3, 3, ENTER). Woo hoo, back in business!
Long live the open source movement!