Go Down

Topic: TV output Shield (Read 2954 times) previous topic - next topic

estranged

This is a really well designed shield, and is dead simple to use.  A great addition to anyone bag of tricks!  Thanks so much for making it. :)

condemned

Quote

So far the only thing that's occurred to me that I wish it did is to have a third colour so you could use chroma-keying and do overlays, but I guess that would up the complexity somewhat.

Overlaying:
Video overlaying does increase the complexity somewhat - a LM1881 (or similar) chip would be needed to extract the sync pulses from the input video, and then the scanline generation would need to be hooked into that. Not a problem per-se, but I'm not sure that the market is there.

Colour:
Colour is out of the question at the moment. There are three issues:
a) Memory.
There is currently one byte per character, meaning 950 of the Mega8's 1024 bytes are used for the display. That doesn't leave much for the TellyMate to play with (in fact every single byte of RAM is used).

Moving to an AVR with 2k SRAM would solve this problem and allow 2 bytes per character - one for the character, one for the "colour" to display it with. The encumbent increase in flash space would also be beneficial (different character pages?).

b) Colour signals
Outputting colour composite signals is beyond the capabilities of an AVR clocked at 16Mhz. It would need the services of something like an AD725. These chips are about £10 each (as far as I can find).

"Greyscale" is, however, still possible without this chip.

c) Pixel clocking
The clocking of the character pixels would have to be moved away from the Mega - even using the SPI output, there just aren't enough clock cycles for the Mega to control colour as well. The addition of a latched PISO shift output and an analog switch would be needed to allow the character pixels to be output with different background/foreground colours.


Summary:
Black and White video output is tricky. Colour is even worse!

Mike Mc

I got mine - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1242396843

:)

retrolefty

Got mine too, today. Only four days to ship from England to West Coast of US, I'm impressed. Works great on first check out. I really like this product and can easily recommend it for a low cost video dislay.

Lefty

mksimith2



condemned

Warning: mksimith2's posts = SPAM. Please ignore. Nothing to do with Arduino's.

The_Bongmaster

it would be awesome to take the TTL signal from my gps receiver and output the data as something understandable to a mini tv a screen :)

(i know i can just bluetooth it to my phone but where is the fun in that? :P)
B-dui in creation.

condemned

#23
Jun 21, 2009, 12:25 am Last Edit: Jun 21, 2009, 12:33 am by condemned Reason: 1
There has been some interest (hello, The_Bongmaster) in using a bootloader to program a chip for use in a DIY TellyMate (e.g. for breadboarding).
To that end, Release 1.0.10 of the TellyMate source code has pre-compiled .hex files for 4 different chips (with identical functionality):
    Mega8, Mega88, Mega168 and Mega328p.

The Mega168 and Mega328p versions are suitable for programming using bootloaders as they take up a relatively small amount of their chips' flash (50% and 25% respectively). The Mega8 and Mega88 versions are not suitable for use with bootloaders, as they take up nearly all the flash on their chip, meaning there's no room for a bootloader.

Caveats on using a bootloadered TellyMate:
a) There will be an extra delay (depending on your bootloader) before the TellyMate code starts.
b) Resetting the TellyMate using <ESC>Z may cause the bootloader to be entered (I'm not sure though)
c) If you've got a bootloadered TellyMate attached to an Arduino, be sure to disconnect it before uploading a sketch to the Arduino - otherwise it may attempt to upload to the TellyMate at the same time!

The following (hopefully fairly generic) instructions should help in getting a pre-compiled .hex file uploaded to a chip that's already programmed with an Arduino bootloader.


Note: There must be room for the code on the chip! You won't be able to upload an 8k firmware onto an 8k part that's got a 2k bootloader!
Note: The size of the .hex file is not the size of the firmware (the .hex file is padded, encoded, contains checksums etc.)
Note: I've got a windows box - your file locations will probably be very different to mine.

    1. Put the chip you want to program, into your Arduino.

    2. Don't forget to set correct chip/bootloader from the tools->board menu in the IDE.

    3. Turn on the verbose output for uploading:

      a. Find your preferences.txt file for the Arduino IDE. Mine was at

    C:\Documents and Settings\Nigel\Application Data\Arduino\preferences.txt[/list]
    b. Change the line that reads upload.verbose=false to upload.verbose=true.
    [/list]
    4. Upload any simple sketch to the Arduino. You'll find the output is now incredibly wordy.

    5. Find the call to avrdude in the output... mine said:

    C:\arduino-0015-win\arduino-0015\hardware/tools/avr/bin/avrdude -CC:\arduino-0015-win\arduino-0015\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pm8 -cstk500v1 -P\\.\COM1 -b19200 -D -Uflash:w:C:\Documents and Settings\Nigel\My Documents\Arduino\TellyMateShield_Maze\applet\TellyMateShield_Maze.hex:i

    (yes, my Arduino is M8 based. Stop sniggering. It's not how big it is - it's what you do with it.)
    [/list]
    6. Drop to a command-line (or create a batch file or whatever) and Copy the avrdude command found in step 5, replacing the *.hex path+filename with the .hex file you want to upload and then run the command.

    Note: Just to re-emphasise... Don't copy my avrdude call shown above! Find your own!
    [/list]
    7. Remove the chip from the Arduino.

    8. Straighten the pins (again). [or is that just me?]

    9. Rejoice in your newly programmed chip.
    [/list]


    Mike Mc

    Awesome! So the shield can act as an Arduino on it's own and serial output goes to the screen? That is fantastic. Will make it nice and easy to debug programs with this.

    condemned

    Mike, I think it's the other way 'round. The Arduino could be made to become a 'TellyMate'.

    I'd assumed that The_Bongmaster was going to remove the chip from the Arduino to use in a stand-alone TellyMate made on a breadboard, but I suppose you're right - the Arduino itself could be made into a TellyMate with the addition of the additional tellymate circuitry! If it helps, I'll draw up a simplified schematic...

    Of course an Arduino wired up this way will be single-function, e.g. a TellyMate, but it should respond to serial
    data from the PC in the normal way.

    The_Bongmaster

    #26
    Jun 21, 2009, 01:08 pm Last Edit: Jun 21, 2009, 01:09 pm by The_Bongmaster Reason: 1
    thats great :)

    thanks for doing this :D

    I have a dual core board with a chip in right now that can be used to test :)

    following the schematic i should be able to either breadboard the whole thing or just breadboard from the relevant pins from the DC board :).

    I'll let u know wat i do and how i get on later ;)
    B-dui in creation.

    The_Bongmaster

    well the crappy 5" tv i had only picked up the composite signal on the vhf band and not thru is composite in, tho the signal was crap what with it being a bleed signal. but i was able to tune in enough to see the text appearing on the screen so the code appears to work nicely on the 168 :)

    i need to dig out my pocket lcd tv and see if thats any better XD hopefully i will be able to see the stuff on the screen XD

    at leas i  know my breadboarded mock up works :)

    thnx for the code and how to on uploading it ;)


    any chance of there being a VGAmate? XD
    B-dui in creation.

    Go Up