Hi to all,

I would like to share my project: replica of TI-86 running on STM32F407. Here is short description and source files:
http://hsl.wz.cz/ti_86.htm

My goal was to have practically usable real hardware running on batteries. It consists of LCD, MCU, keyboard, battery, link interface, USB connector. Moreover it supports gray link on USB virtual COM port (USB-CDC).

Hynek[/img]
Welcome to Cemetech, hynek, and this looks like a really exciting project (and related to two projects we have underway to integrate a Raspberry Pi into a calculator case). Would you mind editing your post with a longer summary of the project and an [img] or two? I'd also be curious to hear about any particular stumbling blocks you ran into along your way, especially regarding the speed of the STM32F4xx relative to what one needs to emulate a calculator at full speed. I'm also curious what kinds of future plans you have for this project, including things like a case and expanding it to more models. Thank you for posting this very cool project here and sharing it with us.
Wow, that's an awesome project! What was the most difficult part? Also, does it emulate greyscale correctly? I wish my TI-86 still worked Sad
I had two aims with this project:
1. to learn new MCU (STM32F4xx)
2. to produce practically usable result
There were also another interests (interest in hardware, calculators, way of relaxing... i.e. having fun making such projects Wink)
So I took MCU, LCD used in other of my procets, made keyborad and link connection, prepared battery holder. After ensuring that I am able to uderstand how TI-86 works (with easy PC application) I started my work on real hardware.
I think that the most difficult part was virtual USB gray-link. It was not problem of USB or MCU but with TI's PC TI connect application. It took me some days of debugging USB to find that not all virtual COM ports can work as gray link. After changing COM port number to sufficiently low number helped and suddenly everything worked as expected.
Another difficult thing to solve was low power after power off is applied. SMT32F4 - at least with RAM enabled - is not low power device. It consumes about 140uA. There are more solutions (external parallel/SPI/I2C RAM/flash/FRAM, SD card). To keep this project simple (MCU, LCD, keys, battery) I have decided to save all RAM into MCU's flash memory (about 1 hour after powering off). Now, the power is low enough (some microamps).
I realized the power of STM32F4 when I worked on reverse-engineering TI-58 preparing ROM dump (another recent project). Some years ago I would use FPGA, today one MCU is enough. Still missing some CPU power? Just add some extra clocks up to 168HMz. To be honest, such frequency is still over all my needs. TI-86 replica runs on 16MHz in idle and switches to 64MHz when needed (calculations or USB connection). When compared to real calculator speed it seems quite similar. I never tried running TI-86 replica at full STM32F4 speed - the reason is battery consumption. I tried to keep the consumption as low as possible for real calc use.
I haven't tried yet how grayscale works. LCD has not grayscale support so it should work as on real calculator: duty cycle of LCD content change will produce illusion of grayscale. The quiestion is how will it slow the calculator down. If such application will be needed, I would suggest to make two (or even more) buffers for LCD control to prevent time-consuming part of LCD data preparation.

My slogan is: until it works, do not modify it. So I have no plans to make any case for it yet. It even corresponds to many tools I have in my work: they are funtional but without any case. One of my ideas was to use original case but unfortunately I wasn't able to find this calc here. I was really near such solution but one fiend managed to throw nonfuctional TI-86 to bin before I asked for it.

It took some time to choose this calculator model. What I appreciate the most is straightforward Hex conversion which is not common for any other calculator. I use such formulas (calculationg many hex values from real inputs) quite often so this calculator helps me a lot every work day.
After some calc research I still think that TI-86 is one of the best calculators I can have for my job. I don't plan any extension or other model's support. But I think that it is not difficult task to do. If someone interested in such work will continue, I will be happy to read about results.
  
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