Graphing calculators are nothing less than powerful pocket computers, capable of doing many of the same things as smartphones, desktops, and laptops. Given that they have reasonably fast processors, a display, memory, and ports to interface with the outside world, I set out to making graphing calculators capable of determining their location using standard GPS hardware. I started with the TI-84 Plus / Silver Edition series of graphing calculators, which have a 15MHz processor, a 96x64-pixel monochrome screen, rudimentary timers (as well as one 32KHz crystal timer), and perhaps most importantly, two ports to interface with the outside world. One is a USB OTG port, a mini-USB port capable of acting as either a host or device, and therefore capable of producing 5V for peripherals. The other is a "serial" I/O port with two bidirectional TTL-level data lines. For my project, I chose to use the USB port for power, and the I/O port to communicate with a TTL serial GPS module. I created both the hardware and software necessary to make the project a reality, then suffered through two weeks of trying to get a GPS fix amid the metal canyons of a major US city.
Along the way, the two major technical challenges I faced were building a serial library and powering the module from the calculator. Once I succeeded in building functioning hardware and software, and eventually got a video of the GPS device operating normally, I documented the project in the writeup, video, and pictures linked below. Enjoy, and I challenge you to try building this project as well!