Coding creating display issues.

Store Forums Video Experimenter Bugs/Problems Coding creating display issues.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #594

    So I just spent the last two hours trying to figure out why my video shield had been working and suddenly started up with this awful video synch issue (my text was zooming across the screen horizontally).
    Turns out my shield had no trouble displaying the “text and graphics overlay” code but when I tried the TVout Demo NTSC file or the example sketches from the TVout wiki (included demo, serial demo, etc) it ran in to synch/display issues.

    What’s up? i really wanted to try out that TVout Demo NTSC file.
    Thanks in advance folks! O0


    If the Text and Graphics overlay sketch works, then there is nothing wrong with the hardware. To use a normal TVout sketch (like Demo NTSC) you are using the Arduino as a source for the sync, not the input as a source of the sync. So set the jumper to D9 (the pin that produces the sync) and set the switch to SYNC ONLY. There’s a table on the documentation page that describes this:


    thank you for helping michael… perfect…
    I sincerely apologize, I double posted on this issue…
    I thought this first post didnt go thru because i didnt see it right away.. then i made some progress…. then i returned with this post (realizing posts need moderation approval).
    cheers and your help is once again appreciated.
    take care


    Awesome, glad you’re up and running!

    [sorry for the slow response on the moderation…]


    no problem at all, take your time, all is good.

    one last question though… is there any way to overlay the demo script without relying on arduino as the synch source, thus creating a screen with both an incoming video signal and a healthy happy demo video?

    cheers, cheers


    Sure, just use the overlay initialization like in the VE project. Call [tt:210msd7d]initOverlay()[/tt:210msd7d] in the [tt:210msd7d]setup()[/tt:210msd7d] function. The code below needs to be in your sketch.

    // Initialize ATMega registers for video overlay capability.
    // Must be called after tv.begin().
    void initOverlay() {
    TCCR1A = 0;
    // Enable timer1. ICES0 is set to 0 for falling edge detection on input capture pin.
    TCCR1B = _BV(CS10);

    // Enable input capture interrupt
    TIMSK1 |= _BV(ICIE1);

    // Enable external interrupt INT0 on pin 2 with falling edge.
    EIMSK = _BV(INT0);
    EICRA = _BV(ISC11);

    // Required to reset the scan line when the vertical sync occurs
    ISR(INT0_vect) {
    display.scanLine = 0;
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.