Blog Home

Time to put this DIY absolute position encoder to work as a clock

Arduino TeamNovember 10th, 2021

Being able to derive the absolute position of an object is vital in countless applications, primarily for anything that uses a motor. Instructables user holybaf had the idea to build their own rotary encoder, which has 60 degrees of resolution and utilizes a CD to act as a precise clock.

To accomplish this, they first laid down a single circular track featuring patterns of light and dark areas that each correspond to a single value. By reading these areas with a set of six infrared emitters/detectors and comparing their current reading to the previous one, an absolute position can be determined. 

A custom PCB was also designed for this project, which contains the aforementioned IR detectors along with a PCF8574 I/O expander and a pair of headers for connecting an Arduino Uno and an OLED screen for viewing relevant information such as the current time. After attaching a motor and loading some code, the clock was finally complete. 

You can see this device in action below or you can check out the build log in more detail here on Instructables