TV out for TI calculators using the link port

Do people enjoy wasting 300$ on a bulky convoluted system, that only works for special “Teacher Edition” calculators, and is several years out of date; E.G. the TI-Presenter? [Benryves] certainly does not. So instead of purchasing a TI-Presenter, he made his own TV out system for the TI brand of calculators by using an ATmega168, a few passive components, and some clever code. The only draw backs being: you save 280$, it fits in your pocket, and it works for almost any TI calculator. Bias aside, the system does actually have a few caveats compared to the commercial edition, but the pros far outweigh the cons.

Thank you for the feature! The regular TI-84+ series calculators can be used with the TI-Presenter by connecting an adaptor to the USB port, but as I only have a TI-83+ I thought I’d have a go at constructing a low-tech version on the cheap.

@Michael: I don’t own a dedicated TV, so either use a VGA box or a video capture card.

Hm.. So he takes a screenshot on the calculator then sends that tv… The same thing that the TI link and free software from TI allows you to do from the computer anyways???

Granted it’s still sorta cool as it is a hardware reduction and doesn’t require all the extra stuff that comes with a full blown computer, but seriously when I bought my TI-83+ it came with the requisite cable, and where to download the free software to do all this…

@Winnar: When the calculator is transmitting the screenshot over the link port it isn’t responding to keypresses, so you’d limit yourself to being able to press two keys per second unfortunately. TI’s official offerings tap into the LCD driver hardware, bypassing the need for OS involvement.

For those saying that this could be done more conveniently with a PC, then yes, it certainly could. This was not intended to be a serious project; I saw BrandonW’s video demonstrating TI’s device, and I thought it would be an interesting weekend project to try to replicate something similar allowing for hardware limitations. It also gave me a chance to experiment with NTSC, as I’d only ever dealt with PAL before.

so the system is restricted to calculators with screen resolutions 96×64 and below… glancing through the code, in video.c — there is an initialized variable (video_buffer[768]) which holds screen pixel data ( [96*64]/8 = 768). The RAM on an ATmega168 is 1kB — ti-89’s have a screen resolution of 164×100, which would take a video_buffer[2000] — is this all that’s restricting this system from being used on calculators with larger resolutions, like the TI-89? an ATmega328 has 2kB of RAM, which i don’t think would be sufficient, but a simple port to an ATmega644 which has 4kB of ram, or use an external 23k256 to store that buffer… looks like it’d be exceptionally simple with 8-bit values.

@iklln6: It’d also be a good idea to use the chip’s SPI hardware to clock out the pixel data rather than the current hard-coded delay loop nonsense (which works but is inelegant, to say the least). ;-)

Unfortunately, the ATmega168 is the beefiest microcontroller available from my usual supplier. I’ve used a dsPIC33FJ128GP802 in another project to drive a display at 320×240 (it has 16KB RAM) but that’s from a supplier that has minimum order requirements, higher prices and more expensive shipping.