Search SpikenzieLabs:

Simple way to sync computer audio to an external micro-controller.



I needed to sync audio played on the computer to a circuit outside of the computer. I didn't want to spend a long time building custom software that would play audio while outputting a serial control signal. Fast and simple is what I was looking for.


After talking to one of my friends about this, he said “Just put it in iMovie with white squares at the being.” Thanks Andy. Here is my implementation. It's old style analog to digital,  a small circuit to interface TTL logic to a computer screen.

How it works:

An op-amp is set up as a comparator with a CDS cell as input. When the screen area turns white the resistance on the CDS cell changes and triggers the comparator. The rest of the circuit conditions the output into a cleaner 0-5 volt level . Then, this conditioned signal is used as an digital input to the PIC.

What it does:

In iMovie I placed white fills right before the audio that I wanted to have synced. And, black fills during the audio. Then I placed the sensor part of the circuit on the screen in such a way that it was over the area that was going to change from black to white.

In my external circuit the PIC waits until the sensor sees a white fill. The PIC then waits until the end of the white fill and exactly at that time does what it needs to do with the audio that is about to start playing. The start of the next white fill signals the end of the current audio sample.

741 Op-amp set-up as a comparator.

CDS input from the screen comes from the grey wire on the right.

The card board sensor “clipped” onto the laptop display.

CDS cell from the screen side of the sensor.

Schematic made in Eagle v5 on a Mac.






How To + Info