The idea of placing a Raspberry Pi Zero W and LCD Touch screen into a TI Graphing Calculator case came to me back in December of 2017 when I saw somebody had basically put a Gameboy in a TI Calculator and I thought it would be nice to actually have something that had a lot more functionality, could run a Calculator Emulator, Games, Browse the internet, etc. The idea originally was more to see if it could be done. However, I didn't actually start working on the project until July of 2018 due to moving around a bunch.
By that time, I had acquired a couple of cheap TI calculators that I purchased off eBay that were non-functioning. Unfortunately the first one (A TI-86) wasn't functioning because the batteries had leaked and corroded the circuit board beyond usability. The other was a TI-83.
I started by using a heat gun to remove all of the existing components because I needed the room and just wanted the raw circuit board traces. Next I used some solder wick dipped in flux to to clean any remaining solder and finally used some acetone to clean off any flux and adhesive from the board. I took a digital photo of the board and used photoshop to meticulously trace down all of the button pads in order to figure out the logical layout and plugged the information into a spreadsheet. It turns out they are arranged in roughly a 7x8 matrix with 6 missing potential buttons for a total of 50 buttons. After that, I soldered some thin wires that I took from an old printer cable to the vias on the circuit board so that I could access them later. Finally, I took a sheet of Kapton tape that I had for my 3D printer and covered the board to insulate it from the rest of the circuitry.
To get the screen and it's circuit board to fit, I ended up using the LCD from an Adafruit PiTFT 2.8" together with the circuit board from an Adafruit PiTFT 2.4" hat that I desoldered the connector from and cut down with a Dremel tool after looking at the board drawing in Eagle to make sure it would still work. I do recall it used a split ground plane, so I had to make sure to connect the ground of the Raspberry Pi on both halves of the plane. One of the issues I ran into while attempting to get the screen working is that there seems to be an inherent incompatibility between the Raspberry Pi Zero and the Adafruit displays. I was able to trace it down to SPI not starting up soon enough and adding spi_bcm2835 to /etc/modules fixed the problem. I was able to help Adafruit resolve this issue with that fix.
I used an Adafruit PowerBoost 1000c for maintaining the Lithium Ion battery that I got from Amazon. Since this was intended to run off battery, I put together a voltage monitoring circuit based around the MCP3008. However, for the final circuit, I opted to go with an MCP3002 since it was smaller and had fewer pins. I also used a 74HC595 8-bit shift register for reading the keys on the keyboard since I was running out of GPIOs. I had a custom circuitboard made by OSH Park that had both the shift register and voltage monitoring circuit on it. It worked out well since I needed the board to be small and the smaller I made it, the cheaper it was. I think it was $3.65 for 3 of them, but I paid a little extra for expedited service on top of that to shave a week off.
Originally I was planning on adding an audio jack circuit, but I realized the Pi Zero W has bluetooth and since I have bluetooth headphones, that just made everything easier. That gave me a little room to add a mini HDMI jack to the top of the calculator.
While developing it, I did a lot of testing on a Raspberry Pi 3 B+ and breadboard. Once I got the circuitry back, I soldered everything together and it worked pretty good. There was a small issue in that the code for the voltage monitoring circuit was not working properly because the MCP3002 has a slightly different instruction set than the MCP3008, but after comparing data sheets, I was able to modify the code to return the correct values.
Over the...
Read more »
Hi, i want to replicate this project, but i have no idea how to conenct the rasberry pi to what ports and how you got the keyboard to work onto the rasberry pi, can you message me here
Or email me with instructions on how to make this project. It is really cool to make i believe