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. Some of the GPS modules e.g. uBlox Neo-6 has built-in USB interface. If you can get CDC driver for the the TI, you don’t even need to bother with serial port.

    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.

  2. 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

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s