I am designing a Pmod-compatible PCB that interfaces with TI graphing calculators and peripherals which use the 2.5mm TI graph link connector. The purpose of the board is make it convenient to connect to the calculator DBus without having to solder a cable, provide a convenient pin-out, and to translate the bus voltage to support 3.3V and 5V. The Pmod connectors are very common with FPGA development boards and this idea originated in the [Verilog] FPGA as ti link cable topic which I'm not splitting out to avoid derailing the Verilog discussion. The board is generic though and can be used with any circuit in the 3.3-5V range, such as Arduinos, Raspberry Pis, or your homebrew 6502 on breadboards.

I'm using the 6-pin Pmod interface for VCC, GND, and the two bi-directional tip and ring connections. For each tip and ring there are pull-up resistor, diode, and NPN transistor to allow interfacing with buses of different voltages and out to a 2.5mm stereo TRS jack. I'm optionally provisioning for LC low-pass filters for each tip and ring, similar to what is used in the USB silver graph link, TI keyboard, and TI graphing calculators. For debug, also providing pads for a 1x3 header on the DBus side. I'm planning on the following parts (* means optional):

Code:
Type            | Manufacturer | Part #           |Qty| Cost | Total
----------------|--------------|------------------|---|------|------
Pmod Connector  | METZ         | PR20206HBNN      | 1 | 0.16 | $0.16
Bias transistor | Toshiba Semi.| RN1911,LF        | 1 | 0.14 | $0.14
Schottky diode  | Panjit       | BAT54DW_R1_00001 | 1 | 0.12 | $0.12
Pull-up Res.    | YAGEO        | RC0805JR-1310KL  | 2 | 0.01 | $0.02
2.5mm TRS audio | Kycon        | STX-2500-3NTR    | 1 | 0.97 | $0.97
Inductor*       | TDK          | NLV25T-2R7J-EF   | 3 | 0.14 | $0.42
Capacitor*      | YAGEO        | CC0805KRX7R9BB104| 2 | 0.02 | $0.04
Debug header*   | METZ         | PR20203VBNN      | 1 | 0.04 | $0.04
PCB             | DK Red or OSH| -                | 1 | 1.50 | $1.50
-------------------------------------------------------------|------
Total                                                          $3.41
Total (no optional)                                            $2.91

Edit: switched capacitor and updated prices after ordering

I'm planning to order the parts and PCBs relatively soon for the prototype build. If it works as intended, I'll likely have a few spares to share if anyone is interested. Current "Rev A" schematic and PCB are available: https://github.com/queueRAM/pmod_ti_graph_link
Neat. I'll follow how this goes. Definitely safer than my crude arrangement. Laughing
I like how efficient and economical this is also!
It's for a different purpose, but I'm quite fond of rfdave's admittedly larger solution: https://www.cemetech.net/forum/viewtopic.php?t=8132 . We used it at Maker Faire and T^3 to demonstrate ArTICL and do other prototyping. Yours is great if the goal is to connect a single calculator to other hardware in a compact package, and I love the level-shifting!

tr1p1ea wrote:
I like how efficient and economical this is also!

Thanks, I spent quite a bit of time researching diodes and transistors to try and optimize the cost down while keeping something that still works and could be hand-soldered. I updated the BOM in the post above to reflect what I ended up ordering. Looks like could get away with something around 3.50 USD each given the relatively low quantities I ordered.

KermMartian wrote:
I'm quite fond of rfdave's admittedly larger solution: https://www.cemetech.net/forum/viewtopic.php?t=8132 . We used it at Maker Faire and T^3 to demonstrate ArTICL and do other prototyping. Yours is great if the goal is to connect a single calculator to other hardware in a compact package, and I love the level-shifting!

Thanks so much for sharing all these projects. While I've been quite a bit of time reading through post history in the forums, I hadn't come across this project before. Unfortunately, looks like a couple of the images linked no longer load. Your final picture is great though, what a lovely board from rfdave!

Do you know if this project was using internal pull-ups on the Arduino? Not using level shifting on the PCB can work since this generation of Arduino runs 5V. The only concern would be if 3.3V + diode forward voltage drop from the calc would be too low for the Arduino to read a high level, but if it worked then can't argue against that.

If you're running a dev board that is not 5V tolerant I/O (e.g. first gen Raspberry Pi Picos or many FPGA dev boards) or are using 5V calculators that can actually run 6V+ with fresh batteries (e.g., TI-80 or TI-86), then level translation is needed to be safe.

Because I like pictures and colors, here are renderings of the two style of PCBs I ordered. Parts should arrive next week and boards in about 2 weeks. I'll update as those come in and I'm able to test.
The first set of prototype boards have arrived! The board manufacturing looks very clean. I've confirmed with continuity testing that the layout is as intended. Next, I'll solder a few variants with different headers and inductors/jumpers to test the circuits.
I built up two boards, one with 2x inductors on the tip/ring and the other with 3x jumpers. For an end-to-end test, connected them into a breadboard and wired a TI graph link cable between the boards. One board powered with 3.3V and one with 5V. I used a button to toggle each of the 4 lines low and recorded measurements. The signals look very clean, except I do see a minor dip in the other net when one goes low. I'm not sure what is causing this, but this is not causing any communication issues and would be likely filtered out with the capacitors.

I also connected it to an iCEstick running the [Verilog] FPGA as ti link cable and confirmed that link86 still works through the Pmod board to the TI-89. Due to come compatibility issues I'm having with the patched TiLP, I haven't been able to test with the other TI graphing calculators such as 80, 83, 86.

Awesome. They are so beautiful too.

I'll try and get some made next time I order some PCBs Smile
rv68k wrote:
I'll try and get some made next time I order some PCBs Smile

Oh, I just updated the verilog thread. I have plenty of spare PCBs and some spare parts. If you're ok with either red or purple solder mask, I'm happy to ship you some
I ordered purple solder mask of Rev A from a different vendor and those arrived. Overall, board quality is just as good as the red version so very happy with both boards. The purple boards arrived still attached to each other through the panelization and cutting process that the manufacturer performed, so I had to separate them with cutters and file down the edges. I put together two different version: one with the usual right angle Pmod connector and one with straight version that can be more easily used with breadboards.

Design seems to work well with everything I've tested so far, so I don't think I'll make a Rev B. These are some things I learned through this process and might do differently:

  1. Rotate and space the debug connector J3 so can it can be used across a breadboard without 2.5 mm jack
  2. Make pads for D1 and Q1 slightly longer to make manual soldering slightly easier
  3. Wire unused Pmod pins to pads for LEDs
  4. Replace L3 (inductor shield to GND) with short that can be severed so don't need to solder jumper

  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement