I've done my share of TI calculator hacking in the past. The TI link protocol (at the lowest level, where a USB-to-TI cable is concerned) is extremely simple. It's a half-duplex serial protocol with 3 wires on a 2.5mm TRS connector (red=tip, white=ring, ground=sleeve). The red and white signals are pulled to +5V with pull-up resistors, so either end of the communication can pull them down.
To send a 0
bit:
- Pull red down.
- Wait for white to be pulled down.
- Release red.
- Wait for white to be released.
To send a 1
bit:
- Pull white down.
- Wait for red to be pulled down.
- Release white.
- Wait for red to be released.
The protocol sends the LSB of each byte first. A sender may timeout after a second or so whenever it waits for the other side to pull down/release a signal.
Edit to add: since Arduino comes with a USB to serial adapter, all you really need to do is listen for data coming in over Serial
and for data coming in over the "red" and "white" signals and then transfer the data to the other one (read from Serial
and write to the TI link, and vice-versa).