PhotoBooth LED Ring


The PhotoBooth LED Ring is a way to encourage customers to look at the lens of your photo booth rther than at the screen. It is connected through a small controller straight to a PC. I wrote an application that allows integration of the LED Ring into common photoboth applications like Breeze, Darkroom Booth, Photoboof, dslrBooth or SparkBooth.

The LED Ring is controlled  through USB. Depending on the number of LEDs, it may be powered through an USB charger or a 5V power supply.

To control the LED ring from a booth application, a Windows Service application is available that acts a a driver for the ring. It is implemented as a set of .net applications running on Windows. The setup image can be found in the download section below.

Webservice Control

The latest release includes a Windows Service that provides a REST webservice interface. It allows to control the LED ring through parameterized URLs. The application may be used with dslrBooth (version 6.37 or later), Breeze, SparkBooth or Darkroom Booth and many more. It comes with a sample configuration for dslrBooth, Breeze and SparkBooth. You can test the sevice with a common web browser. CmdLauncher.exe is a helper to call the REST webservice from the command line.

Light Effects

The LED Ring controller commands include a circling rainbow, static colors, blinking colors, circling of a few LEDs and a count-down style light effect. An automatic self timed countdown has been added to provide a nice countdown for Breeze and similar apps.

The LED Strip includes similar light effects that are optimized for a strip instead of a ring. Special effects have been added to support arrows pointing at the lens, printer slots or arcade buttons.

Commands may be tuned through parameters like animation speed, color, segment size or direction of rotation.
Mapping between booth software commands and commands sent to the LED ring is defined in an XML configuration file. The configuration file is scanned for changes. Editing the file in the installation directory will trigger loading the new configuration.

An application that allows editing light effects and also testing them on the real ring or strip asssists the configuration.

LED Ring

all LEDs off.


static color: all LEDs are shining in the same color.

chaser: the effect features 2 colors. One is the background color and the other will light up around the ring (and vice versa).


spin: segments in the foreground color “rotate” over a solid background color.


blinking: all LEDs are blinking in a common color over a background color.


countdown: LEDs are lit according to a progress value (percentage) over a background color. This effect needs continuous updates of the percentage to be animated.


free running countdown: this effect starts with all LEDs on in a single color over a background color. It then switches LED by LED to the background color automatically. Optional switches off all LEDs at the end of the sequence.

swoop: a segment of LEDs runs around the ring over a background color.

rainbow: LEDs are lit in rainbow colors. The rainbow is rotating.

LED Strip

all LEDs off.

static color: all LEDs are shining in the same color.


arrow: two segments of LEDs are running towards each other symmetrically. A foreground and background color can be specified.

arrow areaarrow area: this effect is built for arrows consisting of consecutive columns that are  2 LEDs smaller than the preceding column. Columns consist of an odd number of LEDs, e.g. 7, 5, 3, 1 for a 5 column arrow.

Gefüllter PfeilThe effect may run on a single arrow (Type 1, 3) or on 2 symmetrical arrows pointing at each other (Typ 2, 4). The arrow may run either a single column across the area towards the tip (Type 1, 3) or fill the area up to the tip (Type 2, 4).

Strip arrow D animation
arrow D

arrow double row: this effect is designed for a specific type of arrow that consists of 2 rows of LED pointing towards the center line of the arrow. This allows a soft light distribution. The arrow fills from tail to tip. One or two arrows may be controlled with this effect.


blinking: all LEDs are blinking in a common color over a background color.


chaser: the effect features 2 colors. One is running along the strip after the other.


swoop: a segment of LEDs runs along the strip over a background color.


rainbow: LEDs are lit in rainbow colors. The rainbow is moving along the strip.

Rainbow longitudinal
Rainbow longitudinal

longitudinal rainbow: all LEDs are lit in the same color. The color changes along the rainbow colors.

Support for other Light Effects

LED Strip
LED Strip

There’s another LED controller. It’s called the LED Strip Controller and allows to show light effects on a continuous number of LEDs in a LED strip. This allows e.g. to show effects at the printer, the coin slot or the buzzer. The new controller is designed as an extension to allow other areas of the photo booth to show light effects. A strip of up to 500 LEDs may be controlled by this controller. Light effects suitable for linear strips are implemented: static color, chaser, blinking, swoop and rainbow.

Switching Electrical Releays


Both LED Ring Controller Micro and LED Strip Controller support switching of up to 4 electrical relay channels. Relays that allow switching at 5V with a maximum consumption of 5mA are supported. Typical boards allow to switch loads of up to 10A at 250V. This is a simple and inexpensive way of switching e.g. fans, fog machines or similar mains-powered equipment.

DMX Support

There is a built-in suppport for DMX devices through an Enttec DMX USB PRO Converter. Light effects may be displayed on DMX devices from dlsrBooth, Breeze, SparkBooth through a direct call to the service from any other booth application. This functionality is only available in combination with an LED ring. The service can’t act as a stand-alone DMX controller.

LED Rings

LED Ring Designs


I extended the number of available LED ring designs. There are basically two main form factors available. One uses LED strips pointing inwards towards a reflector. The other uses PCB based LED rings pointing straight towards the observer.

Rings based on LED strips are more flexible regarding ring diameters. The light is softer and less intensive. Using strips allows ring shaped designs as well as other shapes.

Rings based on PCBs are available in a small number of diameters only. They are very bright and feature rather hard light. They are available in circular shapes only.

  • Standard Ring 20S: a strip based ring that may be mounted on the outer wall or the inner wall of a booth. To achieve soft and natural colors this ring is completely built from white PLA. Versastile with a wide range of mounting options.
  • Ring 20SF: a strip based ring that features a flange to cover the hole in the front wall of a booth. While the rear reflecting part is white, the flange may be printed of PLA in any available color. A vaerion with more than twice the number of LEDs is available as LED48SFD. It shows the same diameters as the LED20SF but is 2mm higher.
  • LED Ring LED32F
    LED Ring LED32F

    Ring 32F and 40F: a PCB based ring optimized for Magic Mirror booths. It minimizes reflections and is therefore printed in black PLA.

  • Ring 32FH: a PCB based ring that is mounted on the outside of a booth. The ring allows the LEDs to shine through small holes. It hides and protects the electronic parts of the PCB. This ring may be printed in several colors.
  • Ring 32FC: a very slim semicircular dome made from a transparent material. It causes very smooth light effects. It is designed to be mounted to the front plate of a box.
  • LED Ring LED32FD
    LED Ring LED32FD

    Ring 32FD: this ring consists of a slim opaque base and a flat semi-transparent top. Light is spread evenly through the semi-transparent top. The ring is designed to be mounted to the front plate of a box. As a variant, Ring 32FDF has a flange that covers the hole in the front and allows to mount the ring embedded in the front plate.

You may find technical drawings and 3D models of common LED ring designs in the download area at the bottom of this page.

Controller Types

I provide a single hardware platform for controllers. The previous Controller.Nano is discontinued because it can’t handle new features due to lack of CPU power.

  • The current platform is based on the Controller.Micro. It supports the full set of LED ring functionality. This controller features a more flexible USB chipset that allows LED ring functionality and keyboard emulation as well.

    A cable based buzzer or push-button may be connected to this controller. It acts as a configurable standard keyboard, media keyboard or mouse with a freely programmable single key. It may be configured to send e.g. an F4 keypress to launch a booth sequence. In addition, it allows to drive up to 4 relay channels. LED rings used together with this controller require a dedicated power supply. This controller is also the hardware base for the LED Strip Controller. The controller is based on an Arduino plattform. It uses the open-source libraries HID-Project, EEPROM and Adafruit_NeoPixel.

The current firmware and tools for updating can be found in the download section below.

Power Supply

The RGB LEDs built into my rings and strips require a maximum current of 60 mA per LED. A ring or strip of 20 LEDs requires a maximum current of 1200 mA. This may be satisfied with a common USB wall charger. Fast charging devices with variable voltage are not suitable for powering the LED ring! A ring of 48 LEDs requires a maximum current of 2880 mA. This already requires a stronger switching power supply.

I recommend power supplies of the Meanwell RS series:

  • RS-15-5: max. 60 LEDs
  • RS-25-5: max. 80 LEDs
  • RS-35-5: max. 115 LEDs
  • RS-50-5: max. 165 LEDs

Driving a ring directly from a USB connector of your PC may cause malfunction of both PC or LED ring and may even permanently harm your computer!


The setup image below installs a Windows Service. It therefore has to run with administrative rights. The service itself needs a user with administrative rights and an assigned password to run as well. It is advised to create such a user for the service. The setup can do this for you as well as starting the service during installation. Once installed successfully, the service will start at system startup automatically. The connection to the ring ist tested when finalizing the setup. The service may now be started with an initial light effect. It is configured in the service configuration file. The LED ring is turned off when shutting down Windows and the initial light effect is set when starting Windows.

The service can be configured to locate controllers automatically. It is important to install Arduino drivers (see download below) before connecting the controller. Otherwise, the controller will be recognized as a generic USB Serial Device. You may not be able to use automatic configuration and may not be able to update the controller with the provided scripts.

The service expects a controller with matching firmware to be connected at the specified COM port. LED rings you built yourself may work but don’t have to do so by default. Please note that I only support installations where hardware built by me is involved. If you use the software with your own hardware, you do this at your own risk. I won’t cover any damage resulting from such use.

If you have further questions, please use the contact form.

The software below is a sevice to my customers. Even if you haven’t bought one of my LED rings, you may use the software. Please understand that I won’t support you doing so.



  • XLoader
    Arduino Programmer
    File size: 678 KB Downloads: 840
  • CH341SER
    LED Ring Controller.Nano driver
    File size: 189 KB Downloads: 730
  • LED20SF
    LED Ring 20SF Measurements
    File size: 14 KB Downloads: 590
  • LED20S
    LED Ring 20S Measurements
    File size: 12 KB Downloads: 550
  • LED40F
    LED Ring 40F Measurements
    File size: 38 KB Downloads: 570
  • LED32F
    LED Ring 32F Measurements
    File size: 23 KB Downloads: 698
  • led48sfd
    3D Model LED48SFD (IGES)
    File size: 181 KB Downloads: 470
  • led20sf
    3D Model LED20SF (IGES)
    File size: 102 KB Downloads: 502
  • Arduino_Drivers
    Arduino Drivers
    File size: 8 MB Downloads: 582
  • EnumerateControllers
    Lists controllers connected to a PC
    File size: 1,005 B Downloads: 402
  • BoothRing.nano.hex_1.12
    LED Ring Controller Nano Firmware Version 1.12
    File size: 10 KB Downloads: 953
  • LedRingSetup_V1.9.18
    LED Ring Service Setup for Windows 64 bit
    File size: 804 KB Downloads: 1181
  • LedRingSetupX86_V1.9.18
    LED Ring Service Setup for Windows 32 bit
    File size: 902 KB Downloads: 676
  • BoothStrip.micro.hex_2.05
    LED Strip Controller Firmware Version 2.05
    File size: 21 KB Downloads: 612
  • BoothRing.micro.hex_2.07
    LED Ring Controller Firmware Version 2.07
    File size: 20 KB Downloads: 648