Light programming using Manchester encoding

Mike has been working on a light programmer that uses Manchester encoding. A light programer uses a computer monitor to send data to microcontroller project. We blogged about similar systems earlier.

I wrote a JavaScript application that you can load into your web browser. It takes a message, converts it to Manchester Encoded binary and flashes the result in white and black as the webpage’s background.

This is sensed by a photoresistor and decoded by an ATmega168 using the analog comparator. So far I find it quite unreliable, with lost sync about 60-70% of the time. I guess I got lucky in this video because I got two messages transmitted successfully in a row!

Manchester coding is a type of transmission protocol where level transitions are used to specify the signal bits. Transition from low to high level is read as a logical “1” while the vice-versa is true for logical “0”. The Manchester code is self-clocking, which means that the sender and receiver must use the same timings and some sort synchronization must be employed.

Check out the video after the break.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.