Hello all, I suppose it's time to post about a crazy project that I've been working on these past couple weeks. While in college, I've been using online computer algebra systems (CAS), or programs like MATLAB to aid in a lot of math problems, but it's pretty inconvenient pulling out my computer to solve something when I already have my calculator out, so I looked for solutions. I know the TI-Nspire CX II CAS exists, but I've seen it and I personally think the interface isn't the greatest, and I already have a perfectly good TI-84 Plus CE!

So logically, the next solution was to attach an ESP32-S3 microcontroller and use it as a co-processor for the CE and perform the computations off-calc Very Happy

I began by finding a couple test points within the calculator that I could control from assembly, then soldered a wire to each and attached them to the ESP32-S3. Next, I wrote some code to send the bytes, bit by bit, for HELLO WORLD over one of the test points using the UART protocol.
Everything was working perfectly fine until I wanted to attach a pin header to use my newly purchased oscilloscope for this project and precisely determine the baud rate so I could sync it up with the ESP32 instead of just guessing.
That's when I accidentally ripped the solder pads off of both test points...

Luckily, I was able to probe around some more and found a resistor I could remove to access the GPIO used to enable/disable the charging port and used that instead. This limited me to only being able to use one wire for communication instead of having dedicated RX and TX lines, which was okay since the calculator couldn't really take advantage of both lines at the same time anyways.


After the hardware was all situated and I had a fully assembled calculator again, I used commandblockguy's Cap'n Hook library to install a parser hook to send the entered equation to the ESP32, which uses the mathomatic library to perform the calculations and sends it back to the calculator for display. Fun fact: I also wired up the ESP32 to charge the calculator when it's USB-C connector is plugged in to a power source.

I still need to implement a lot of features and I'm not read to release source code at this time, but here are the results!
I can't make any comments on CASs because I've never tried to do one, but from the brief moment that I've touched on them: they are pretty insane. However, what I think prevents this project from really taking off is that so many people that use calcs don't have any experience with hardware/electronics, or if they do they would just rather not mess around with it! So this is a great project, but I would be aware that when this is released a (potentially) diminished audience is not indicative of anything on your part, but misconceptions on the users part! Just a little tip though, if you included some extremely good instructions on how to complete the hardware installations of the microcontroller that speak 'ordinary' English, then you could have a potentially breaking audience! I would be interested in knowing how fast this CAS works, because the current CAS option for 84+ CE (PineappleCAS) is relatively slow in simplifying functions. You might wish to run a time trial race for the two side by side! But I think this is an absolutely great idea, and keep up the wonderful work you have started!
Dmalenke wrote:
I began by finding a couple test points within the calculator that I could control from assembly, then soldered a wire to each and attached them to the ESP32-S3. Next, I wrote some code to send the bytes, bit by bit, for HELLO WORLD over one of the test points using the UART protocol.


Please, do tell, where are these test points and how are you controlling them? I am looking to do this exact thing, as being able to control test points directly is the key to implementing sound, talking to sensors, and basically do everything that the old link port on the 83/84+ monochromes could do.
Great work! What does the final physical integration look like to get the ESP into the calculator's case? As NoahK says, what's particularly important about this hack is interfacing with anything, given the lack of readily available, bit-bangeable I/O on the CE.
From Discord:
Quote:
Dmalenke: TP06A and TP09A. bits 3 and 4 of ports 0007-0009

commandblockguy also said he put them in the wiki.
https://wikiti.brandonw.net/index.php?title=84PCE:Ports:0009
Cool project!
What's your serial number?
That board label has only been spotted on an 83PCE before, not on an 84PCE.
For example, this is a TI-84 Plus CE with serial number 1055002570 L-0516C, a revision C PCE. It also has the test points TP09A and TP06A

This is a really awesome project! Definitely something I'm going to want to try once it's open sourced. It's looking really good so far, keep up the great work!
KermMartian wrote:
Great work! What does the final physical integration look like to get the ESP into the calculator's case?

Here's a picture of the back of the calculator:

I didn't really put much time into making sure the cut for the usb-c port was accurate and all I had was a knife and a lighter. The other holes are for the reset and boot buttons on the ESP32, and a pin header for my oscilloscope to connect to.

Full resolution images are available here: https://imgur.com/a/oqyIlhP

mr womp womp wrote:
What's your serial number?
That board label has only been spotted on an 83PCE before, not on an 84PCE.

My serial number is 1145002102 L-0216C
Looks like a great project indeed, keep up the good work Smile
What is the reasoning behind connecting the 3.3v pin on the ESP to TP27? Doesn't the ESP have its own 3.3v regulator, since you are powering it from the VCBAY+ test point?

EDIT: I realize that the wiring of the 5V pin to the VCBAY+ test point is for charging the calc when the ESP32 is plugged in via USB-C. The 3.3v line from TP27 is likely providing power to the ESP when the calc is turned on, is this correct?
NoahK wrote:
EDIT: I realize that the wiring of the 5V pin to the VCBAY+ test point is for charging the calc when the ESP32 is plugged in via USB-C. The 3.3v line from TP27 is likely providing power to the ESP when the calc is turned on, is this correct?


Yep, that's correct!
I know this is a bit of a necropost, but I somehow missed this project when it was happening! This is really really cool, and I wonder if any more work has been done to it, I would love to try it out
  
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

 

Advertisement