Python on Calculators: Prizm fx-CG50 and TI-Python for 83PCE
Published by KermMartian 5 years ago (2019-03-01T06:09:08+00:00) | Discuss this article

For years, the possibilities of programming high-level scripting languages on calculators has been discussed and in some cases implemented by the manufacturers or the community, including Python for the TI-Nspire, Lua for the TI-Nspire, Lua for the Casio Prizm), and Lua for the TI-84 Plus CE. As Python has gained wider adoption in the broader world, as both a useful scripting language and a teaching language, the desire for Python on our favorite calculators has grown as well. Although our French friends (and collaborators) suceeded in putting MicroPython on the TI-Nspire, as above, no native Python support was provided. As a preface to the following, we must give an honorable hat tip to NumWorks, who with an open-source calculator were able to easily offer Python support, Sadly, very few of our members and the student community at large have the NumWorks calculator yet, so very few have access to Python on their own graphing calculators.That has finally begun to change with new offerings from Texas Instruments and Casio.

One in their unfortunately largely overlooked set of firsts, Casio was the first of the three major graphing calculator manufacturers (Casio, TI, and HP) to release official native support for Python on a handheld. To our knowledge, Casio is also still the only such graphing calculator manufacturer. In August 2018, Cemetechian Amazonka brought Prizm Python support to our attention, added in OS 3.20 for the Prizm family. In fact, it isn't just the calculator community that's taking notice: even Adafruit posted about Python on the Casio Prizm. We meant to post a news article about this breakthrough back in 2018 (we even took the screenshots at the end of this article!), but... time got away from us.

As far as we can tell, Texas Instruments released news of Python on the TI-83 Premium CE handheld (with some prodding via a TI-Planet-reported leak) in May 2018, but didn't actually make the device available until after Python was publicly available on the Casio Prizm. Support is provided not by software on the calculator itself, but via an external, USB-connected cube containing an Atmel SAMD21E18A-U microcontroller with 256KB of Flash and 32KB of RAM (ironically, significantly less powerful than the calculator itself). This adapter actually runs the Python interpreter, while the handheld acts as a terminal emulator communicating with the cube. Speculation for why TI didn't directly build Python for the calculator is rampant, but inconclusive. For those who really want to get into the weeds, Adafruit recently determined that the cube uses their own CircuitPython, rather than the more popular MicroPython interpreter (from which CircuitPython is forked). And disappointingly for our American membership, we (and TI-Planet) only know of compatibility for the European TI-83 Premium CE calculator, not the TI-84 Plus CE.

We're happy that Python, one of our favorite computer languages (and one that many Cemetechians know) is finally making its way to calculators. We hope that we see many interesting applications of this language to our favorite calculators soon, and that you force us to add Python categories to our Downloads section!