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”

MNIST Clock Uses Famous Training Database

When training neural networks to recognise things, what you need is a big pile of training data. You then need a subsequent pile of testing data to verify that the network is working as you’d expect. In the field of handwriting recognition, the MNIST database is commonly used to train networks on handwritten numerals. After [Evan Pu] mentioned it would be fun to use this data to create a clock, [Dheera Venkatraman] got down to work.

The original sketch which inspired the build.

The MNIST database contains 60,000 training images, and 10,000 test images. [Dheera] selected an ESP32 to run the project, which packs 4MB of flash storage – more than enough to store the testing database at 196 bytes per numeral. This also gives the project network connectivity, allowing the clock to use Network Time Protocol to stay synchronised – thus eliminating the need for an external RTC. Digits are displayed on four separate e-ink displays, which fits well with the hand-drawn aesthetic. It also means the clock doesn’t unduly light up the room at night.

It’s a fun project that will likely draw a knowing chuckle from those working in the field of handwriting recognition. We’d love to have one on our desk, too. If you’re thinking of attempting a build yourself, check out our recent contest for more inspiration!