Easy and Cheap Laser Harp





Introduction: Easy and Cheap Laser Harp

Hello maker friends!

In this instructable we will tell you how to make an inexpensive laser harp using Arduino.

This project was for 'Creative Electronics', a Beng Electronics Engineering 4th year module at the University of Málaga, School of Telecommunication.

IMPORTANT: this project was based on Frameless Laser Harp, an instructable by the user Pushan Panda. Credits to him! We saw it and could not resist to make our own version. You can see that instructable here: https://www.instructables.com/id/Frameless-Laser-Ha..

Step 1: Materials

  • Laser pointer. The more powerful, the better the harp will work. We used an inexpensive 1 mW model and it works alright.
  • Stepper motor. We used the model PM356-048, salvaged from an old printer. It is interesting that the steps are big enough so each step covers one of the strings. In our case, the steps were of 7.5 degrees (48 steps/rotation).
  • DC supply. For the motor. 12 V is usually what you need, but it depends on the motor.
  • ULN2003a. Motor driver. It is basically a set of Darlington transistors which will give the motor the current it needs.
  • LDR (Light Detecting Resistor).
  • A small mirror. 3x3 cm should be OK.
  • Breadboard.
  • Transistor. Any BJT is alright. We used the model 2N3904.
  • Resistors. 1kΩ and 20kΩ
  • Fimo. To attach the mirror to the motor.
  • Wires
  • Arduino UNO
  • Some kind of support for the system. This part is up to you. We used mecano pieces to assemble all together and keep the motor in its place. Any structure that you come up with would do the thing.

Step 2: Assembling It All Together

First, place the ULN2003a, the transistor and the resistors in the breadboard. Connect the motor and the Arduino ports as it is indicated in the fritzing image.

You will have to attach the mirror to the motor. We used fimo to make a piece that would fit into the motor's gearing, and hot-melt adhesive to stick the mirror to said piece.

The next step is an important one. You will have to make a structure able to hold the system, particularly the laser and the motor, as they have to be perfectly aligned. As it was said before, we used mecano to make the structure. The tires reduce the effect of the motor vibrations, and gives the harp a car-looking style. Cool, right?

You will need a power supply for the motor. We used an old one that we had at home.

Step 3: Arduino Code

This is the part where we spent most of the time. The program basically makes the motor go forwards 4 times and backwards another 4 times, lighting up the laser each time it stops, and turning it off when it is moving. This way it makes the effect of the 5 laser strings. Arduino sends messages through the serial port which should be received by a MIDI interface in the computer.

It also does some cool things, such as automatically positioning the mirror. You can download it and look through it if you like. It is commented at some points but it can be confusing (sorry!), so feel free to ask why we did one thing or another.

Step 4: Making It Sound

So we have our Arduino sending MIDI commands through the serial port to our computer. The next step is processing those commands. For that you will need:

Another option could be using a MIDI-enabled device, such a keyboard. But for that you will need a different hardware setup. It is very well explained in the project Pushan Panda's instructable, so check it out!



    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    Does the Laser have to be connected to the Arduino or can it just be turned on?

    I used an actual laser pointer


    I am building this with a 4 wire Bi-Polar stepper motor and a SN754410 H Bridge IC. My question is, is the remainder of the circuit unchanged, ie from the Arduino to the LDR and transistor. Thank you.

    I'm almost done, the problem is that my LDR is very low and varies too much. The variation when the laser is not reflected was a number between 0 and 13 and when the laser is reflected by white paper it looks like the normal situation (somewhere between 3-13). I placed the LDR underneath the laser (<5mW), used a 3x3 cm mirror,

    please please please help my. how to adjust the width of the beams?

    thank you


    Well, I will be getting my first arduino in a while, so I was wondering.
    Is it possible to adapt this to run into a Digispark (attiny85)?
    Apologies for my bad english (I'm spanish) and thank you for your reply!

    I am thinking of building this project but it seems a lot of people have had problems with the instructions possibly being incomplete or not being able to source the correct parts. Has anyone built this successfully as shown or can they maybe offer a circuit diagram that's a little easier to follow?

    I'm also thinking of ordering the parts from https://www.jameco.com since they seem to have most of the components. Since I'm mostly a novice with electric stuff, it'd be nice of someone who isn't such a neophyte could put together a parts list.

    how many notes can it make?

    Can anyone tell me how to modify the code to use a 4 wire stepper motor?

    Got all the wiring done, laser is on its way, just one problem... I have a 5 wire stepper motor that when plugged in, rumbles or "vibrates" but does not turn. It's a 5v, with wires from left to right: pink, yellow, red, blue, Orange. I've tried rearranging the wires with no difference. I'm assuming the pink is the common ground, if I'm using the terms correctly (I'm not advanced at these types of things)... Any help would be great.