Laser Harp

by Cybercraftics in Circuits > Arduino

1113 Views, 11 Favorites, 0 Comments

Laser Harp

I Thought Making a Laser Harp Would Be Easy...
Cybercraftics - Laser-v3.jpg
C2071_11_58_31_18.jpg
C2072_11_58_45_09.jpg
C2074_11_58_54_14.jpg
Arduino powered Laser Harp #diy #laser #maker #arduino

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://makezine.com/article/digital-fabrication/laser-cutting-digital-fabrication/laser-eye-safety-in-digital-fabrication-protecting-your-vision/

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

2 x Ultrasonic sensor US-100

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

1 x TCRT5000 Infrared Reflective Sensor

Print the 3D Models

The Fusion 360 source files are also available for modifications acording to your needs.

Prepare the Base Board

Layout.png

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.

  1. NEMA 17 (42SHDC3025-24B) in combination with the A4988 driver.
  2. 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

C1905_07_55_25;25.jpg
C1835_06_24_38;05.jpg
C1837_06_25_35;22.jpg

Cut Out a Mirror Piece

C1900_07_50_41;23.jpg
IMG_6950.jpg
C1736_04_22_27;19.jpg
C1740_04_26_56;16.jpg
C1740_04_26_38;14.jpg

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

C1903_07_54_17;13.jpg
C1904_07_55_17;02.jpg
IMG_6954.jpg
  1. Add a threaded insert to the holder (This step is optional—you can also use a standard screw instead).
  2. Attach the mirror to the mirror holder with some glue.
  3. Mount the holder to the motor.

Prepare the Loop-back Sensor

Timeline 1_01_04_43;04.jpg
Timeline 1_01_04_47;41.jpg
Timeline 1_01_04_44;56.jpg
C0847_15_13_52_08.jpg
  1. Desolder the diodes from the module.
  2. 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

IMG_6953.jpg
C1837_06_25_35;22.jpg

Secure the two diodes with hot glue into the holes.

Add a Relay Between the Laser and the 12V Power Supply

IMG_6948.jpg

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

Timeline 1_01_04_54;30.jpg
Timeline 1_01_05_00;10.jpg
Timeline 1_01_04_49;20.jpg
IMG_6910.jpg

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

IMG_6940.jpg
IMG_6942.jpg
IMG_6943.jpg
  1. Cut out 2 perfboards that match the size of the Arduinos.
  2. Follow the schematics available here for the ULN2003 dirver and here for the A4988 driver to build the shields.
  3. Leave the cables from the shields to the components long enough, and trim them to size later when mounting them.

Secure the Components Onto the Board

C1907_07_59_01;17.jpg
C1908_07_59_57;05.jpg
C1909_08_00_15;23.jpg
C1910_08_01_13;17.jpg
C1911_08_03_05;05.jpg
Timeline 1_01_07_08;09.jpg
IMG_6947.jpg
C1940_08_11_27;25.jpg
C1938_08_10_09;13.jpg
IMG_6955.jpg
IMG_6949.jpg
IMG_6949.jpg
Laser Centered.png

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

IMG_69578.jpg
IMG_6962.jpg

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

C1949_08_20_04;23.jpg
C1949_08_20_47;17.jpg
C1950_08_25_42;08.jpg
C1956_08_29_43;02.jpg
C1953_08_27_03;07.jpg
C1960_08_33_16;00.jpg
  1. Insert the four light sensors and solder them to the wires leading to the shields on the other side.
  2. Secure the sound sensors with some hot glue.
  3. Mount the lid.

Mount the Reflective Attachment.

C2018_09_59_08;10.jpg
C2019_10_00_50;08.jpg
C2022_10_02_25;04.jpg
C2023_10_03_12;22.jpg
C2055_10_19_25;19.jpg

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:

  1. Turn off the 12v power supply.
  2. Disconnect the Arduino Leonardo from the computer.
  3. Upload the Arduino code to Arduino Uno.
  4. Disconnect the Arduino Uno from the computer after uploading.
  5. Turn on the 12v power supply.
  6. 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

Screenshot 2025-03-16 175955.png
  1. 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.


  1. 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!