LED Ring hardware / software setup description.

UPDATE 20260206, this information is being migrated to a github repository https://github.com/wilson-lab/led_ring_arena

Hardware

For 40 LED ring:

cut filters / diffuser paper to 143 mm x 39 mm, then trim to size once in holder

There is a small channel in the base of the ring that will hold the filter paper roughly in place as you tape it. You can use transparent tape first to hold everything in place. Then trim off excess with a sharp blade.

Then use black-out tape (foil tape is good as it holds its shape better than electrical tape) around the top and in the notch to hold the filter paper in place)

Software setup:

Install arduino IDE: https://www.arduino.cc/en/software/

Install the FastLED library: Tools -> Manage Libraries

Download and unzip the latest version of the arduino code:

📎 serial_led_gauss_optimized.zip

connect to your arduino and upload the code. If you open the Serial monitor you can now begin to control your arduino:

Setting Individual Gaussian Bumps (Manual Control)#

G<center_deg>,<peak_brightness>: Creates a single, static Gaussian brightness bump.
  • <center_deg>: The center angle of the bump on the LED ring (0-359 degrees).

  • <peak_brightness>: The brightness at the very center of the bump (0-255). The brightness will fall off smoothly from this peak.

  • Example: G90,255 - Places a Gaussian bump centered at 90 degrees with maximum brightness.

Setting Individual Inverse Gaussian Bumps (Manual Dimming)#

I<center_deg>,<background_brightness>: Creates a single, static Gaussian dimming effect (an "inverse bump"). The LEDs will be at the <background_brightness> and dim towards the <center_deg>.
  • <center_deg>: The center angle of the dimming effect (0-359 degrees).

  • <background_brightness>: The brightness of the surrounding LEDs (0-255). The dimming will be most pronounced at the center angle.

  • Example: I180,150 - Creates a dimming effect centered at 180 degrees, with the surrounding LEDs lit at a brightness of 150.

Adjusting Gaussian Spread (Sigma)#

S<new_sigma>: Sets the sigma value, which controls the "width" or "spread" of all Gaussian bumps and dimming effects. A smaller sigma creates a sharper, narrower peak/dip, while a larger sigma creates a broader, gentler one. This setting affects G, I, TG, TI, and V (Voltage Control) modes.
  • <new_sigma>: A positive floating-point number (e.g., 8.0, 12.5). Minimum value is 0.001.

  • Example: S10.5 - Sets the sigma for Gaussian calculations to 10.5.

Test Mode: Animated Gaussian Bump#

TG<start_angle>,<brightness>,<increment_deg_per_step>,<frequency_hz>: Enables a test mode that shows a Gaussian bump rotating around the ring.
  • <start_angle>: The initial center angle of the bump (0-359 degrees).

  • <brightness>: The peak brightness of the Gaussian bump (0-255).

  • <increment_deg_per_step>: How many degrees the bump moves with each step of the animation.

  • <frequency_hz>: How many animation steps occur per second (e.g., 2 means the bump’s position updates twice per second).

  • Example: TG0,150,1,2 - Starts a rotating Gaussian bump at 0 degrees, with peak brightness 150, moving 1 degree per step, at a rate of 2 steps per second.

Test Mode: Animated Inverse Gaussian Bump#

TI<start_angle>,<brightness>,<increment_deg_per_step>,<frequency_hz>: Enables a test mode that shows an inverse Gaussian bump (dimming effect) rotating around the ring.
  • <start_angle>: The initial center angle of the dimming effect (0-359 degrees).

  • <brightness>: The background brightness of the LEDs (0-255). The dimming will be relative to this.

  • <increment_deg_per_step>: How many degrees the dimming center moves with each step of the animation.

  • <frequency_hz>: How many animation steps occur per second.

  • Example: TI0,200,5,1 - Starts a rotating inverse Gaussian dimming effect at 0 degrees, with a background brightness of 200, moving 5 degrees per step, at a rate of 1 step per second.

Remember that enabling any Test mode (T), Demo mode (D), or Voltage Control mode (V) will disable the others. The X command can be used to turn all LEDs off.

The most tested mode is gaussian bump.