A laser harp is an electronic instrument that lets you "pluck" laser beams like a harp to play notes. In this guide, you'll learn how to build your own version of a laser harp using a Feather M4 Express or Feather RP2040, a Music Maker FeatherWing and code written in CircuitPython. VL53L4CD time of flight sensors are used to detect when you're playing a note instead of simply detecting the break-beam. This means we can do cool stuff like use the distance data from the time of flight sensors to convert into different MIDI values such as modulation, sustain and velocity.

We use a Music Maker wing which has audio output from MIDI input and a wide variety of musical instruments it can generate sound effects for, see page 32 of the VS1053 datasheet for a full list! Of course you can also generate MIDI-over-USB signals that can be used to control your favorite software synth.

It's hard to mount sensors on the other side of the lasers so we 'cheat' and use high quality ToF distance sensors with precise distance measurements and narrow detection paths. The lasers are only there help you to visualize the detection path of the time of flight sensors so feel free to change the laser colors or positions as you please. The sensors and lasers are mounted so that they are sitting at the same angle.

The Music Maker FeatherWing is used as a MIDI synth. You can change the instrument sound in the CircuitPython code.

The TCA9548A I2C multiplexer allows you to use eight of the VL53L4CD time of flight sensors at the same time even though they all have the same I2C address.

Prerequisite Guides

Please look over the following Adafruit Learning System guides for information on the components used.

Although the guide shows a Feather M4 Express being used, a Feather RP2040 is also an excellent choice!


Angled shot of black rectangular microcontroller "Feather RP2040"
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather...
In Stock


Angled shot of a Adafruit Feather M4 Express.
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox,...
Out of Stock
Adafruit Music Maker FeatherWing - MP3 OGG WAV MIDI Synth Player connected to a half sized breadboard and a set of headphones.
Bend all audio files to your will with the Adafruit Music Maker FeatherWing! It's a fun-size version of our Music...
In Stock
Angled shot of a TCA9548A I2C Multiplexer.
You just found the perfect I2C sensor, and you want to wire up two or three or more of them to your Arduino when you realize "Uh oh, this chip has a fixed I2C address, and from...
Out of Stock
Video of a hand hovering over a Adafruit VL53L4CD Time of Flight Distance Sensor thats connected to a white breadboard reading the range of motion of the hand.
The Adafruit VL53L4CD Time of Flight Sensor is another great Time of Flight distance sensor from ST in the VL5 series of chips, this one is great for...
In Stock
Laser Diode module with two wires
You have some frickin' sharks at your lair, and you're thinking "it would be really great if I could attach some lasers to them" and then you see these little laser...
In Stock
1 x FeatherWing Doubler
FeatherWing Doubler - Prototyping Add-on For All Feather Boards
8 x Fixed Laser Mounting Stand
Fixed Laser Mounting Stand
1 x Acrylic sheet
18" x 24" sheet of 1/8" thick acrylic

This guide was first published on May 10, 2022. It was last updated on Jul 19, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.