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”

Internet Connected TI-84 To Cut Your Academic Career Short

In an educational project with ethically questionable applications, [ChromaLock] has converted the ubiquitous TI-84 calculator into the ultimate cheating device.

The foundation of this hack lies in the TI-84’s link protocol, which has been a mainstay in calculator mods for years. [ChromaLock] uses this interface to connect to a tiny WiFi-enabled XIAO ESP32-C3 module hidden in the calculator. It’s mounted on a custom PCB with a simple MOSFET-based level shifting circuit, and slots neatly into a space on the calculator rear cover. The connecting wires are soldered directly to the pads of the 2.5 mm jack, and to the battery connections for power.

But what does this mod do? It connects your calculator to the internet and gives you a launcher with several applets. These allow you to view images badly pixelated images on the TI-84’s screen, text-chat with an accomplice, install more apps or notes, or hit up ChatGPT for some potentially hallucinated answers. Inputting long sections of text on the calculator’s keypad is a time-consuming process, so [ChromaLock] teased a camera integration, which will probably make use of newer LLMs image input capabilities. The ESP32 doesn’t handle all the heavy lifting, and needs to connect to an external server for more complex interfaces.

To prevent pre-installed programs from being used for cheating on TI-84s, examiners will often wipe the memory or put it into test mode. This mod can circumvent both. Pre-installed programs are not required on the calculator to interface with the hardware module, and installing the launcher is done by sending two variables containing a password and download command to the ESP32 module. The response from the module will also automatically break the calculator out of test mode.

We cannot help but admire [ChromaLock]’s ingenuity and polished implementation, and hopefully our readers are more interested in technical details than academic self-sabotage. For those who need even more capability in their calculator, we’d suggest checking out the NumWorks. Continue reading “Internet Connected TI-84 To Cut Your Academic Career Short”

From Z80 To EZ80: Porting 8-bit Sonic 2 To The TI-84+ CE

An unwritten rule is that if two systems runs even roughly the same CPU, you are obligated to port software between them, or at least give it a fair shake. This led [grubbycoder] down the path of porting Sonic 2 for the Sega Master System (to the eZ80-based Ti 84+ CE. Selecting this particular graphing calculator came down to the raw specs matching up the best, as although the eZ80 in the Ti 84+ runs at 48 MHz, it’s got wait states that cripple its actual performance. Since the calculator also lacks the Video Display Processor (VDP) and a few other bits of hardware, those extra cycles are crucial to compensate.

Sonic 2 on the Ti 84+ CE, courtesy of [grubbycoder]
Sonic 2 on the Ti 84+ CE, courtesy of [grubbycoder]
Getting the disassembled version of the game was easy enough, as the [Sonic Retro] team has already done the heavy lifting there. The only snag there was that this was in WLA-DX assembler format, which is great if you just want to create a ROM for a Z80 system, but for the eZ80 you need a different assembler. Here SPASM-ng came to the rescue, as it targets both Z80 and eZ80-based Ti calculators in particular.

With those ducks aligned, the next task was to address the hardware differences. The calculator has no sound, so those routines had to go, and the color palettes of the Master System had to be mapped to that of the calculator. Since it’s a calculator, there were plenty of buttons for input, but ROM banking – which isn’t a thing on the Ti calculator – and the background and sprite rendering posed some issues. With that sorted, anyone with this calculator can now rejoice at having something better to play on their calculators than Snake in between heavy linear algebra sessions.

Talking To A Texas Instruments Calculator

Texas Instruments is a world-class semiconductors company, but unfortunately what they are best known for among the general public is dated consumer-grade calculators thanks to entrenched standardized testing. These testing standards are so entrenched, in fact, that TI has not had to update the hardware in these calculators since the early 90s. They still run their code on a Z80 microcontroller, but [Ben Heck] found himself in possession of one which has a modern ARM coprocessor in it and thus can run Python.

While he’s not sure exactly what implementation of Python the calculator is running, he did tear it apart to try and figure out as much as he could about what this machine is doing. The immediately noticeable difference is the ARM coprocessor that is not present in other graphing calculators. After some investigation of test points, [Ben] found that the Z80 and ARM chips are communicating with each other over twin serial lines using a very “janky” interface. Jankiness aside, eventually [Ben] was able to wire up a port to the side of the calculator which lets him use his computer to send Python commands to the device when it is in its Python programming mode.

While there are probably limited use cases for 1980s calculators to run Python programs, we can at least commend TI for attempting to modernize within its self-built standardized testing prison. Perhaps this is the starting point for someone else to figure out something more useful to put these machines to work with beyond the classroom too. We’ve already seen some TI-84s that have been modified to connect to the Internet, for example.

Thanks to [Nikša] for the tip!

Continue reading “Talking To A Texas Instruments Calculator”

Ray Tracing On A Modern TI Graphing Calculator

Something being impractical isn’t any reason not to do it, which is why just about anything with a CPU in it can run Doom by now. For the same reason there obviously is a way to do ray tracing of 3D scenes on a modern-day TI-84 Plus CE graphical calculator. This is excellent news for anyone who has one of these calculators, along with a lot of time, perhaps during boring classes, to spare.

As [TheScienceElf] demonstrates in a video, also embedded after the break, it’s not quite the real-time experience one would expect from an NVidia RTX 30-series GPU. Although the eZ80-based CPU in the calculator is significantly more efficient than a Z80 as found in many 1980s home computers, the demo scene at standard resolution takes about 12 minutes to render, as also noted on the GitHub project page.

Perhaps the most interesting part about this project is its use of the Clang-based C & C++ toolchain for the TI-84 Plus CE which gives easy access to the calculator’s hardware and related, including graphics, file I/O, fonts, keypad input and more. Even if using a TI-84 Plus CE to render the next Pixar-level movie isn’t the most productive use imaginable for these devices, this project and the CE toolchain make it all too easy to tinker with these $150 devices.

It would also offer a nice change of pace from writing Snake in TiBASIC, a BASIC dialect in which [TheScienceElf] incidentally has also written a ray tracer.

(Thanks to [poiuyt] for the tip)

Continue reading “Ray Tracing On A Modern TI Graphing Calculator”

Hacking An Obsolete Yet Modern Calculator

The gold standard for graphing calculators, at least in the US, are the Texas Instruments TI-84 series. Some black sheep may have other types, but largely due to standardized testing these calculators dominate the market. Also because of standardized testing, these calculators have remained essentially unchanged for decades. While this isn’t great for getting value for money, it does mean that generations of students have been able to hack on these calculators to do all kinds of interesting things as [George Hilliard] outlines.

Even before the creation of these graphing calculators, the z80 processor behind them was first produced over four decades ago and was ubiquitous in the computer scene at the time, which also lends to its hackability. There’s plenty to catch up on here, too, from custom TI games that trick the two-tone display into grayscale to Game Boy emulators that can play Zelda since the TI and Game Boy share the same processors. There are also several methods of running native code or otherwise “jailbreaking” these devices to run arbitrary code.

It looks like the world of TI hacking is alive and well now, and with several decades of projects to browse there’s always something new to find. As it stands, there may be more decades of these types of projects to come, since neither TI nor the various testing standardization companies and government agencies show any signs of changing any time soon.

Thanks to [Adrian] for the tip!