No video output from TVout library when using softwareSerial.

I am trying to build a CRT TV clock that sets itself over GPS. I am using the SoftwareSerial Library along with TinyGPS to talk with the gps module I connected to an Arduino Nano, then use TVout to display it on a 2" Sony watchman CRT. I have hit a bit of a snag though. Doing anything with softwareSerial or serial.begin(9600); causes the TVout library to not display video.

If i comment out all the serial related parts of my code, it'll display fine. but then i can't read the GPS.

To keep the post short, I've put my code on pastebin.

Is this something to do with conflicts between the TVout Library and anything serial related, and how would I fix this code to work properly?

Devicemodder:
Is this something to do with conflicts between the TVout Library and anything serial related, and how would I fix this code to work properly?

Almost certainly a timer conflict.

  • You could change either library to use a different timer.
  • Or you could use an Arduino like the Leonardo or MEGA that has a spare hardware serial port.
  • Or you could give up I/O over USB and use the hardware serial port in place of SoftwareSerial.

johnwasser:
Almost certainly a timer conflict.

  • You could change either library to use a different timer.
  • Or you could use an Arduino like the Leonardo or MEGA that has a spare hardware serial port.
  • Or you could give up I/O over USB and use the hardware serial port in place of SoftwareSerial.

just tried changing the code to use the hardware serial port, and i still get no display with tvout.

the TVout Library puts some pressure on the micro-processor and depends on interrupts. If you also depend on other interrupts for Software Serial, you are likely going to end up in trouble at some point even if you fix the timer issue.

You could consider having an Arduino with multiple Hardware Serials

J-M-L:
the TVout Library puts some pressure on the micro-processor and depends on interrupts. If you also depend on other interrupts for Software Serial, you are likely going to end up in trouble at some point even if you fix the timer issue.

You could consider having an Arduino with multiple Hardware Serials

so like a mega? i'll give it a try then.