Introduction: Frameless Laser Harp
A laser harp, what on earth is that? Sounds kind of fancy doesn’t it? Well, it is basically what it says it is. The laser harp is an electronic instrument where a motor, a light sensor, a microprocessor Arduino, and, I’m sure you’ve guessed, a laser collaborate to produce beams, each representing a note (we will elaborate for those who care to read on). This harp though doesn’t have a frame: its strings stretch out infinitely into space – we know no boundaries.
Our inspiration was a video we had watched online and found rather fascinating. Apart from the fact that the prospect of creating it without too much expenditure, mental or monetary, was exciting, it seemed a project providing scope for learning in different areas, especially since we wanted to present it as a complete product. Part research, part reverse engineering led us to figure out its functioning. Admittedly, we have not contributed any addition to the original creation, but to achieve it was in itself gratifying. And there’s always room for originality and improvement in the future.
If you like our instructable please vote for it at the top right corner of the page!
For making this laser harp you will require basic soldering skills, and some experience working with the arduino.
Word of caution: Lasers are very harmful for the eyes, make sure you wear appropriate eye protection.
Our Video will be ready in another 12 hours! Do come back and check it out!
Here's the link to the video that inspired us :
Attachments
Step 1: Overview of the Harp
How the beam is created:
How the harp knows which beam has been cut:
Step 2: Parts..
Here you will find the complete parts list you need and some info to create the project yourself:
Main parts
Stepper motor:
A stepper motor is an electromagnetic device which converts electrical pulses into extremely
small mechanical movements (steps). Its shaft rotates by taking these steps when the
electrical command pulses are applied in the required order, and its speed and direction
depend on their frequency and sequence.
A stepper motor has the following attributes:
•Number of steps per rotation
•Torque (the weight it can bear)
•Step angle accuracy
By manipulating the control pulses, you can make the stepper motor carry out different
function such as taking half steps (e.g. 400/rotation instead of 200).
For our project we will be operating in full step mode.
Arduino:
Arduino is basically a small computer which reads an input, interprets it, and sends an output, where the input,output, and interpretation can be practically anything (in the electronic field!).
It is a magical board which makes your electronic dreams come alive.
Bread board:
The more powerful your laser, the more effective your harp will be, ours was rated at: <50 mW
And as for color, we've chosen green, since it was completely safe for the skin at that power rating.
Rest of the parts and tools that you will need:
ULN2003
2N2222 TRANSISTOR
LDR Light Sensor
MIDI jack
MIDI to usb adapter. (This parts is optional, it has been explained in the MIDI section)
5k TRIMPOT
Small Mirror
Green Laser Safety Goggles
White Gloves
Power Supply, 12V DC 2A (This parts depends completely on your stepper motor, go by its rated power)
Soldering iron
Materials for the enclosure
Total estimated cost: 90 - 100 $
Step 3: Wiring Guide for Steppers
It is essential to send the command pulses in the right order. A step motor will
typically have six wires. Here is a quick guide to identify which is which.
With the help of a multimeter, we first isolate two groups of three wires, forming
two coils, by checking the continuity function, ensuring that the circuit
is complete.
Next we identify the middle wire of each coil. Using the resistivity function, check
the resistance between all combinations of pairs of wires. The resistance between
two ends will be twice that between the middle wire and either end.
If your stepper motor does not have 6 wires, here is a wonderful resource to help you out:
Step 4: Wiring It All Together:
In the first image you will see the fritzing diagram for the harp. And in the following images you will see the step by step process for building the circuit on your breadboard.
We begin by placing the ULN2003, keeping in mind the direction of the little notch on the chip.
We then wire the stepper motor's signal pins into the chips OUT pins and the common wire into the chip COM pin.
In this step we connect to the arduino via the chips IN pins and we connect our power supply to the chip.
For the next steps we add the transistor, the laser, the LDR and the MIDI jack.
Refer to the fritzing diagram (first image) if anything is unclear.
Your circuit is now ready!
Step 5: Arduino Code:
We were having trouble embedding the Arduino code, so please click here for the code.
Or download the arduino files directly from this step.
We have put comments all along the way to make it easier for you to understand the code.
This is not the most efficient code, but it works.
Attachments
Step 6: MIDI Interface
There are two options that you can take:
But if you want more control then go for Option 2.
Option 2:
This works with any software that deals with MIDI, Here we show you how to go about it using FL Studio:
3rd Picture: First open FL Studio up, then click the OPTIONS button on the upper left corner and navigate to the MIDI settings. then select your MIDI device.
4th picture: The next step reveals the magic of MIDI, Right click on one of the tabs, in the Insert tab you will see a whole bunch of different sounds available to you, ranging from the classic sounds to the most modern sounding synths. Feel free to experiment with these sounds until you find your favourite one.
Step 7: Layout and Enclosure
After some sketching we were quite satisfied with this diamond form for our harp.
For this step we encourage you all to come up with your own personalised enclosures.
We will simply walk you through our design process:
We began with some simple brainstorming, and then we sketched out a few forms.
Once we were satisfied with a form, we modeled it on Cinema4d to scale,
By modeling everything to scale we could do accurate dimensioning so that all our parts fit snugly into the enclosure.
Since time was not on our side we could not make the enclosure out of wood, and so we decided to make a paper model of it.
The layout for the components we chose is depicted in the second picture, the motor and the laser are seperated from the arduino and the bread board by a small wooden platform.
Step 8: Conclusion
Persistence of vision – this is what enables us to see the beams all at once,
since the refreshment rate of the human eye is smaller than the rotation rate of
the motor.
How a stepper motor and Arduino work – we have elaborated on these in the
dedicated sections.
Physical programming – people are often under the impression that
programming is contained within the computer, but here we looked at a
practical aspect of it where it controls physical actions.
The design process – steps from ideation to creation for a
complete product.
done a better job with time management and organisation (which seem to be persisting problems with us), and in keeping up levels of energy and enthusiasm (which went through more downs than ups). Owing to our age and temperament, we underestimated the project and overestimated our capacity. We could not therefore accomplish the project as we had intended to. We would have very much liked to customise the harp by turning
it into a complete package, giving it a name and logo. We also wanted to add elements to further enhance it -- controlling the volume and pitch according to the height at which you cut the beam, having the facility to sustain a note without holding your hand on it (pedal), using a RGB laser to have changing colours
according to the mood of the music, having the beams converge and diverge, and other visual effects. They remain prospects for our next edition.
Attachments

Second Prize in the
Microcontroller Contest
239 Comments
9 years ago on Introduction
This is awesome, great instructable!!! If you plan on only using it with the computer, and don't need the midi out jack, couldn't you theoretically use only the arduino, and scrap the usb/midi converter cable? There are loads of arduino projects out there that output midi via the arduino's usb cable (and maybe some software on the computer side too).
Reply 2 years ago
Love it I have no idea of electronics but I’m going to have a go , also mite Reach out
Reply 4 years ago
Hi, I know this conversation happened a long time ago. But I think this is a great idea. Would you know how much you would need to change the code to make this happen? Thanks
Reply 9 years ago on Introduction
You could even make it wireless :) http://www.ladyada.net/make/xbee/midibee.html
Reply 9 years ago on Introduction
Yes, i just checked it out, and it isnt too hard too send MIDI signals over USB!
That's a wonderful idea! Thank you!
9 years ago on Introduction
One of my dreams was to have a laser harp. The only thing I need now is to go buy some 2n222 ULN2003 and, uhm my question was: What kind of/ speed/ steps, steper motor can I use? Hacking some old printer or something, any idea will be appreciated :)
Thx, and btw, one of the greatest and really simplest instructable for a complicated stuff that everyone could be amazed with :) Keep it up !
Reply 9 years ago on Introduction
:)
The motor ive used is actually salvaged from some old electronics, any kind of stepper will do the job, you might need to modify the code a bit. I would be happy to help, just send me a message.
Reply 9 years ago on Introduction
I was actually going to rewrite the code to work directly via usb, not through MIDI... Any ideas about that?
Reply 7 years ago
I know this is probably very late, but you should look up loopMIDI, it creates a virtual MIDI port and lets you send MIDI over USB.
Reply 5 years ago
Mine works directly via midi usb without having to use midi loop, but I’m using Ableton DAW
Reply 6 years ago
Although I cant understand the placement of the mirror on the stepper ?
Reply 9 years ago on Introduction
Well, the problem isn't in the code really, now the problem is that I can't find ULN2003 here... Do you know anything compatible to that maybe? :)
also it would be cool if there is a way to get 3 lasers and make em switch colors hahaha just sayin :)
Reply 7 years ago
I know this is probably very late, instead of a ULN2003 you can you a stepper driver. Like for example the easyDriver.
Reply 8 years ago
To be honest, I would LOVE to see you making a Youtube video creating one Laser Harp...it's just 'cause my mind really will have no chance if it is reduced to writing explanation. We are talking about a Laser Harp, it is a complex thing to do, and not everyone has the same talent to make a Laser Harp the easy way like you do. :)
Reply 7 years ago
Great Idea! Now that I'm done with college I'll try to make a video to clarify all the questions, and thanks! :)
Reply 7 years ago
People who are scared of ULN2003: There are quite a few "motor shields" for Arduino that are often usable for steppers as long as you can work out the appropriate winding / connections.
Pushan: Nice project! Simple, neat, effective, elegant, and pretty. Might make one for a weekend project for my geeky 12-yr-old boys :-)
Reply 9 years ago on Introduction
and, perhaps a positioning picture (where the circuit is, LDR and stuff would be good, cos I'm really planing to do a "Laser Harp Shield" for this one :)
9 years ago on Step 8
I love how you've managed to simplify the hardware necessary for a laser harp. Well done! Since I already have most of these materials lying about, it looks like a fun project for an idle weekend.
I'm also curious how you would go about detecting the height at which a player was cutting the beam in an enhanced version of this instrument-care to share your thoughts? I would love to add that function.
Reply 9 years ago on Introduction
Thank you! I would use an ultrasonic sensor to read the distance of the players hand, which in turn would control the pitch or volume of the midi notes.
Reply 7 years ago
Which version of fl studio is used? And can uplease help me with the motor, it isn't working