So, people, this got me thinking. Sorry if this is entirely the wrong place for this post. If so, any pointers welcome.

Anyhow, since it apparently is so easy (hardware wise, anyway) to make a VGA666 GPIO output from the Raspberry, can this approach be tweaked to do:


15 kHz RGB output? This way, Raspberry Pi could drive arcade and TV monitors for faithful emulation of old video games but with greater color separation than you get from the built in composite output.

2) SVIDEO output. https://en.wikipedia.org/wiki/S-Video

3) Composite video. At first glance, this may seem pointless, but AFAIK the built in composite output can not do progressive PAL/NTSC output, just interlace. https://en.wikipedia.org/wiki/Composite_video

4) Drive the deflectors on an old black and white monitor/TV (X & Y) and video intensity directly? (OK - this is pretty far out.)

  • 2
    Why not just use the composite video output on the Pi?
    – Milliways
    Commented Oct 4, 2016 at 23:45
  • The composite output cannot, as far as I know, not output anything but interlace, like 480i. It can't output what is informally known as PAL/NTSC 240p, which was very popular with 1980s computers and game consoles. @Milliways Commented Oct 5, 2016 at 7:13

1 Answer 1


Take a look at the Uzebox project, it has a circuit for doing exactly that, creating NTSC video from GPIOs (from an ATmega, but that doesn't matter at all.)

  • Actually it matters a great deal. The GPIO pins of a raspi can not be programmed like that unless you are running without an OS on the bare metal. Commented Oct 12, 2016 at 15:10
  • Please see raspberrypi.org/blog/gert-vga-adapter. That's the same for VGA output. NTSC output only needs different (slower!) timing plus the DAC resistor network and the NTSC color coder chip used in the Uzebox.
    – Janka
    Commented Oct 12, 2016 at 16:11
  • Ok, I know about the gert-vga adapter. But how would you make it output at a slower timing? This is the holy grail but where is that timing specified? And by NTSC color coder chip, I assume you mean the AD725? Commented Oct 13, 2016 at 12:30
  • 1
    It uses the DPI parallel display interface the BCM283x has. Can be configured separately from the HDMI output, custom timings are done like this: raspberrypi.org/documentation/hardware/raspberrypi/dpi/…. And yes, the AD725 is the color coder.
    – Janka
    Commented Oct 13, 2016 at 22:57
  • Ok, I will look in to that. I did not know the Gert VGA could have its timings configured. If I can get it down to 15kHz I am done! (Plus an AD725). Commented Oct 14, 2016 at 13:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.