A Classic Acer Pocket PC Lives Again, Thanks to a RISC-V Emulation of Its Battery Controller

Having no easy access to working original batteries, vintage computing enthusiast Mark created a new controller from a WCH chip.

Mononymous vintage computing enthusiast Mark has designed a device to bring classic Acer Pocket PC palmtop computers back from the dead — by emulating a controller found in their original and now long-expired batteries.

Recently, I obtained three Acer N30 PDAs from Germany. The first attempt to mail them failed due to the inclusion of lithium batteries, so the seller kindly offered to take them out and resend, to which I agreed," Mark explains. "Little did I know that the batteries in this particular series contain an integrated controller."

A vintage palmtop is brought back from the dead with third-party batteries and an emulated controller. (📷: Mark)

The Acer N30, the third in the N-series line of palmtop computers, launched in 2004 as a pocket-friendly way to take your computing on-the-go — powered by a Samsung S3C2410 processor running at 266MHz and with a 240×320 color display. It was only one in a wide range of Pocket PC devices from a range of manufacturers, before the launch of the first smartphones would effectively end the palmtop market.

The devices Mark picked up were fully functional, with only one problem: they won't recognize anything other than an original battery, as Acer chose to put the battery controller there rather than on the motherboard. Worse, the gadgets would automatically enter sleep mode as a result of being unable to access the missing battery — and a plain controller-free replacement wouldn't do the trick.

"I discovered the [Texas Instruments] BQ26500. It is a small 'gas gauge' chip for Li-ion batteries, communicating via the HDQ protocol," Mark explains. "I was aware that the original battery uses a four-pin connector, with three of those being power, ground, and the NTC thermistor connection for the charging chip, but there was a mysterious extra wire. Could that wire be used for this? Indeed, it was. After hooking up a logic analyzer to the extra wire, I immediately noticed constant activity."

Mark confirmed the battery monitoring protocol using a logic analyzer, connected to a strangely "spare" pin. (📷: Mark)

To solve the problem, Mark set about building a new battery controller — initially using an STMicroelectronics STM32F401RE Nucleo board to prototype the device before porting it to the ultra-low-cost RISC-V WCH Electronics CH32V003 microcontroller. Now, the palmtops will accept third-party batteries — with a couple of caveats. "While charging, the battery voltage is higher, making the indication inaccurate," Mark explains. "The voltage also fluctuates somewhat under load."

The project is documented in full on Mark's website, with source code available on GitLab under an unspecified open source license.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles