Now, I know I'm not known for tinkering with hardware, but I obtained an 81 a while ago and I had an idea about using a crossport switch IC to automate the keypad. As some of you may know the 81 doesn't have a linkport, however there is an ACE exploit that you can type in on-calc ... butit is very long and it's easy to make an error. I thought this project might be a way to make things easier!

Now I had this idea in February before lockdown and decided to make it my 'isolation' project, so I ordered the parts I needed - unfortunately they took 16 weeks to arrive :S.

Not to worry!

The 2 components I decided to use were:

ESP8266 Wemos D1 (clone)
MT8809AE 8x8 Crosspoint switch IC <- 16 weeks to arrive (from China)

I was going to use a BLE module that I had laying around however I am not as familiar with it as the 8266 and I figured Wi-Fi might open up more possibilities (internet calc control?)

I also found a similar project which uses a similar IC with a C64: https://github.com/podstawek/key64tapper I was able to see how to control the IC thanks to this cool project.

I found out that although the 8808 and 8809 have the same pinouts ... there are active changes between critical pins on the 8809 (active low instead of high). But was a simple fix in the end.

Some breadboard testing (pressing zero over WiFi):


This is a link to the via's I tapped into for the key matrix rows/columns: https://tr1p1ea.net/files/downloads/screenshots/hardware/TI-81WIFIKeypad/keypad_back.png

Once I found that out (some tracing, some trial and error that nearly fried my calc :S) I could start soldering. End result trying to tuck the wires out of the way:



The Esp8266 code is a basic web server that listens for a certain request along the lines of <ip address>/key?addr=n - where n is a 6-bit address for the key matrix (3-bit x/y). It then replies with 200/OK or throws an error if it's a bad address. Unfortunately the ssid and stuff is hard coded at present, might do something about that.

And amazingly for the first time ever it actually worked first try!
https://tr1p1ea.net/files/downloads/screenshots/hardware/TI-81WIFIKeypad/First%20test.mp4

Now I'll have to make a rough client that can send a list of key strokes the the calc to do something useful.
That's pretty cool, especially the part where you hooked into the calc through the vias (which explains a lot back when I looked at my own calculator), and I liked the explanation of the project that's just detailed enough to get started on my own while still leaving the joys of discovery mostly intact.

Nevermind about how you can automate ASM program input; You can now add and subtract without needing to reach for the actual device! Razz Ultimate laziness ftw.
It's always good to see more hardware hacking in the calculator community, especially from such an established member. I'm intrigued to see what you can do with this, whether putting ACE on the calculator easily and error-free, or adding a webcam so we can control your TI-81 over the internet.
With some great help from Tari I was able to incorporate the ON button as well by leveraging RX on the ESP8266 as a GPIO through a transistor. The end result is the entire Unity 1.1 installation can be completely automated:


This is at 2x speed since the install takes 15mins. This is because I've put in a delay of 500ms between keypresses to allow the TIOS to load menus etc. This could be tightened up, but it's a proof of concept for now.

Either was it's way easier than typing it in by hand!

EDIT - There is a bit of a problem with the ON button.

With some awesome help from Tari I managed to get the ON button automated by wiring it to the 8266 like so:



And it works great.

The only issue is that for some reason if I cut power to the wifi module the calc either crashes or the ON key refuses to work.

I need to be able to cut power otherwise the module drains the batteries really fast.

Note that the ON key is not set up like the rest of the keypad.

Any ideas?

EDIT2 - With great help from Tari and TheNik I managed to troubleshoot the issue - me having a bad/lazy setup for the power switch (on VSS instead of VCC) which was allowing the transistor base to be high when the unit was not powered. I fixed that and then isolated the crosspoint switch so it runs off a seperate 5V->3.3V regulator so it doesnt interfere with the keypad when the ESP is off.

So that took the current consumption from 95mA down to 8mA when running and 2.5mA when the calc is off, which although still using some current it's a drastic improvement.
  
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