The team at ClockworkPi has done it again! Following the excitement of finding the one convincing handheld computer, the uConsole (here), which evolved from the DevTerm (here), I am thrilled to introduce the PicoCALC. At first glance, once the kit is assembled, it appears to be a compact calculator. Still, beneath the surface, it is a fully open and hackable platform for anyone who dreams of pocket computing at its finest. And guess what, it will cost you only $75 (here).

At the core of the PicoCALC is a Raspberry Pi RP2040 microcontroller featuring dual-core ARM Cortex-M0+ processors that are clocked up to 133 MHz. This setup features 264 KB of on-chip SRAM, complemented by 8 MB of external PSRAM for more demanding applications (not upgradable). Note that I we can swap the Pico 1H module included in the kit with another model such as the 2 WH if you need Wi-Fi or BlueTooth. The display features a 4-inch, 320×320-pixel IPS panel protected by tempered glass. To prevent fingerprints during assembly, I recommend peeling the protective film only along the borders and using the film still attached to the protection to lower it into place. This worked very well for me.

The keyboard deserves special mention: it features a 67-key ultra-compact mechanical QWERTY layout that is backlit and connected via I2C through an STM32 controller, which handles both key scanning and power management. The keys offer a satisfying and precise tactile feel reminiscent of high-end vintage pocket computers, with the added benefit of full programmability. The layout is well-suited for coding, placing it ahead of other graphing calculators, such as HP Prime and NumWorks. The keyboard firmware is open-source and customizable within the Arduino IDE, allowing every key to be remapped or repurposed. This makes it perfect for those who want to use the PicoCALC as a starting point for their handheld or embedded projects.

Connectivity and expansion options are well thought-out. The PicoCALC features a USB-C port for both data and power, an SD card slot for storage expansion (shipped with a 32GB card), dual PWM speakers, and a 3.5mm headphone jack for audio output. Power is supplied by a standard 18650 battery (not included in the kit). Although ClockworkPi claims an intelligently designed holder that accommodates slight variations in battery size, double-check the model you pick. The charging and battery management systems are integrated, and the entire board is designed for low power consumption.

ClockworkPi’s open-source philosophy is at the core of this kit: all schematics, 3D models, and firmware are available under the GPL v3 license, inviting users not just to use the PicoCALC but also to extend, remix, and enhance it. This reminds me of NumWorks‘ approach (here). For those who grew up programming pocket computers, the PicoCALC is both nostalgic and forward-looking—the best of both worlds!

With the provided SD card, the PicoCALC boots into PicoMite MMBasic version 5.09.00RC5, an open-source BASIC interpreter originally developed by Geoff Graham that has now been widely ported across ARM and PIC32 architectures. The latest version is a modern interpreter supporting structured programming with constructs such as IF…THEN…ELSE, DO…LOOP, WHILE…WEND, FOR…NEXT, and SELECT CASE. It handles floating-point math and multi-dimensional arrays and provides extensive string manipulation functions, making it practical for both numerical and text-based applications. In other words, you won’t be able to use the 10 PRINT “HELLO” 20 GOTO 10.

Similar to later pocket computers (e.g., SHARP, CASIO), MMBasic v5 features a Flash Filesystem, which enables persistent program and data storage directly in the microcontroller’s flash memory. This feature is ideal for portable devices that lack traditional storage capabilities. Users can save, load, and manage multiple programs and datasets directly on the device, eliminating the need for external media. This BASIC can interface with the external world via GPIO pins conveniently exposed on the left side of the machine.

Since the PicoCALC boots in less than two seconds into the interpreter, you can enter immediate commands and run short routines, an experience I miss using other modern systems. For larger projects, programs can be edited on-device or loaded from the SD card or flash memory. The interpreter also supports OPTION commands for customizing startup behaviors, display settings, and input/output defaults. Remarkably, all of this operates within approximately 94 KB of flash memory and 16 KB of RAM, leaving ample room on the RP2040 for user programs and extensions. The open-source code is available under the GPL v3 license on ClockworkPi’s GitHub (here), encouraging enthusiasts and developers to contribute, adapt, and further develop the platform. Of course, you should be able to use other programming languages, such as C, Lisp, and Python, among others.

As usual, I hope you will enjoy the pictures I took while assembling my PicoCALC, which took me less than 15 minutes (building the DevTerm and the uConsol definitively helped).