GPS For A Graphing Calculator

GPS [Chris], graphing calculator hacker extrordinaire, has seen a few of his projects show up on the front page of Hackaday, mostly involving builds that turn graphing calculators like the TI-84 Plus shown above into something that copies a few features from a smartphone. His latest build, a hardware GPS module attached to the TI-84 Plus, is yet another feather in his cap of awesome and impractical addition to a classic piece of hardware.

There were two major technical challenges behind adding GPS to a graphing calculator. The first of these was powering a GPS sensor. Many a calculator modder has put a lot of work into documenting the USB port on the 84 Plus, revealing it is a USB OTG port, capable of serving as a host or device. It also supplies 5V of power to just about anything, burning through batteries as a result.

The next challenge was reading the data coming off the GPS sensor at 4800bps.The TI-84 Plus series of calculators have a series of interrupts that can fire at fractions of the 15MHz clock. By setting the timer up to fire every 197 clock ticks and dividing again by 16, [Chris] can read data at 4758.9bps. It’s close enough to get most of the data, and the checksum included in the NMEA protocol allows the software to discard bad messages.

15 thoughts on “GPS For A Graphing Calculator

    1. The difficulty is that writing USB peripheral drivers for the calculator is at least as challenging as just bitbanging serial. I could have not removed the USB-to-serial adapter originally attached to this module. The only documentation we have on the USB IP is stuff we’ve painstakingly reverse engineered, as neither TI nor the company that originally designed the IP has been willing to share the datasheets and other documentation.

      1. Yeah cool…now we can track Block Dude lol. Great work, this is so cool. It would be nice to get power consumption down so it could be used longer. I know people have hooked up power supplies, you could power it from your car, and have a mobile GPS w/ more reliable power.

  1. I wonder why he didn’t divide by 8 instead and make use of the extra sampling to avoid bad messages like that? Maybe just dropping messages ended up simpler? in the long run?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.