Barcodes were revolutionary in retail, as they provided a cheap and reliable way to print machine-readable data onto product packaging. These let cashiers quickly and easily scan barcodes in order to enter a product’s relevant information into their point of sale system. Barcode readers are essentially very rudimentary computer vision systems that convert the printed barcode into data. That data is encoded as dark bars with varying thickness and varying space between bars. That data is usually just a numerical UPC, but it can be used in other ways. YouTuber James Bruton used barcodes and readers to build two different guitar-like synthesizers that operate in unique ways.
Bruton built the first of these guitars last year using an Arduino Mega board with a USB host shield on top. That host shield let him plug in a USB barcode scanner, which is exactly like the kind you’d see at a supermarket. The guitar has four necks that are lined with numerous barcodes. Each of those contains only a small amount of data, like “6F” or “8A.” These correspond to a particular octave and note. That information is then sent as a MIDI note to a synthesizer to play music like any other MIDI controller would be able to do. This worked pretty well, but required a lot of barcodes and forced Bruton to move the barcode scanner around a lot to reach all of those barcodes.
In his newest video, Bruton demonstrates a completely new barcode guitar design. This one takes more of an analog approach in place of simply storing MIDI data. This new guitar has a modified barcode scanner that creates a specific frequency based on the size and spacing of the bars. Frequency is, of course, the soundwave parameter that corresponds to pitch. Instead of printing out a bunch of barcodes, Bruton connected an LCD screen to a Raspberry Pi. Buttons on the “fret board” of the guitar are connected to the Raspberry Pi via a Teensy 3.6 development board and tell the Raspberry Pi which kind of barcode to display on the LCD. Potentiometers can also be used to adjust the sound. Those components are all housed in a 3D-printed enclosure. Bruton only needs to scan the screen with the attached barcode scanner to “strum” the guitar strings. This design is far more compact that Bruton’s original barcode guitar, and is also much easier to play.