Project tutorial

Infinity Mirror Scuba Mask

Jacques Cousteau style scuba mask turned into an infinity mirror with programmable RGB LEDs controlled by an Arduino.

  • 17 respects

Components and supplies

Jacques Cousteau style scuba mask
Neopixel strip
NeoPixel strip
Any WS2812B (or similar) RGB programmable LED strip
Headlamp with 4xAA rear battery compartment
10968 01
SparkFun Step-Up Voltage Regulator - 5V
Any 5V step up converter/regulator
A000053 iso both1
Arduino Micro & Genuino Micro
Any microcontroller will do, though you will have to jump through some hoops if it's not 5v since we need 5v to drive the LED strip.
13762 00
SparkFun IMU Breakout - MPU-9250
For making the LED light show responsive to body movement

Apps and online services

About this project

Check out my latest project Hacking Wearables for Medical Device Development. Hack a $35 Arduino compatible nRF52 ARM Cortex activity tracker to build low power devices. Currently, used to prototype wearable medical devices at MATTER Lab. Complete tutorials and code for accelerometer gesture recognition, neural network training, and 3D model control using Bluetooth.


Jacques Cousteau style scuba mask turned into an infinity mirror with programmable RGB LEDs controlled by an Arduino. Unlike other infinity mirror mask/glasses I've seen, this project allows you to see while wearing by adding a wide peephole. Firmware is FastLED library and modified FastLED demo sketch. I added a MPU-9250 accelerometer to make the light show responsive to body movement.

An "infinity mirror" is an illusion created when a light source is placed between a full mirror and a partial mirror. When viewed from the partial mirror side there is a perception of increased, even "infinite" depth with increasingly dim copies of the light source trailing into the distance.

Build instructions

Step 1: Cut LED Strip to Fit Mask

Scuba masks vary in size so it is best to avoid simply using the same length/LED count of LED strip that I use. Measure the circumference of the glass from the inside of the mask. Cut a length of LED strip that comfortably fits inside the mask.

Step 2: Back Mirror

Place the scuba mask face down on a piece of white paper and trace around the edge with a pencil or pen. Draw a line around the interior of this traced oval such that it is 3/8" away from the traced line ie smaller. Cut out this smaller oval - this is our back mirror template. Glue it to the plastic mirror sheet with water soluble glue (Elmer's etc). Cut out the section of mirror covered by the paper template.

Step 3: Attach Arduino, MPU-9250 Accelerometer and Voltage Regulator To Scuba Mask

Having wired the Arduino and peripherals to the LED strip and power supply, test the mask to make sure everything is working. Then hot glue Arduino and peripherals to the back of the mask (the back of the plastic mirror cutout).


FastLED GitHub Repo
This awesome Arduino library manages the LEDs


Similar projects you might like

Arduino-Controlled RGB LED Infinity Mirror

Project tutorial by Ben Finio

  • 27 respects

RGB Infinity Mirror with 3D Magnetic Sensor

Project tutorial by Abdullah Sadiq

  • 11 respects

Kaleidoscope Infinity Mirror

Project tutorial by Lucas Ainsworth

  • 1 comment
  • 75 respects

Infinity mirror clock

Project tutorial by TheTNR

  • 44 respects

Infinity Mirror VU Meter Music Equalizer

Project showcase by TheTNR

  • 27 respects

Handheld Infinity Kaleidoscope Group Kit

Project tutorial by Lucas Ainsworth

  • 63 respects
Add projectSign up / Login