Blog Home

Optical drive plays large wooden discs

Arduino TeamSeptember 16th, 2020

Optical media normally contains information in the form of 1s and 0s that are much too small to be seen by the human eye. This can make understanding their operation less than straightforward. To solve this problem, Jon Bumstead constructed an Arduino Nano-controlled player that uses wooden discs, with holes and solid sections large enough to clearly show what’s going on.

The discs spin under power from a DC motor, while a stationary laser/sensor pair keeps track of its rotation via repeating holes. A second laser assembly moves in and out on the disc using a stepper motor to read data, returning short messages like “don’t panic” on the LED matrix screen below.

Instead of being based on light interference like CD players, the device I built plays wooden discs with holes and “non-holes” (as I refer to them in this instructable) that either pass or block a laser beam. These holes and non-holes correspond to 1’s and 0’s in binary data that code a text message, like song lyrics or a quote. The binary information is read off the disc, stored on an Arduino, and decoded to display the text message on an LED matrix on the front of the device. As the data is being read, the LED matrix is populated to visualize the binary information. When a high bit is read, a MIDI note is also played. The music produced may sound random, but it symbolizes a series of 1’s and 0’s that actually holds meaningful information.

The wooden disc player I created can only hold about 700bits (<0.1kB) because of how large the holes are in the disc. Therefore, the messages that can be stored are short. For reference, a CD can hold around 700MB of information, which is about 10 million times more information than the wooden discs I made. The whole project helps imagine the scale of information storage on CDs (an already dated storage device) and how the digital information is read and decoded into something meaningful to humans.

Boards:Nano
Categories:Arduino

Leave a Reply

You must be logged in with your Arduino account to post a comment.