Palm M105 charger

This little “HowTo” explains how to apply the original battery hack, by Till Harbaum. At the moment it only adds additional information to the original documentation by Till Harbaum.


This howto is explicitly written for the Palm m105, I can not guarantee nor be responsibly its working for other (older) versions of the Palm other than the ones mentioned in the documentation.

This hack voids your warranty of your Palm! Apply this hack at your own risk, as it can damage both your Palms hard- and software or the hardware of your PC. I, nor the original authors, can not be held responsible for any damage forthcoming from applying any hacks displayed on this page.

By using this howto, you agree to be responsible for any damage to your hardware and/or software.

All photos on this page are copyrighted and owned by their rightfull owners.


The Palm M105 is a great and affordably PDA. Unfortunately, in contrast to its big brothers from the M500 series, it does not have recharging capabilities for its batteries. If you use your PDA as much as I do, you probably agree with me that it always runs out of batteries at the most awkward moments. I got tired of buying new batteries, so I decided to apply the battery hack from Till Harbaum!

If you didn’t already do it, its probably best to read the original documentation first before proceeding with this howto.


This hack consists of two parts: the actual charger and a minor hack to the Palm itself. The problem I faced was not the charger, since its design is quite robust and fairly general. The real problem was: how to adapt the Palm itself in such way that my Palm is not damaged, but my batteries are charged whenever I insert it in my cradle.

Modifying the Palm itself

I first searched the Internet for any pictures of the internals of my M105. I never thought I would find this site, which has extremely detailed and high-resolution pictures of the M105’s guts. Well, it’s actually a M100 that is photographed, but a M105 is nothing more than a M100 with a memory extension. After studying the pictures (especially this one), I got pretty confident that the protective diode should be connected as displayed in the following picture:

Instead of the original 1N4001, I used the much smaller 1N4148. It does not have the same specs, but gives sufficient protection in case of wrong wiring.

The best way to connect this diode to both pads is to take around 7.5 centimetres of very flexible wire, which you use to create a diode with “flexible legs” (photo currently not available). When done, you might want to consider to isolate the “flexible diode” to avoid short-circuits.

When soldering the kathode of the diode to pad 9 of the connector, make sure you do not solder it by accident to the surrounding (grounded) track. You can verify this by using an Ohm-meter; you shouldn’t measure anything between pins 9 and 10 of the Palm connector. In addition, you should get a rather low-valued reading from pin 9 to the anode of the diode and nothing in the other direction.

After verification, it’s time to close the case of the Palm. If you bend the wire of the diode in more or less the way as shown in the picture above, you should not have any trouble in closing the case without applying much force.

Placing the charger in the cradle

The hardware which goes in the cradle can be copied directly from the original documentation. The only modification I made was that I dimensioned Rsense to around 1.3 Ohm to match the charging current with the 750 mA batteries I’m using.

In order to build the charger into the cradle, I had to remove the large metal weight to make room. This makes the cradle a little less stable when inserting the Palm itself, but this doesn’t bother me too much.

Edit: I never bother to make pictures of the actual result. The modified Palm and cradle served me well for over two years. Currently, it is collecting dust in a drawer…