A basic wiring diagram is shown below:

However, you'll find no detailed step-by-step guide here, as the precise assembly and wiring is very dependent upon the particular frame and components you choice.

For advice on the mechanical construction and component choice, please see below:

Hardware Selection

The Components tab contains a list of links to the actual components used, but here's a few notes on rationale, along with some alternative options where appropriate:

  1. Power

    I used a 500mAh capacity LiPolyy battery as it's a good compromise between weight addition to the frame and lifespan of the party. Crucially, it can also safely be charged with a 500mA charge current (see below) using the very helpful Adafruit Micro-Lipo Charger for LiPo/LiIon Batt w/MicroUSB Jack.

    Plenty of people stock these batteries, e.g. Adafruit part 1578

    To step the 3.7V up to a 5V supply I used a Spark Fun LiPower Boost Converter as I had one spare, however the Adafruit MiniBoost, (basically a breakout for the TPS61023) looks very good and I'd recommend that instead. In fact, the wiring diagram above shows this part instead of the LiPower.

  2. Processor

    The Spark Fun Pro Micro 5V/16Hz is my go to dev board: small, built-in USB interface, lots of IO. It is a little pricey though, so the Adafruit ItsyBitsy 32u4 - 5V 16MHz is also a good alternative.

  3. Lighting

    The core of this project is a strip of 23 WS2812B RGB LEDs. I've tried all kinds of brands from Amazon and I find the CHINLY and BTF-LIGHTING brands to be quite reliable. 144 LEDs per metre is the maximum density they come in, although it makes the strip a little wider as the decoupling caps are pushed out to the sides rather than spaced between the LEDs.

  4. Proxmity Sensing

    I used two of the ubiquitous HC-SR04 modules. You've probably got some of these lying around in an Arduino starter kit, otherwise ELEGOO have a pack.

  5. Inputs

    I recently bought a bag of these tiny SPDT sliding switches, which are great for tiny on/off sliders.

    The two push buttons for mode selection are micro momentary switches taken from this set on Amazon.


This project makes use of two core libraries: FastLED for the LED animation and NewPing for handling the two Ultrasonic sensors simultaneously.

Source code available on my Github.

Assembly Guidance

Some tips for assembling your own Party for One glasses:

  • Start with the core components (lights, sensors, battery and processor). Add extra long wires to the sensors and LEDs before sticking these down, then you can strip them to length as needed afterwards.
  • I cut the LED strip into three sections to fit across the arc of the glasses, joining the gaps using small bridge wires.
  • Use plenty of the superglue (Cyanoacrylate) and Liquid Cyanoacrylate Accelerator to speed up the assembly. Applying the accelerator to the surface of one part, and the glue to the other will bond them instantly upon contact.
  • The pin assignment is quite arbitrary. Just use whichever pins happen to be most convenient when sticking the wires into place.
  • The battery is the heaviest component. Think about where to place this carefully, and try to balance with other components on the opposing side.

Happy building!