Laser Harp






After 3 months of trial and error, adjusting motors, fine-tuning lasers, and overcoming more than a few setbacks, I’ve finally got it working. And let me tell you—it is incredible!
In this guide, I’ll walk you through how I built my own frameless laser harp from scratch. It's similar to the iconic laser harp used by the legendary Jean-Michel Jarre. I still remember watching it on TV as a kid and asking my dad how it works—it's been a lifelong dream of mine to build one.
It's fully controlled by an Arduino and uses a motor to sweep the laser beam, paired with a clever sensor setup to detect beams interruptions. By following these steps, you can create a fully functional laser harp that not only looks incredible but also plays real music.
Watch the video to understand the concept behind it and see how I built it.
⚠️ Important Safety Warning ⚠️
In this project, I am using a powerful 3W laser. This type of laser can cause severe and permanent eye or skin injuries if not handled properly. Never underestimate the danger—even brief exposure or indirect reflections can cause permanent eye damage.
Before jumping into powerful lasers, I highly recommend you first get familiar with lower-power lasers, such as 5mW laser pointers, to safely learn laser-handling basics, alignment, and safety protocols. Educate yourself thoroughly about laser classifications, safety goggles, beam reflection risks, and safe operating procedures.
There are a lot of resources online about laser safety:
https://ehs.mit.edu/wp-content/uploads/Laser_Safety_Guide.pdf
Once comfortable, carefully step up to more powerful lasers, always ensuring you use certified laser safety goggles specifically rated for your laser's wavelength. Work in a controlled environment, minimize reflective surfaces, clearly mark your laser's path, and always power off your laser when making adjustments or not actively experimenting.
This laser harp is particularly risky because the laser beams point upward toward your eyes, greatly increasing the danger of accidental exposure.
Lasers can help create amazing projects like this laser harp, but only if handled responsibly. Safety first, then creativity!
Supplies
1 x Arduino Leonardo
1 x Arduino Uno
4 x Light-dependent resistor LDR
1 x Stepper Motor Driver ULN2003
1 x NEMA 16 39MM 1.8 Degree 2-phase 4-wire Hybrid Thin Stepper Motor
Caveat:
I'm using a 39BYG53322 stepper motor, which I salvaged from my old 3D printer. Unfortunately, I couldn’t find it on Amazon or Aliexpress. It’s a NEMA 16, 39mm, 1.8-degree, 2-phase, 5-wire hybrid stepper motor.
1 x Relay Module
1 x 12v Power Supply - I use similar to this one: https://amzn.to/3RaaXPv
1 x Laser - 3W TTL
4 x 10Ohm resistors
Print the 3D Models
The Fusion 360 source files are also available for modifications acording to your needs.
Prepare the Base Board

Any wooden board with the specified dimensions will work. It provides better stability than a 3D-printed one and helps dampen the motor's vibrations.
Learn to Control Stepper Motors
(If you already feel confident controlling stepper motors, go ahead and skip this step.)
***
The stepper motor is the second most important component of the harp—right after the laser—but it turned out to be the most challenging to get right. Because there are so many different types of stepper motors available, each one requires its own unique setup and control method.
The most popular types are: Unipolar, Bipolar, and Hybrid stepper motors. Depending on the type of the motor they need different driver (the hardware unit that controls them) and programming.
There is a nice introduction video from DroneBot Workshop, that might give you enough background to work with stepper motors. Another helpful video that I found about the wiring is this one.
***
The motor requirements are a 1.8° step angle (i.e., 200 steps per revolution) and a compact size to keep the weight low, which helps with quick and precise movements in both directions.
In my video you can see that I used two types of motors and two different drivers.
- NEMA 17 (42SHDC3025-24B) in combination with the A4988 driver.
- NEMA 16 (39BYG53322) stepper motor paired with the ULN2003 driver. (This was the better option due to the lighter and shorter rotor, which allows for quicker and more responsive movements.)
I finally stuck with the hybrid one NEMA 16 (39BYG53322), which unfortunately is quite unpopular. But, as I said, the size matters more than the type of motor, so any other type of NEMA 16 could be used.
Mount the Stepper Motor to Its Stand



Cut Out a Mirror Piece





I experimented a lot with mirrors. The mirror should be as thin as possible; otherwise, it reflects unfocused beams. What I found to work best is a disk from an old hard drive. I used a Dremel to cut it out and shape it. In the photos, you can see the difference in the reflected beams between a mirror and a hard drive disk.
Assemble the Mirror Holder



- Add a threaded insert to the holder (This step is optional—you can also use a standard screw instead).
- Attach the mirror to the mirror holder with some glue.
- Mount the holder to the motor.
Prepare the Loop-back Sensor




- Desolder the diodes from the module.
- Use wires that are long enough to reach the motor stand, and solder the diodes to them.
Mount the Line Following Diodes to the Stand


Secure the two diodes with hot glue into the holes.
Add a Relay Between the Laser and the 12V Power Supply

The relay is needed as a safety measure. When the Arduino is not running or rebooting, it doesn't send PWM signals to the laser, causing it to run at full power when it should be off. To prevent this, the relay should be connected so that it’s off by default, and the Arduino should switch it on only after completing the motor homing procedure.
Test All the Wiring Using a Prototyping Board




Before proceeding with soldering, I recommend testing the setup with prototyping boards, following the schematics for the ULN2003 dirver here and for the A4988 driver here.
My advice it to experiment with the circuit with a lower-power laser (around 100-200 mW) before soldering the components. It’s still dangerous for the eyes, but a 3W laser can burn even dark surfaces when running at full power, imagine what it can do to your eyes! Using a low-powered laser, you can make adjustments until you see seven projected dots (as shown in the video). I don’t recommend developing the harp with a high-powered laser—it’s safer and easier to troubleshoot with a weaker one. Remember to always wear certified and properly rated safety glasses!
Create the Arduinos Shields



Secure the Components Onto the Board













The position of the motor stand and the laser must be centered to align with the split at the top. The Arduino boards must be aligned with the split on the left to ensure their outputs are exposed. The rest of the components can be positioned approximately according to the picture.
You can use double-sided tape to attach them to the board temporarily, ensuring everything fits before securing them with screws. Then, mark the holes with a pen, remove the temporary tape, and pre-drill the holes.
Secure the Wooden Board to the Enclosure


You could use a piece of filament with white paint at the end to pass it through the holes of the enclosure and mark the drilling points on the wooden board. Then, drill the holes and secure the board to the enclosure with screws.
Mount the Sensors to the Lid of the Enclosure






- Insert the four light sensors and solder them to the wires leading to the shields on the other side.
- Secure the sound sensors with some hot glue.
- Mount the lid.
Mount the Reflective Attachment.





This attachment significantly improved the performance of the harp and increased the height at which the beams can be interrupted.
Upload the Code to the Arduinos
You can find the code for both Arduinos in this repository.
Whenever you need to update the code of the Arduino UNO (which controlls the laser and the motor),
I recommend following this routine:
- Turn off the 12v power supply.
- Disconnect the Arduino Leonardo from the computer.
- Upload the Arduino code to Arduino Uno.
- Disconnect the Arduino Uno from the computer after uploading.
- Turn on the 12v power supply.
- Reconnect the Arduino Leonardo to the computer.
Whenever you need to update the code of the Arduino Leonardo (which controlls the Ultrasonic sensors and generates the MIDI notes), you can upload new code while the harp is running without noticing any interruption, as the Arduino UNO handles both the motor and the laser.
Play Music With the Harp
Since the Arduino Leonardo can act as a Human Interface Device (HID), you just need to plug it into your computer and launch your favorite DAW software. I’m using GarageBand, but it also works with Logic Pro, Ableton Live, and other popular DAWs.
From there, you can choose your favorite sound and start rocking!
Additionally, you’ll need a smoke machine to make the beams visible and create that iconic laser harp effect.
Further Steps for Improvements

- Galvo Scanner: Replacing the stepper motor with a galvo scanner would allow the harp to have more strings and brighter beams, as the current setup is limited to seven strings due to the stepper motor's speed and accuracy. A galvo scanner would enable faster and more precise beam positioning.
- Sensor Height: Mounting the sensors at a higher position would further improve their ability to detect beam interruptions and better track the height of the hand. This would result in more accurate note triggering and potentially more dynamic control over the sound. If you take a closer look at Jean-Michel's harp, you'll notice that the sensors are positioned much higher.
These upgrades could significantly improve the performance and playability of the harp, making it more responsive and versatile.
Final Words
This project is challenging and requires a lot of fine-tuning, so be prepared for some trial and error. If I missed anything or something isn’t clear, don’t hesitate to reach out—I'm happy to help!
Also, I can't stress enough how dangerous lasers can be. High-powered lasers can cause serious eye injuries and even burn surfaces, so please take safety seriously. Make sure you’re wearing certified safety glasses and understand the risks before working with lasers. Take the time to educate yourself about laser safety and proper handling techniques.
This guide is for informational and educational purposes only and does not replace professional advice. Consult experts if you have any doubts or specific technical questions. I’m not a professional engineer or mechanic, and this guide is based on my personal experience. Always use your best judgment, follow local laws and safety guidelines, and be aware of any risks involved.
By using these instructions, you assume all risk and liability for any injuries, damage, or mishaps that may occur and agree to waive and release me from any and all claims or liabilities. Please proceed carefully, do your own research, and take full responsibility for your results. Thanks for understanding—and have fun creating!