Back in the late 90s, when TI already ruled calculators in High Schools, I selected HP48 as my platform. It is a high-end engineering calculator with CAS capabilities, native units, stack based interface and programmable in RPL1.
Recently I purchased a near mint HP48G and again have a physical calculator on my desk.
HP 48 Platform
Between rich library, various symbolic solvers and even UI building features, HP had a large following amongst power users. There were advanced editors, calendars (48G-series had RTC with hw wake-up alarms), organizers, system-RPL compilers, assemblers, games, and sophisticated engineering and especially surveying software suites.
The keyboard on these calculators is very satisfying, with a clicky, firm, crisp keys unlike anything since.
To improve the built in software, faster and more powerful stack environments were available which improved UI snappiness by a factor of 2x, while also providing faster text, object, equation and matrix editors. To save space, compression libraries were available to keep sizes of objects down.
The RPN2 stack entry was very efficient once gotten used to. To calculate
(2+3)/4, one would enter: 2 3 + 4 /. As the stack is limited only by
available memory, partial calculations were left on the stack and used in later
calculations. Similarly with RPL1 being stack based, all functions take
arguments from the stack and return results onto the stack. This applies both
to programs and interactive UI (one would call it REPL3 today).
My HP48GX
My model back in high-school was a 48GX which featured 128KiB of SRAM and two expansion ports. There was also a 48G which had 32KiB SRAM and no expansion ports. Towards the end of the platform life, a HP48G+ model offered no expansion ports but 128KiB SRAM.
For communications, all models had a 9600 baud RS232 port and an IR port. Serial communications included a Kermit server and Xmodem protocol implementation.
Post College
Years later, powerful phones and tablets replaced purpose-built electronic organizers - which is how I used my HP48 - I put my HP on a shelf and forgot about it.
On Android, I continued to use my favourite calculator via Emu48. It is a full hardware emulator of HP48 using original roms and running at full arm speed.
To this day, whenever I need to quickly churn through some numbers, I reach for my Emu48. For unit conversions or unit sensitive calculations the HP48 is irreplaceable. On HP48 every numeric value can have a unit attached to it, so calculations will evaluate both values and units.
The built-in Constants and Equations libraries are a great reference, as are many solvers: multiple equation msolver, symbolic solver, financial solver, etc…
EPEC
During high school, I was flying radio controlled model airplanes and got into early electric aircraft. This was back in the days of AstroFlight4 05 Cobalt brushed motors, early ESCs and 8-cell NiCd and Nimh cells. As these aircraft were very under-powered and heavy, I needed to carefully design the power system for optimal performance.
I used my HP48 with UI building functions and solvers to create EPEC - Electric Propulsion Evaluation Computer. It allowed entry of parameters of aircraft, propeller, batteries, speed controller and motor to calculate flight times, current draw, prop speeds and thrust. Based on the results one would iterate on parameters to reach one’s goal.
In 2020, running on Emu48, EPEC got it’s latest release 2.1.6, adding support for LiPo cells and multi-motor quadcopters.
Over the years, I used http://ecalc.ch which is a web-based equivalent to EPEC. In 2020 I reached out to its author and shared above EPEC on Emu48 video, and learned Markus was also a HP48(SX) user :)
Owning HP48 Calculator Again
Years ago I wanted to use my HP48GX again, but it has deteriorated and the LCD was corrupted. These devices are unfortunately very difficult to service and near impossible to put together after disassembly without scars. I threw mine out.
Fast forward to last week, when eBay offered me a mint HP48G for $50 which I promptly bought. I found my old RS232 cable (HP48 plug is non-standard form factor), setup CKermit on linux and installed EPEC on the HP. I even impressed myself by remembering the key combination for adjusting contrast (On+‘plus’/‘minus’) - something I haven’t used for nearly 20 years :)
One day, I’ll get a HP48GX with 1MiB SRAM upgrade card and install all the best system library replacements such as MetaKernel or Java36 or SpeedUI, with the latest editors, compilers and tools. But for now, I’m content with HP48G as a desktop calculator.