A few weeks ago I got a Compaq iPaq Pocket PC, model 3650. While this device originally came out in 2000, I remember using it circa 2003 when my mom got it for work and passed it on to me because she had no use for it. While I probably only played around with it for a few months, it was a formative computing experience for me. Even though it had no cellular or other wireless connectivity (it did support IrDA), it was essentially a proto-smartphone, running Windows CE (later Pocket PC/Windows Mobile OS) with support for a wide variety of apps. I remember reading pdfs of Star Wars Expanded Universe books on it, as well as a universal remote control app that used the built in infra red function. My iPaq didn’t last long though, as its screen got busted when someone pushed a desk towards me in school, cracking the screen on the PDA that I had in my pocket, display facing out. It’s bizarre how vividly I remember this moment. It was quite a tragedy.
That was more or less the end of my Pocket PC experience. In the late 2000s I did use an HTC P4350 “smartphone” running Windows Mobile, which was basically Windows CE from the PDA days, but it was just a phone, a brief interlude before everything became iPhone or Android.
I held onto the broken iPaq for many years, and then got rid of it during one of my cursed purges of old devices. A horrible mistake that has been corrected a few weeks ago when I got the same iPaq model on eBay for $10 + free shipping. The iPaq arrived fully functional, sans the battery that would no longer hold charge, and the stylus release button that would no longer hold the stylus in place. But otherwise it worked!
The iPaq came with the original Windows CE 3.0 (also known as Pocket PC 2000) OS. I enjoy the Windows 98 era display style of this version, but back when I used this iPaq I upgraded it to Pocket PC 2002, so naturally I decided to do the same with this one. I realized that playing with this device brought similar type of tech nostalgia that folks who grew up in the 80s have towards Commodore 64s and Apple IIs — while I enjoy using those, they are not actually a part of my own past. The iPaq, however, most definitely is.
So, I went ahead and obtained the Pocket PC 2002 upgrade iso from the Internet Archive. Back in the 2000s you were supposed to obtain a license from Compaq to perform this upgrade. Regardless, I was able to easily obtain it, even on a pre-broadband ISDN 64kbps dial up connection. And this is where this post moves from personal history into troubleshooting documentation. If you are interested in upgrading 20 year old PDA’s OS in 2023 and beyond – don’t be lazy and attempt this using a Windows XP virtual machine. Go ahead and perform this upgrade using real hardware.
I was lazy.
The install went fine and detected my iPaq through the Virtualbox USB passthrough, and it began the ROM flashing process. It made a backup of the current ROM (this will come in handy later on!) and started to flash the new OS. At this point however, the iPaq rebooted into the ROM flashing mode, and Virtualbox lost the connection. The ROM flashed failed, while the iPaq remained stuck on the ROM flashing screen. I naively unplugged it from its craddle, which caused it to lose power (with the dead battery and all), and at the next attempt it failed to boot. The screen would just turn black, with no backlight, with the battery light flashing to show that it had power.
Needless to say I was disappointed, but also sort of excited. I laughed at myself, realizing that 20 years later I made the type of mistake that my 12 year old self managed to avoid. Additionally, fixing these types of issues on old tech is what brings me joy anyway, so I embarked on a hour long journey to figure out how to restore this device that is so dear to me. I’ve found that troubleshooting hardware and software from the late 90s – early 2000s tends to be much more difficult than dealing with the stuff from the 80s. It’s recent enough that it tends to be quite technically complex, but there’s still limited attention from the vintage computing community, so you mainly depend on contemporary accounts from the time period when folks actually used this stuff. And forum posts and blogs from the early 2000s are increasingly disappearing from the web. While the Internet Archive helps a lot, ultimately you do tend to depend on Google to find leads in the first place, and Google has been increasingly unreliable as of late.
However, within the hour I more or less figured out how to get out of this. Below is step by step:
- Make sure you have a copy of your iPaq’s ROM in .nbf format. Mine was IPAQROM177.nbf
- Get the host11.exe flashing utility (this was the crucial ingredient)
- remove the first 32 bytes from the backed up ROM file in .nbf format and rename it to nk.nb0. Here’s the command if you want to use dd:
dd bs=32 skip=1 if=IPAQROM177.nbf of=nk.nb0
- Place the host11.exe and nk.nb0 on the computer you’ll use to restore the iPaq
- Reset your iPaq by holding down the circle (action pad) and the power button and hitting the reset button. You should then see an image of a parrot with the title “Remote USB Update”. It took a few tries to get this to show up
- Connect the iPaq via USB
- Start host11.exe
- The flashing will take about 2-3 minutes and your iPaq will boot with the original ROM
The reflashing was successful, and I quickly got back to the original Windows CE 3.0 screen. I hope this is helpful for anyone playing around with this device in the 2020s. I’m definitely enjoying this pocket PC from my personal history!