Do you know Python?
I'm an expert.
 15%  [ 5 ]
I'm pretty decent, but I still have a bit to learn.
 59%  [ 19 ]
No, but I'll learn if I can program my calculator in Python!
 25%  [ 8 ]
No, and I don't want to learn.
 0%  [ 0 ]
Total Votes : 32

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!

TI-83 Premium CE**
mr womp womp wrote:
TI-83 Premium CE**
Why, TI-France, why? Thank you. KhiCAS by parrisse for casio fx-cg features python in addition to CAS - so I think needs mentioning here therefore
Why not on the 84 CE either???
I think it is a very good move to program in Python instead of Basic but why use an external module to run it? Also TI makes micro-controllers which directly compete with the Atmel chip they choose. Why didn't they use a Tiva C series microcontroller?
In the community, we usually think that among the requirements of the TI-Python Adapter, minimizing both development time and time to market were ranked very high....
High-level TI management received a presentation of the upsides of Python on a graphing calculator for educational purposes when a third-party Nspire port of MicroPython was produced, in late 2014. At that point, the TI-eZ80 series' design was already cast in stone, since it became available on the market in the spring of 2015.
Nevertheless, until NumWorks kicked the established calculator manufacturers' back, in H2 2017, at the suggestion of critor, by providing MicroPython out of the box, right from early revisions of the calculator's firmware (well, the integration wasn't very good at first, but it worked), nothing happened. Afterwards, Casio, HP and TI had to play catch-up, with different strategies (proper port of MicroPython, Python-like compatibility layer in giac, external TI-Python Adapter module).
Despite being notified years ago, TI managed to become dead last in that race: at the time of this writing, there's still no form of Python (or something reasonably close to it) built into the standard OS of any of their models...

For the eZ80, there's no production quality C/C++ toolchain (Zilog's toolchain only supports an old dialect of C, and occurrences of rejecting valid code or generating invalid code aren't that infrequent), and the eZ80 isn't supported by MicroPython or CircuitPython, which probably ruled out porting these directly as part of the TI-eZ80 series' standard OS at minimal cost. They already had to develop the PyAdaptr FlashApp, expanding the OS for that purpose.

Using a SoC with very low I/O capabilities (even if it's made by TI, the 32 KB RAM, 256 KB Flash microcontroller I see on the EK-TM4C123GXL at already has too much stuff), for which there was already a port of CircuitPython, doesn't look like an unreasonable way to meet the (supposed) goals of minimizing development costs on hardware and software.

Other cheap MicroPython-supported board series, such as the ones featuring ESP8266 or the more powerful ESP32 chips, might have been another way to minimize development costs, while leveraging more RAM, more Flash memory and I/O pins... but both of those chips have a WiFi chip. If TI plans on trying to have such external modules allowed in some standardized tests, some regulators of said stupid standardized tests would probably balk at something which starts as WiFi-enabled, even if TI somehow disables or destroys the WiFi part, removes the antenna, and whatever.
Lionel Debroux,

That makes sense. Thank you for the clarification.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum