Build This Open-Source Graphics Calculator

Graphics calculators are one of those strange technological cul-de-sacs. They rely on outdated technology and should not be nearly as expensive as they are, but market effects somehow keep prices well over $100 to this day. Given that fact, you might like to check out an open-source solution instead.

NumOS comes to us from [El-EnderJ]. It’s a scientific and graphic calculator system built to run on the ESP32-S3 with an ILI9341 screen. It’s intended to rival calculators like the Casio fx-991EX ClassWiz and the TI-84 Plus CE in terms of functionality. To that end, it has a full computer algebra system and a custom math engine to do all the heavy lifting a graphic calculator is expected to do, like symbolic differentiation and integration. It also has a Natural V.P.A.M-like display—if you’re unfamiliar with Casio’s terminology, it basically means things like fractions and integrals are rendered as you’d write them on paper rather than in uglier simplified symbology.

If you’ve ever wanted a graphics calculator that you could really tinker with down to the nuts and bolts, this is probably a great place to start. With that said, don’t expect your local school or university to let you take this thing into an exam hall. They’re pretty strict on that kind of thing these days.

We’ve seen some neat hacks on graphics calculators before, like this TI-83 running CircuitPython. If you’re doing your own magic with these mathematical machines, don’t hesitate to notify the tips line.

An image of a light grey graphing calculator with a dark grey screen and key surround. The text on the monochrome LCD screen shows "Input: ENEB Result 1: BEEN Confidence 1: 14% [##] Result 2: Good Confidence 2: 12% [#] Press ENTER key..."

A Neural Net For A Graphing Calculator?

Machine learning and neural nets can be pretty handy, and people continue to push the envelope of what they can do both in high end server farms as well as slower systems. At the extreme end of the spectrum is [ExploratoryStudios]’s Hermes Optimus Neural Net for a TI-84 Plus Silver Edition.

This neural net is setup as an autocorrect system that can take four character inputs and match them to a library of twelve words. That’s not a lot, but we’re talking about a device with 24 kB of RAM, so the little machine is doing its best. Perhaps more interesting than any practical output is the puzzle solving involved in getting this to work within the memory constraints.

The neural net “employs a feedforward neural network with a precisely calibrated 4-60-12 architecture and sigmoid activation functions.” This leads to an approximate 85% accuracy being able to identify and correct the given target words. We appreciate the readout of the net’s confidence as well which is something that seems to have gone out the window with many newer “AI” systems.

We’ve seen another TI-84 neural net for handwriting recognition, but is the current crop of AI still headed in the wrong direction?

Continue reading “A Neural Net For A Graphing Calculator?”

close up of a TI-84 Plus CE running custom software

Going Digital: Teaching A TI-84 Handwriting Recognition

You wouldn’t typically associate graphing calculators with artificial intelligence, but hacker [KermMartian] recently made it happen. The innovative project involved running a neural network directly on a TI-84 Plus CE to recognize handwritten digits. By using the MNIST dataset, a well-known collection of handwritten numbers, the calculator could identify digits in just 18 seconds. If you want to learn how, check out his full video on it here.

The project began with a proof of concept: running a convolutional neural network (CNN) on the calculator’s limited hardware, a TI-84 Plus CE with only 256 KB of memory and a 48 MHz processor. Despite these constraints, the neural network could train and make predictions. The key to success: optimizing the code, leveraging the calculator’s C programming tools, and offloading the heavy lifting to a computer for training. Once trained, the network could be transferred to the calculator for real-time inference. Not only did it run the digits from MNIST, but it also accepted input from a USB mouse, letting [KermMartian] draw digits directly on the screen.

While the calculator’s limited resources mean it can’t train the network in real-time, this project is a proof that, with enough ingenuity, even a small device can be used for something as complex as AI. It’s not just about power; it’s about resourcefulness. If you’re into unconventional projects, this is one for the books.

Continue reading “Going Digital: Teaching A TI-84 Handwriting Recognition”

TI-83 Gets CircuitPython Upgrade

Graphing calculators are an interesting niche market these days. They’re relatively underpowered, and usually come with cheap, low resolution screens to boot. They remain viable almost solely due to their use in education and the fact that their limited connectivity makes them suitable for use in exams. The market is starting to hot up, though – and TI have recently been doing some interesting work with Python on their TI-83.

Rumor has it that TI have been unable to get Python to run viably directly on the TI-83 Premium CE. This led to the development of the TI-Python peripheral, which plugs into the calculator’s expansion port. This allows users to program in Python, with the TI-Python doing the work and the calculator essentially acting as a thin client. The chip inside is an Atmel SAMD21E18A-U, and is apparently running Adafruit’s CircuitPython platform.

This discovery led to further digging, of course. With some hacking, the TI-Python can instead be replaced with other boards based on Atmel SAMD21 chips. For those of you that aren’t in Atmel’s sales team, that means it’s possible to use things like the Adafruit Trinket M0 and the Arduino Zero instead, when flashed with the appropriate CircuitPython firmware. It’s a tricky business, involving USB IDs and some other hacks, but it’s nothing that can’t be achieved in a few hours or so.

This is a hack in its early days, so it’s currently more about building a platform at this stage rather then building fully-fledged projects just yet. We’re fully expecting to see Twitter clients and multiplayer games hit the TI-83 platform before long, of course. When you’ve done it, chuck us a link on the tip line.

[Thanks to PT for the tip!]