Graphite

A TI-83/84-inspired graphing calculator, running as firmware on the ClockworkPi PicoCalc. Graphing, statistics, matrices, complex numbers and a symbolic CAS — on a microcontroller with 264 KB of RAM.

v0.4.0 RP2040 & RP2350 C++17 2,599 host tests
The PicoCalc's 320x320 screen showing seven functions plotted at
                once in different colours over a grid, with a status bar reading
                GRAPH FUNC, RAD, FLT and a full battery, and a softkey bar along
                the bottom reading 1:Y= 2:WIN 3:MODE 4:TRC 5:TBL 6:CALC.
Seven functions at once on the real hardware. Photographed, not rendered — the firmware has no screenshot capture yet.

What it does

Calculating

Natural math display with stacked fractions and raised exponents. Exact forms where they exist — sqrt(8) shows as 2√2, sin(pi/3) as √3/2.

Graphing

Function, parametric, polar and sequence modes. Trace, zoom, shading, a CALC menu (zero, min/max, intersect, dy/dx, fnInt), value tables and split-screen.

Statistics

Six lists plus named lists, 1-var and 2-var stats, ten regression models, seven distributions, the full inference suite, and stat plots.

Linear algebra

Ten matrix variables with determinant, inverse, row-echelon form, eigenvalues and eigenvectors — real and complex spectra.

Complex numbers

a+bi and r∠θ modes throughout, including complex-valued variables, lists and matrices.

Symbolic math

A CAS with simplify, expand, factor, differentiate, solve and a bounded symbolic integrator — callable inline from the home screen.

Two boards, one source tree

Pico 1 H (RP2040)Pico 2 H (RP2350)
CPU2× Cortex-M0+ @ 133 MHz2× Cortex-M33 @ 150 MHz
SRAM264 KB520 KB
Flash2 MB4 MB
FPUNone — ROM softfloatSingle-precision hardware

Both are supported targets, and every release is verified on both. Hardware differences stay inside the platform layer; the calculator itself does not know which chip it is running on.

Install

Hold BOOTSEL while plugging in USB-C, then drop the .uf2 onto the volume that appears. That is the whole procedure.

Already running Graphite? Home → F4 MODE → “Reboot to bootloader” saves reaching for the button.

Documentation

There is also a help browser on the device itself — type help (or ?) on the home screen — whose function catalog is generated from the same table the parser registers from, so it cannot drift from what the firmware actually accepts.

Support the project

Graphite is free and open source, built for the fun of it. If it is useful to you and you would like to say thanks, there is a tip jar — no obligation, and nothing in the firmware is gated behind it.