TV output Shield

Hi.

I've made a prototype Arduino TV-out Shield. It's a version of my TellyMate Serial to TV converter.
Before finalising the layout, I've got a few questions...

a)
In the quantities that I'm expecting to produce, long-tailed, straight-through, stackable female headers are too costly.
As an alternative, I'm using separate pins (below) and sockets (above) by offsetting them by 0.1". This means that shields stacked on top are no longer quite directly above the base arduino.
Is this an acceptable solution?

b)
I've routed the GND pin adjacent to the AREF pin directly to the other GND pins. I did wonder if it was supposed to be a separate __A__GND, but I can't find anything to confirm this, so I've joined them all on the same net.
Is this correct?

c)
I've got a single, solitary prototype that works very nicely on my "parts-bin" home-made RS232 Arduino.
My concern is that I may have duplicated assumptions made with the pin-spacing on my "parts-bin" Arduino onto the pin-spacing on my prototype.
Is there anyone [in the UK] that would be willing to have a play with it on a 'real' Arduino?
I've got some really simple test code to go with it.

Example output:

I'm in Bristol, and would be interested in helping out if I can, with an Arduino Duemilanove.

This is pretty cool. Personally I would like to see the serial input have a jumper that would set it to Pin 1. For example, if I wanted to use SoftwareSerial I could remove the jumper and put in a wire jumper to whichever pin I wanted.

I'm in the states, but if you want someone to try this on a Sparkfun Arduino Pro (5V/16MHz version) I could do so for you! :wink:

condemned, an easy "fit test" is to launch EAGLE, slap on one of the standard "Arduino shield board layout" library parts, and then print that at 100%. (You can check the print scale knowing the pin spacing should be 0.1" or 2.54mm, or 1" or 2.54cm from 5V to A5.) Then line up your shield on top of the paper.

I would like a copy of the TellyMate shield when you have it built. Are you keeping the design closed, or will you post schematics/ gerbers/ sources?

Any pictures?

What sort of price will you be selling these at ?

From his webpage in the first message, and it says £12.99 there:


(prototype)

http://www.batsocks.co.uk/products/Other/TellyMate%20Shield.htm

I'm SO buying one of these or the standalone serial variant.

Andrew

Pin spacing:
I've done a quick "paper" double-check and all the pins are in the right place.
[Which is good, because it means that my home-made 'parts bin' Arduino is also likely to be correct :slight_smile: ]

Source code, Schematics etc.:
The TellyMate Schematics and Source Code are already available!
The "TellyMate Shield" is just a "TellyMate" with a different layout.
If you want to build your own, feel free! I'd love to see pictures of the board and what it's been used for.

Pictures:
Andrew's already pasted the only picture I've got at the moment.
[edit: I do have a 640x480 version though]
The final product is likely to look almost identical to the prototype.
If you're after examples of the output, there are a few more 'during development' pictures at the end of the article that covers its design: Text on TV

Prices:
I'm hoping to be able to sell it for £12, rather than the £12.99 that's on the website at the moment.

Timescales:
It'll probably be a couple of weeks until it'll be ready for sale.

Ahh it's Batsocks! I remember you from your website and your nice PWM alternative.

These look really cool. It would be great to use one of these to make something like a ZX81 simulator! Should be easy to do considering the Arduino's have 16 times the memory the ZX81 ever had.

Cool project. I'd buy one of these too. Even my modern LCD has a composite video input on the side.

Yay! Just received my TellyMate shield and run a "Hello World" program on it to make sure it's working. Now to do something interesting with it...

void setup() {
  Serial.begin(57600);
}

int i = 0;
void loop() {
  Serial.print("Hello World: ");
  Serial.println(i++);
}

Andrew

Yes, I got one too. It sure beats a four line LCD, particularly if you need to see the output from across the room. nice product!

You know I had to do this.

Next stop 1K chess...

Andrew

Andrew, that's a brilliant demo - you put that together really quickly!

We (at Batsocks) are building them as fast as we can at the moment - Appearing on 'Make' was a bit of a surprise (albeit a welcome one!). Fortunately I've now got part-time access to a CNC machine so drilling and shaping the boards is now a lot easier.

What are people going to be using them for?
As a general output/debugging device, or does anyone have any more specific plans?

Andrew, that's a brilliant demo - you put that together really quickly!

I already had a Life sketch knocking around from doing it on two previous devices so all I had to do was change the output code to use the TellyMate instead which was very minor.

I'm glad it's proving successful - I think it's a great product that will let more people experiment with Arduinos without the uncertainties of electrical circuits getting in the way of learning the language and software debugging.

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.

Andrew

Right now, I'm planning on making a web message display client using it, an Ethernet shield, and my Webduino library. It would look like an IRC channel, but with messages added to the scroll buffer using POSTs. I could have various sensors post messages to it from time to time.

Not sure what applications I will use it on but the fact that it also emulates DEC terminal control codes really is a plus++ feature that off loads a lot of overhead code for any sketch using them.

Lefty

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. :slight_smile:

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!

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

:slight_smile:

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

so useful!