Alberto Tam Yong

Technology and Projects

Laser Harp 2011-2012




The Laser Harp featured eight 5mW green lasers, sensors, circuitry, and a large wooden frame. The system allowed for the user to set the key of a full major or minor scale octet, and the player could use his or her hands to block the lasers and play among 8 different notes. A foot pedal allowed the player to shift the notes to an octet higher.




The Laser Harp was a project commissioned in the Fall semester of 2011. The mission was to build a big musical instrument resembling a harp but with lasers instead of strings.

The group, led by Charles Song, divided the project in four main parts: frame design, electrical connections, electronics and programming.

Frame Design

The frame design was first drafted in SolidWorks to visualize the shape of the frame, the materials required and the location of the electrical connections and electronics. The frame was built with wood because of its price, availability and flexibility. The wood was bought from Home Depot, and the assembling of the parts took about 2 full days.

Electrical Connections

The Laser Harp used ten lasers and ten photoresistors as the control system. The lasers and photoresistors required much wiring since the lasers were placed at the bottom of the frame, and the photoresistors at the top of the frame. The lasers were set up to use a single common ground, and individual positive wires were arranged to the power supply. The photoresistors were also set up to have a single common ground, and individual wires were arranged to reach the electronics.


The electronics consisted mainly of a microcontroller, an Arduino UNO, and a few resistors. The musical instrument functionality was simple. A person would touch one of the lasers, interrupting the laser from reaching its corresponding photoresistor, and the Laser Harp would play a corresponding musical note. Since the use of discrete electronics was avoided by using a microcontroller, programming the Arduino UNO was a crucial part of the project. All the same, simple electronic components were still used to interface the photoresistors to the Arduino. Each photoresistor and a correspondent resistor formed a voltage divider circuit, and the voltage output was connected to the Arduino, which read it as a digital input. On the development process of the electronics, the group explored the tone() library on the Arduino and MIDI (Musical Instrument Digital Interface) protocols for generating the musical notes. The first prototype used the tone() library on the Arduino, but the sounds were poor in quality and volume. All the same, the group used a small piezo speaker to test it out. At the end, the group opted to use MIDI protocol. The MIDI protocol only required a current limiting resistor to interface the Serial output pin of the Arduino to a MIDI synthesizer. In addition, the Laser Harp had two pushbuttons and a pedal switch used to control the range of the notes. The pushbuttons and the pedal were wired as regular pushbuttons by connecting one side of the switch to an Arduino pin, grounding the pin with a resistor and connecting the other side of the switch to the positive side of power.


The Arduino code suffered many changes from the first prototype to the current version. For the first prototype, which used the tone() function, the Arduino only contained 8 if-statements that read 8 digital input pins and played a corresponding note on a piezo speaker. The electronics attached to the Arduino were only 8 pushbuttons and a piezo speaker. Then, the code and electronics started evolving one step at the time. After some tests, the group realized that using the tone() function would generate very poor quality sounds, so they decided to use the MIDI protocol. The Arduino used its Serial interface to send MIDI commands to a MIDI synthesizer. Then, the pushbuttons were replaced by photoresistors. The most logical way to read from the photoresistors was to read them as an analog input; however, the Arduino UNO only has 6 analog input pins. Hence, the group decided to read them as digital inputs. The Arduino had to read when a photoresistor was covered, play a note while it was covered, and turn off the note when the photoresistor was enlighten again.


After the first alpha version of the Laser Harp was showcased in Fall 2011 at the Engineering Club Expo, the code and the electronics were improved during Spring 2012. The group added a multiplexer to read all the photoresistors as analog inputs. The code inherited a booting calibration system to account for ambient light and the algorithms reading the sensors were improved. The system included an array of LEDs that turned on according to which sensor was triggered and a 7-segment display that showed the major scale on which the Laser Harp was tuned. Due to the need of more digital outputs,  two shift registers were added to the system, one for the array and one for the 7-segment display. After the Spring 2012 PCC STEM expo, the Arduino UNO was replaced by a Teensy 2.0 which had HID (Human Interface Device) capabilities to connect with a computer an act as a MIDI instrument. The new microcontroller allowed the Laser Harp to be connected to any computer and be played by using free MIDI synthesizer software, such as MIDI-OX.

Future plans for the Laser Harp

The groups is working on drawing the circuitry in CAD software for electronic circuits, such as EAGLE, and printing a PCB (Printed Circuit Board) to accommodate all the components and make the system more stable. In addition, a miniature version of the Laser Harp has been highly requested, so the group is working on a small musical instrument that would use the same electronics but might not resemble a harp because of its size.



Charles Song

Thomas Luong

David Harbottle

Alberto Tam Yong

Allison Wang

Juan Diego Ashton

Connie Liu

Kevin Lou

Salomon Davila (Faculty Advisor)


For more information about the project, you can check the PCC Engineering Club website:


Laser and Fog Test

Triggers and Sound Testing