Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
overlay64 - video overlay module

The overlay64 module allows superimposing predefined texts onto an
existing composite signal or onto the luminance portion of an s-video
signal depending on the states of up to sixteen digital input
lines. An LM1881 video sync separator IC is used to detect the
vertical and horizontal sync pulses of the video signal. An Atmega1284
uses these signals to synchronize with the video signal and to
superimpose text on the video display by bit-banging the corresponding
characters over SPI.

The user writes a simple configuration file that determines which
texts are to be displayed for which input line states. The
configuration file is converted to a binary format using the supplied
commandline tool before flashing it to the Atmegas's eeprom memory via
the USB interface.

Possible uses include displaying the state of control lines for
additional hardware installed in a homecomputer such as the Commodore
64, for example to display the currently selected kernal based on the
state of the control lines for a multi-kernal adapter.

An early working prototype can be seen in this video where it displays
the runtime configuration of the MixSID Stereo SID board:

This repository includes the complete sourcecode of the client
software, the firmware and all design files in KiCAD format.


Hardware licenced under CERN OHL v.1.2, see ./hardware/LICENSE.txt
Software and firmware licenced under GNU GPLv3, see ./LICENSE

The software contains MIT licensed code from for reading Intel HEX files, Copyright
(c) 2013-2015 Kimmo Kulovesi, see ./intelhex/LICENSE

The firmware contains the V-USB Driver (,
(C)2008 Objective Development GmbH.

Distributed in the ./bootloader directory is the USBasp bootloader,
(C)2013 Stephan Baerwolf ( and (C)2008 Objective
Development GmbH (

In compliance with the terms of the (identical) V-USB driver and
USBasp bootloader licenses (./firmware/usbdrv/License.txt and
./bootloader/License.txt), the entire project is published under

In addition, this distribution contains

- a circuit diagram in PDF format, see ./hardware/overlay64-schematics.pdf
- the full source code for the host software in ./firmware
- this README file
- references to

The USB Product and Vendor IDs for the Overlay64 USB device have kindly
been provided by OpenMoko, Inc (