One of my each clip favourite calculators is the HP 16C. It is an RPN calculator aimed at computer programmers pinch support for hex, binary, octal and decimal and all sorts of useful operations for illustration spot shifting, masking and rotations. I don't own 1 myself, I person a Swiss Micro's DM16L, a precocious value modern day remake pinch improvements for illustration a 2 statement display. There is simply a constricted run collectors version of the HP 16C coming soon though. But nary of those calculators tally Linux.
This 1 can:

xcalc connected an existent calculator

Screenshot of the console and partial fbv image viewer

Of people it runs Doom

My each clip favorite, the HP-16C
Below are astatine slightest a 1000 words covering the HP Prime G2 and other graphical calculators tin of moving Linux. You tin skip that if you conscionable want to publication astir my updated Linux larboard for the Prime G2.
HP Prime G2
The HP Prime is simply a graphing calculator connected the marketplace since 2013, pinch a hardware revision successful 2018 (the G2 model). It has a touch surface and arsenic acold arsenic I tin find, astir group are happy pinch it and find it a very capable and accelerated calculator. Here are some pictures of the opened up calculator and here is simply a website pinch immoderate more downloads.
I'm not really willing successful the calculator part. For astir calculations I do for my time job, embedded programming, the HP-16C is simply a amended fit. I was interested successful this instrumentality because I recovered posts online suggesting it could run Linux and moreover a Windows 10 port.
Bow for maine for I americium root
I do person a history moving Linux connected older HP devices and I do for illustration to person afloat privilege connected each devices I own. Back past I wrote:
I person a norm that I effort to adhere to for devices I own. They must let a intends of guidelines aliases administrative actions. The Nintendo Switch I sewage second manus is aged capable to beryllium jailbroken. The 2 Apple devices I ain (a first gen iPad Air and first-gen iPhone SE) person vulnerabilities that springiness me guidelines access. All Android phones I owned I've specifically bought because the bootloader tin beryllium unlocked. Once I bargain a device, it is excavation and I determine what to do pinch it. Not the manufacturer. Otherwise it is e-waste the infinitesimal it leaves the factory.
Being capable to create package connected a instrumentality is almost a must person arsenic good for me. Missing functionality, different known arsenic worldly the shaper does not make (enough) money on, tin beryllium programmed backmost successful arsenic agelong arsenic you can create connected a instrumentality and are consenting to put successful capable clip and/or money.
Now pinch a calculator that isn't a immense rumor since I don't spot them as general intent computing devices. Although Texas Instruments did later on removed and restricted features that their instrumentality shipped pinch initially, namely running assembly codification connected your calculator and Numworks besides locked down their calculators. That each has to do with cheating and exam mode, truthful I do understand that part. If your instrumentality is not allowed connected charismatic exams / tests, it won't beryllium utilized aliases waste well. On the HP Prime location ne'er was assembly (only a civilization basal for illustration connection called PPL) truthful they can't return that away. There is simply a quote from an HP worker stating:
"It is not locked down and is conscionable utilized for verification astatine this time. Note however, we DO person the expertise to afloat encrypt and fastener the strategy to hellhole arsenic that is portion of the caller chip. We DO person that tested and working. We WILL move it connected if needed. It IS a firm information mandate (after things for illustration firmware being loaded into mice/keyboard aliases printers to hack networks came to light) that we fought to get an exemption for. Nobody dick astir pinch exam mode."
Hardware specs for a calculator!?
The Prime G2 is comically overpowered for a calculator if you inquire me. It has an i.MX 6 Ultralite ARM Cortex A7 CPU, 256 MB DDR3 RAM and 512 MB of internal storage. I mean travel on! It's person to a mini embedded Linux machine pinch a calculator keyboard attached than to a traditional calculator.
The G1, the erstwhile hardware revision already had a 400MHz ARM CPU pinch 32MB ram, but the G2 is for illustration an Android telephone of a fewer years back.
The java instrumentality hardware I activity connected astatine my time occupation has an i.MX6 module with comparable specifications. And that runs dedicated C++ and Qt applications on top of Yocto. The HP Prime G2 runs connected FreeRTOS and the G1 runs connected a civilization RTOS named Besta OS.
I'm still shocked by the specifications, for a calculator! In regular usage it is very responsive and compared to different calculators, calculations are way faster, graphing is faster and via the touchscreen you tin zoom/scale graphs, which is besides almost instant. So they do put those specs to bully usage at least.
Hardware specs for different calculators
Let's cheque what their competitors person regarding specifications and possible Linux support. I've tried to find specifications of a fewer models available here successful The Netherlands.
The TI 84+ CE has an 48 MHz eZ80. No linux there.
The Numworks Graphing Calculator N0110 has a 216 MHz ARM Cortex-M7 CPU, 8 MB retention and 256 KB of SRAM. I still find 216 MHz to beryllium measurement much megahertz than you'll astir apt request for a calculator, but who americium I to judge. The later N0120 exemplary moreover has a ridiculous 550 MHz ARM Cortex-M7, but a much reasonable 564KB of RAM. Then we're talking microcontroller levels of RAM. No linux here, but the OS is unfastened source. There are moreover a fewer forks, but it seems that later firmware versions are locked down. Sad for enthousiasts, but probably it has thing to do pinch cheating and exam mode.
The Casio FX-CG50 doesn't list cpu specifications but this post says 118 MHz and this post says the type, a custom Renesas SH7305 CPU, 8 MB of RAM and 32 MB of ROM. No linux location either. Although, possibly this guy tin make it work.
The only different calculator I recovered pinch a linux port is the TI Nspire CX (II) (CAS). Here is an article connected moving Arch Linux connected it and here is much info. The CX-II has a 396MHz ARM CPU pinch 64MB RAM and 128MB of flash storage. Not arsenic overmuch arsenic the HP Prime, but still Linux capable.
My favourite calculator, the HP-16C, is simply a different story. This is not a competitor because it has nary graphing features and its not precisely modern. The NUT CPU elaborate explanation (A-1LF5-9002-1 - 7/14/81) states 200 to 230KHz for the 11C/12C and 340 to 380KHz for the 41C. There is a meaning successful the Nonpareii emulator stating 215 kHz, a post present by Nelson M. Sicuro from 2003 suggesting about 230 kHz and this page, stating 220 kHz. And 203 bytes of retention for programs. No Linux there sadly.
I don't person a large calculator postulation nor americium I an master connected calculators. I used them successful precocious schoolhouse and further successful my acquisition whenever mathematics was involved. I stil person a TI-83 location from those days. And a HP 11C, the non programmer, regular type of the HP 16C. I for illustration that the 11C is RPN. For math, that conscionable clicks amended successful my head.
HP Prime G2 Linux
For the G2 there is an aged unsupported port with a 4.14 kernel. The linked linux repo nary longer has the correct branch, buildroot failed, the devicetree record was messed up and the provided download doesn't show a console login, truthful I couldn't really usage it. But it provided enough info to get started. I've updated the larboard for my HP Prime G2, with some enhancements:
- Make the keyboard better, you couldn't participate numbers aliases characters for illustration pipe, a dash aliases an underscore.
- Shows up arsenic an USB serial device
- Runs successful RAM but allows a larger than 15MB image.
- My portion has a newer touchscreen controller (Ilitek ILI211X, owed to the aged Goodix GT5688 being retired of production), made a kernel driver for it.
- You tin login to the console
- The X11 server useful and has a fewer basal apps
- Ships pinch Doom (prboom) astatine a awesome framerate
- Ships pinch a C compiler for connected instrumentality development
After reconstructing the repo's utilizing software heritage I was capable to get a build up and running. I only tried moving this successful RAM, not wanting to flash the NAND and potentially loose the original calculator software.

The keyboard successful Linux was only sending the orangish marked letters, nary dashes, underscores, numbers aliases a tube character. At first I made an alternative keymap which loadkeys configured at boot. However, that didn't activity successful X11, truthful I conscionable patched up the kernels keyboard driver (imx_keypad.c) to nonstop the correct keys. The patch intercepts keycodes and if the ALT cardinal is pressed it sends a different keycode. See input-event-codes.h for the mapping.
Using the Alpha cardinal (ALT) you tin participate numbers and immoderate different special characters. Pressing the ALT cardinal together pinch e.g. COS aliases TAN grounded to send a keycode. I didn't look into that further, conscionable utilized different keys. It might have to do pinch the keyboard matrix.
The original build's uuu scripts could footwear Linux successful RAM, but only a 15MB max build. By changing offsets successful the kernel configuration, uuu book and u-boot you tin now tally an image up to 130 MB from RAM.
The original larboard did not footwear up to a login surface but that was conscionable a case of configuring getty successful the init scripts.
The original build and a fewer articles successful Russian (here, here and here) had a moving touchscreen utilizing a Goodix kernel driver, but successful my build that did not work. It claimed to beryllium on i2c autobus 1 reside 0x14 but i2cdetect showed nary specified address. It did show a enigma instrumentality astatine 0x26, which while poking astir showed a information structure changing while touches were sent.
After overmuch fiddling and looking astatine earthy i2c messages I recovered retired that it looked comparable to an Illitek ILI211X device. Newer kernels have a driver and the ILI211X_DATA_SIZE matches my observations for a 43 byte information packet on i2c, a 0x5a commencement byte and the 0x26 reside matched pinch another imx6 devicetree pinch that driver.
The HP betterment surface showed the touchscreen fw type arsenic ilitek-03 which also was a hint. This aged kernel has nary driver for that model, only for older ones pinch a different protocol. I coded up a kernel driver based connected the newer kernel driver, but stripped retired each non-essentials, for illustration multitouch and digit pressure. I besides made a calibration instrumentality fbtouch_test since my screen had immoderate oddities successful the bottommost correct corner. Later I recovered a french forum post that stated that HP switched screens owed to the Goodix ones not being successful accumulation anymore.

Working touchscreen
During debugging I recovered that modprobing the kernel module for usb serial support locked up the full device. I changed that from a loadable kernel module to compiled successful the kernel, which gave nary clang anymore. I tin now connect via serial to my calculator.
With touch support moving I could besides see X11 and a fewer programs. Once you're logged successful connected the console, type startx and twm will commencement together with xeyes, xclock and xcalc. Mouse and keyboard inputs work. Have fun running xcalc connected your calculator. A agelong property is interpreted arsenic a right click.
For nosy I added tcc, the tiny c compiler. Because what bully is a calculator if you can't compile your ain codification connected it? There is simply a mini sample hello.c record successful /root which you tin compile (tcc hello.c -o hello) and run (./hello) yourself.
The root codification is disposable connected my github:
- linux
- buildroot
- u-boot
- prime-linux
For convinience I've made a pre-built download you tin straight run without compiling the full thing. buildroot and linux return rather a while to build and mightiness bitrot complete time. With the pre-built download you tin get started correct distant playing.
Instructions for moving Linux connected the HP Prime G2
Beware that you request to unfastened up your calculator and you mightiness harm it, unrecoverable, not being capable to footwear into the HP software. Continue pinch caution.
Download the pre-built package from HERE and extract it to a folder. Download uuu from here.
Open the calculator (remove 4 screws from the back, unfastened the lodging pinch a small pry instrumentality aliases guitar pick), plug it successful via USB and property the RESET button while shorting 2 pads marked connected the photo:

I've utilized an iFixit tweezer to short those 2 pads, they're tiny.
Use the uuu book to footwear Linux successful RAM:
uuu ./run_linux_in_ram.uuAfter a fewer seconds you should spot a login prompt. You tin login arsenic root without a password. Type startx to commencement the graphical environment. Type sh ./doom.sh to commencement Doom.
I person not tested immoderate of the NAND flashing scripts truthful usage those astatine your own risk. The Goodix touchscreen should still work, but I cannot trial that. If you person a portion pinch that type of screen, please trial and fto maine know.
HP Prime G1 Linux
For the Prime G1 location is simply a forum taxable and screenshot here and this port has actual source codification and a modern 6.x kernel. I don't person G1 hardware truthful I cannot test this version. The larboard provides nary downloadable image, you person to build one yourself. The instructions are connected the page, but a spot tense. Note that this is specifically for the G1 hardware version. I did effort to build this version myself to spot if location was overmuch spot rot aliases surgery links, but surprisingly it each went rather soft still.
First clone each 4 repo's:
mkdir prime-linux cd prime-linux git clone https://github.com/Repeerc/Linux-For-HPPrime-V2 git clone https://github.com/Repeerc/hpprimev2_linux_loader git clone https://github.com/Repeerc/Kernel-6.1.35-HP-Prime-V2_G1 git clone https://github.com/Repeerc/buildroot_hpprimev2Build the loader:
cd hpprimev2_linux_loader mkdir build cd build cmake .. make cp BOOT1.ROM ../../If you person an correction for illustration error: chartless type sanction 'caddr_t', replace that type pinch void successful the code. Modern compilers don't support that anymore.
Build the kernel:
cd ../../ cd Kernel-6.1.35-HP-Prime-V2_G1 make ARCH=arm CROSS_COMPILE=arm-none-eabi- hpprimev2_defconfig make ARCH=arm CROSS_COMPILE=arm-none-eabi- zImage -j8 cp arch/arm/boot/zImage ../../Build buildroot:
cd ../../ cd buildroot_hpprimev2 make hpprimev2_defconfig make cp output/images/rootfs.jffs2 ../../Package it each up together:
cd ../../ cp BOOT1.ROM Linux-For-HPPrime-V2/ cp zImage Linux-For-HPPrime-V2/ cp rootfs.jffs2 Linux-For-HPPrime-V2/ cd Linux-For-HPPrime-V2/ bash ./mkimg.shFlash BOOT1.ROM and LINUX.DAT to the calculator:
Use usbtool.exe, link the calculator successful Recovery Mode (RESET + Symb) , select Auto update past click Update.
There are documents online suggesting this won't activity pinch a USB3 port.
Here are a fewer screenshots I recovered online.
Prime G1 screenshot from the 2017 forum topic:

Prime G1 moving an X session:

Prime G1 besides has a Doom port:

Windows?!
If you're that benignant of person, personification ported UEFI for Windows 10 (source). Check retired the astir meta picture ever, Windows calc.exe connected an existent calculator:

I cannot find immoderate downloadable image and immoderate links connected the blog station to twitter are deleted truthful I cannot trial this build myself. There are a fewer more screenshots:
Failed bootloader:

The footwear screen:

The people dialog:

Notepad:

Tags: arm , articles , calculator , casio , doom , electronics , embedded , hardware , hp , kernel , linux , prime , rpn , swissmicros , texas-instruments , windows
English (US) ·
Indonesian (ID) ·