Skip to content
David Banks edited this page Jul 19, 2018 · 12 revisions



The RGBtoHDMI interface converts the "digital" RGB video signal from the BBC Micro or Electron to HDMI compatible with most modern TV/Monitors. The interface comprises a Raspberry Pi Zero and a specially designed Hat containing a small CPLD. Custom firmware on the Raspberry Pi, in conjunction with the CPLD, is able to correctly sample each of the Beeb's video modes to give a pixel-perfect rendition.


RGBtoHDMI is currently at the prototype stage - just 10 have been hand-built and allocated to keen Stardot members.


Source Code


Release Statistics


RGBtoHDMI User Guide


For support, please use the Stardot Thread

Technical Challenge

The main challenge with this project was successfully sampling Mode 7 on the Beeb.

The difficulty here is that the pixel spacing is very uneven:

This is because of the way the Beeb generated the 6MHz clock from 2, 4 and 8MHz clocks:

The clock edges (both are used by the SAA5050) deviate from where they should be with a pure 6MHz clock, but crucially the differences repeat every 6 edges.

The CPLD on the RGBtoHDMI interface allows the pixel sampling points to varied in units of 10.4ns (1/96MHz) over a range of +/- half a pixel. In mode 7, six possible sampling points can be configured, to match the clock skew.

An automatic calibration process is used to set these sample points.

You can’t perform that action at this time.