While the article gave good basic information, I found it lacking on three counts. First, it was centered around a PIC and I needed the code
for an Arduino. Second, the language utilized was Great
Cow Basic; I needed C (and a more robust
implementation that did not rely on global variables — a
known problem with GCB). Finally, the code in the article
was only a demonstration of its potential; I needed
detailed routines. For example, I needed to send numbers
in my code and did not want to be responsible for
converting them to strings first. That is what computers
are for!
My first thought was to look online to see if anyone
had solved this issue before I attempted to reinvent the
wheel. I was disappointed. The only C code I found was
similar to the GCB implementation and poorly written
(unless they were deliberately obfuscating the code). I
would fail one of my students if they wrote code that
declared variables in the middle of a program rather than
at the start of the routine!
So, I have written my own code in the form of an
Arduino library which is available at the article link. The
code will automatically detect the calculator that is
attached: TI 82, 83+, 84+, or 86. The TI 82 does not
support silent transfer, so it is not supported by my code
at this time. After startup, you may send or get any
variable (A-Z on 83+/84+, the 86 supports longer names)
via silent transfer, and you may send any TI command that
the calculator accepts. List sending is also supported and,
of course, data plotting.
For an excellent guide to the protocols, go to
TI- 73...V200 Link Protocol Guide v1.4 by Tim Singer and
Romain Liévin at http://merthsoft.com/linkguide/ and
choose the 83+ or 86. For the command codes, go to
http://merthsoft.com/linkguide/ti83+/keys.txt or replace
83+ with 86 for those codes.
Protocol and Wiring
The August 2013 article has a good description of
the basic protocol, but I will summarize it here. The TIs
communicate over a serial two line (+ground)
communication link. The cable is a 2. 5 mm (3/32") TRS
cable. The tip of the connector is the Data0 line; the ring
While microcontrollers have grown
to be very powerful, sometimes you
need math functions that are not
available or graphic capabilities
that are complex to program. The
popular TI (Texas Instruments) series
calculators (TI 83+, TI 84+, and TI 86)
have these capabilities and are
often found lying around the home
unused. I was looking for such a
device when I was inspired by the
August 2013 issue of Nuts & Volts
which had an article by Thomas
Henry about interfacing a PIC
microcontroller to a TI 83+.
Calculators as
Coprocessors
By William Massano
wmassano@sunymaritime.edu
48 May 2014
Connecting Arduinos to TI Calculators
Post comments on this article and find any associated
files and/or downloads at www.nutsvolts.com/
index.php?/magazine/article/may2014_Massano.