The first time my first Zire 71 crapped out, I hacked this charging current display into the cradle so I could see when the mumble thing was actually charging. It turns out that the PDA makes its happy “I’m charging!” beep and overlays the charging indicator on the battery symbol even when there’s no +5 V connection to the PDA: you can leave it in the cradle all night and wake up to a dead battery in the morning.
I hate it when that happens…
The charging current meter is a classic LM3914 LED display driver and a surplus HP (from back when they were HP) 10-LED bargraph module.
Here’s the schematic, such as it is, reverse-engineered from the as-built gadget…
[Update: Something went wrong with the upload for that sketch; I think it’s OK now.]
The general idea is to insert a 1-Ω resistor in the common return from the Zire’s charging contacts. The total current through the Zire, which is mostly battery charging current when it’s off, generates a voltage across the resistor. That voltage feeds the LM3914’s input, so the LEDs directly indicate the charging current.
Fairly obviously, that resistor drops the external voltage by a smidge. As nearly as I can tell, the drop adds up to maybe a third of a volt, so the charging voltage is a tad lower than they expect. Seems to work just fine; the maximum charging voltage for a 3.7 V Li-Ion cell is pretty close to 4.2 V, so they’ve still got half a volt to play with.
The two resistors and the trimpot add up to 1240 Ω, which sets the LED current to about 10 mA. The trimpot sets the voltage at the top of the LM3914’s internal resistor string to about 290 mV, although I measure the all-LEDs-on current at about 380 mA.
Here’s what it looks like inside.
The sense resistor hangs off the power input jack’s common pin, with the common lead from the PDA contact pins and the LM3914 input lead connected to the other end. The LM3914 common goes directly to the power supply common, not the hot end of the sense resistor.
The 5.1 V lead from the power input jack still goes directly to the PDA contact pins, as well as the LM3914. I put a 22 Ω resistor in series with the LEDs to cut their power dissipation a bit. They’re plenty bright at 10 mA, so you might want to cut that down.
The LED bargraph module fits neatly in a rectangular hole painstakingly drilled, sawed, and filed into the case, then held in place with a generous dollop of JB Weld epoxy. I taped it in place to keep the epoxy from oozing out while it was curing.
The LM3914 is soldered directly to the display module, with flying wires and components soldered to the remaining pins.
If I recall correctly, I held the Zire in position on the connector strip, got it charging, and then tweaked the trimpot until the display showed full scale.
This was done in an absolute white-heat frenzy with the PDA’s battery going dead, but at least the exterior looks pretty good. The circuitry inside is a genuine hairball that has been working fine ever since, which makes it Good Enough.