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.

Comments

  1. Just curious, how is it showing on a VGA monitor? Does that monitor have NTSC in? I realy need to read the whole thing probly

  2. DanAdamKOF says:

    Neat hack. I’d like to think that a footpedal or some other remote pushbutton could make the screenshot capturing a bit more tolerable.

  3. Trollicus says:

    Cool, I have a version of brickout for my TI, that makes it a game system!

  4. Trollicus says:

    OOps, I didn’t read this well, only a capture. I shouldn’t jump to conclusions like that, I got excited.

  5. geekwrench says:

    why doesnt he just use the free PC calculator from Graphcalc.com? its in full color and has much better resolution, for free!

  6. Winnar says:

    Couldn’t he have built it to capture and display the screenshot automatically? If it could do like 2x/second it wouldn’t be that much worse than displaying it in realtime like with the TI presenter.

  7. Ben Ryves says:

    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.

  8. WickedShell says:

    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…

  9. Ben Ryves says:

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

  10. iklln6 says:

    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.

    so lets get to it

  11. M4CGYV3R says:

    Note: Please don’t link to XKCD. If I have free time, and I click to that page, I will waste hours reading comics.

  12. Daid says:

    @iklln6: Don’t forget that you also need to output video at that resolution. Generating PAL/NTSC signals with an AVR has it’s limitations.

    The HackVision post from about a week ago also contains the PAL/NTSC driver. But you can generate VGA signals from an AVR as Jody Taffey pointed out there: http://avga.prometheus4.com/index.php?p=6-0

  13. Ben Ryves says:

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

  14. blue carbuncle says:

    Nice Work :)

  15. mike says:

    does the framebuffer in the AVR ram really need 8 bytes per pixel?, i think you could cheat and get 8 pixels per byte and save alot of ram, though it complicates drawing some more

  16. Ben Ryves says:

    @mike: It’s 1 bit per pixel (8 pixels per byte), so for a 96×64 pixel screen image that’s (96*64)/8=768 bytes, which fits in the 1KB RAM of an ATmega168 nicely.

  17. dme88 says:

    Nice, BUT why not just use Virtual TI? Then the students will be able to see which buttons you push.

  18. @Ben Ryves: that guy, he’s quite clever, right? But how about the size of program?

  19. tapius says:

    Haha one of my HS math teachers actually put the TI on the overhead projector… this is a really cool hack

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

Follow

Get every new post delivered to your Inbox.

Join 93,890 other followers