ViVi Music LED Controller

ViVi Labeled Connections

User Manual and Advanced Guides

Setup and Operation

  • Use 5 Volt power sources ONLY.
  • The included USB-to-Barrel Jack cable allows you to power ViVi from a USB battery pack for portable use.
  • For large setups or long strips you may need to attach additional 5V power at the far end of the lights to prevent discoloration/fading as the voltage drops over the length of the strip.

A 3.5mm audio jack allows for input from a variety of sources.

  • Aux or line-out of any device such as a cellphone, computer, or stereo can be plugged in.  Use the included 3.5mm splitter to connect to both ViVi and what will actually produce sound (headphones or speaker system).
  • An included microphone can be plugged into the 3.5mm jack.  Place as close to audio source as possible, or for wearing it position it where it will not be rubbed or bumped.
  • The instrument-level output direct from an instrument can be connected to the 3.5mm jack with an adapter.  No adapter or splitter is included for this because of the variety of plug types.

A single plug for each output provides power and data to the lights.

  • Use the included Adapter Cables to connect from ViVi to WS2812B light strips.  The ViVi connector is slimmer and more compact than the connectors pre-installed on the light strips.
  • Use the extension cables, with the larger style connectors on both ends, to increase the distance between ViVi and the lights.
  • Use a spliiter cable to make two light strips display the same effects.  Use a single cable for as long as possible before the splitter to keep signal strength as strong as possible.


Dimensions: 2.4″ x 3.75″ x 1.0″ (61 x 95 x 25 mm)
Weight: 2.1 oz (62 grams)
Voltage: 5 Volts (input and output)
Power Draw: 0.15 – 5.0 Amps (depends on # of LEDs; continuous power draw over 5A will trip a protective circuit)

Operating Temp. Range (ambient): -13 F to 185 F (-25 C to 85 C)
Audio Input: 3.5 mm jack; line-level audio or included external mic
# of LEDs Total: control up to 900 unique LED points (the data from a single output can be split to multiple strips so the actual number of LEDs controlled can be much greater than 900)

# of Output Channels: 3

# of LEDs per Channel: 0 – 300 (the max of 300 LEDs is recommended for animations until a faster modified data protocol is finished, the app still allows 500)
Supported LED Types: WS2811, WS2812, WS2812B.  Also WS2813 but requires connector modification.

The App – ViVi VibeLink

Output adjustment and Setup tab screenshots

Initial Setup

Connecting to the App
  • Ensure ViVi has power.
  • Open the app and select the ViVi from the list, “VV-00xxx” or “ViVi-LED”.  If blank or missing ViVi press “SCAN” in the top right or swipe down from the top to re-scan.
  • Wait for the app connection to get to the “Ready” state.
  • Change tabs to adjust various settings.
Adjusting Strip Length
  • Go to the far right “SETUP” tab.
  • Use the + and – buttons or slider to adjust each strip’s # of LEDs to match your physical setup.  The strips automatically switch to an adjustment display that lights up the first LED, the center LED(s), and the last LED.  A few seconds after you stop making adjustments the lights return to normal operation.

General Options

Color Slider

Slide or tap to the color you desire.

Max Brightness Slider

Slide or tap to change the maximum brightness level the LEDs will reach.  This can help limit power consumption as well.

Color Option Drop Down Menu
  • Static Color – The color never changes, change manually with the color slider.
  • Change with Auto Animation – If the “Auto Animation Change” checkbox is checked, the color will change when the animation is automatically changed.
  • Change Every Beat – Each time a beat triggers an action the color will also change.
  • Occasional Quick Change – The color is occasionally switched instantly to a new color.  If music is playing the switch is synced with a beat hit.
  • Occasional Fade Change – The color is occasionally faded to a new color.
  • Continuous Fade SLOW – The color is continuously faded through all colors at a slow pace.
  • Continuous Fade FAST – The color is continuously faded through all colors at a fast pace.
Animation Options Drop Down Menu
  • No Prefix – These are standard animations that create effects from the related frequency range.
    • Blink – Whole strip all on or all off instantly with beat
    • Fade – Whole strip all on instantly with beat, fades to off
    • Strobe – Whole strip strobe light effect temporarily with a beat
    • Scale Brightness – Whole strip brightens or dims to match the beat
    • Scale Linear – LEDs light up from one end of the strip to towards the other based on the beat; like a VU meter
    • Lasers – Each beat triggers a “laser” to be fired, a group of lights travels down the strip
    • Sparkle Explosion – Each beat triggers the whole strip to erupt into a sparkle explosion; like a full stadium of camera flashes going off
    • Section Switch (Hard) – Sections of the strip turn on/off instantly with the beat
    • Section Flash (Soft) – Sections of the strip turn on instantly with the beat, fade to off
    • Scaled Scrolling – The brightness of the first LED of the strip is scaled to match the current beat, then moved down the strip, repeat
    • Magic Stick – Block of lit LEDs bounces back and forth between ends of the strip; speed/direction is altered by the beat
  • Mixed Prefix – These animations create effects based on all frequency ranges and show them all on the single output/strip.
    • Scaled Scrolling – The color is also changed to match different frequencies; bass only would produce a red section, all frequencies loud at one point would create a white section
    • Lasers – Different color, length, and speed lasers are created based on the frequency of the beat
  • Constant Prefix – These animations do not react to music.  Depending on the selected Color Option the color can still react to music and change.
    • On – Whole strip stays constantly on
    • Blink – Whole strip continuously turns instantly on then instantly off at a steady interval
    • Pulse – Whole strip continuously fades from full off to full on and repeats
    • Sparkle – Whole strip continuously produces a sparkling effect
    • Chasers – Groups of lit LEDs move down the strip continuously with fixed length and fixed spacing
    • Scroll – Changes are made on the first LED then locked and continuously moved down the strip; only noticeable if color is changing
Auto Animation Change Checkbox

When checked the animation will occasionally change to a random animation, the change will be synced to a beat hit.  Currently this changes through all music reactive animations.  You can still manually select an animation while this is checked and that animation will be shown for a period of time and then be automatically changed.

Noise Filter Level

This adjusts how much noise is filtered from the signal, 1 is least filtered, 5 is most filtered. In most cases you will never need to adjust this. If your input signal is very quiet and no effects are showing then turning this down may help. If there is lots of effects occurring when no music is playing then turning this up might help. When using a microphone you can adjust this depending on how loud the ambient noise is so it only picks up music. NOTE: This is a last resort, a clean input signal or a mic worn in a loud-music environment should not require adjusting this and when changed it typically makes no noticeable difference.  Check that you have a good input signal or proper mic placement before trying to adjust this.



There are currently no presets included in the app , so there will not be any presets to choose from until after you create your own.  Also note that Presets are stored in the app, not on your ViVi controller, so if you save presets using one phone and then connect to your controller with a different phone the presets created on the original phone will not be available.

On and Off buttons

There are On and Off buttons at the top of the presets tab.  Pressing Off will set all outputs to Off and not display anything on the LEDs.  Pressing On will restore the last settings that were running, unless you leave the preset tab and adjust settings on the manual tabs, then those adjusted settings will show up.

If the switch is in the Off position it will automatically move back to the On position if you select a preset or if you leave the presets tab and select an animation for an output manually.

Select/Activate a Preset

To send the settings of a preset to ViVi you tap the center of the preset button that you wish to activate.

When activated the whole button will turn green.  The currently active preset will keep a green outline around the button.

If you manually change controller settings outside the preset tab, or if you edit the settings of the currently active preset, the green border will be removed.

You can re-activate the currently active preset by clicking it again.  This may be useful if the preset uses auto-animation/color and you want to return to the starting animations/colors again.

Create New Preset

To create a new preset, click the circle button with a “+” in the bottom right corner.

New presets will be populated with the current settings of the controller.  The easiest way to create presets is to leave the preset tab for the manual tabs and adjust the settings until it matches what you want, then go to the presets tab and click the “+” button.

After clicking the “+” button you will be in the preset editing view, you can view and change all the settings of the new preset.  Changing the settings while in the preset editing view will not update those settings to the controller.

After clicking SAVE you will be prompted to name the new preset.

3-Dot Menu

Clicking the 3-dot menu on the right-side of each preset button brings up options for that specific preset:

  • Edit Preset – Enter the preset editing view and you can change all the settings of the preset.  The adjustments will not be sent to the controller during adjusting or after updating the preset.  You must click the preset after exiting the editing view to send the new settings to the controller.
  • Delete Preset – This will permanently delete the preset.  there is an additional prompt to ensure you want to delete the preset.
  • Rename Preset – This opens a dialog to change the name of the preset.
  • Copy Preset – This creates a new preset with all the same settings as the preset you selected the menu of.
Rearrange Presets

To change the order of the preset buttons, press and hold on the preset you wish to move, the selected preset button will grow larger and freely move around the screen, drop it where you would like it to go.


For more assistance or bug reporting send an email to

This page will be update regularly with more information, better guides, video tutorials, and FAQs, so check back soon.

ViVi Freezes when operating?

Cause: Too Much Power Through ViVi

LEDs turn red, animation stops

This is caused by drawing too much current through ViVi.  ViVi can only pass-through a maximum of 5 amps of continuous current. If this is exceeded a protective circuit shuts down the controller and any lit LEDs should turn red and the animation will freeze.

To reset unplug the power and wait 30 seconds, then plug back in. If ViVi sets the LEDs red and freezes too quickly, remove some LED strips before restoring power. Follow the guidelines below for creating a setup that does not exceed the power limits.

1A per 100 LEDs – Music reactive animations, 100% brightness
2A per 100 LEDs – Constant on, all LEDs, assorted colors, 100% brightness
3A per 100 LEDs – Constant on, all LEDs, white, 100% brightness
Power consumption drops in relation to brightness, power consumption decreases faster than brightness, so, for example, LEDs set to 70% brightness will use 60% of the power compared to LEDs at 100% brightness.

To avoid this issue you can reduce brightness to use less power or you can add additional power directly to the LEDs (see 5V Power Guide).

Cause: Power Supply Voltage Dropped Below 2.7V

Animation stops, LEDs remain colored

This is caused by the power supply voltage dropping too low.  Below 2.7V the main processor can create errors and corrupt the memory, ViVi automatically stops if this voltage is reached for even a fraction of a second.

This is a symptom of having an undersized power supply.  This is most common when using a USB power source, but could occur with any undersized supply.  See the guidelines below and ensure your power supply is rated for the number of amps your setup requires, if not, you can reduce the brightness to reduce power usage or buy a bigger power supply.

1A per 100 LEDs – Music reactive animations, 100% brightness
2A per 100 LEDs – Constant on, all LEDs, assorted colors, 100% brightness
3A per 100 LEDs – Constant on, all LEDs, white, 100% brightness
Power consumption drops in relation to brightness, power consumption decreases faster than brightness, so, for example, LEDs set to 70% brightness will use 60% of the power compared to LEDs at 100% brightness.

Unable to Connect to App?

App crashes upon connection

Noise Filter is set to 1

There is a potential bug that can cause the app to crash upon connection when the Noise Filter is set to 1.  Multiple repeated attempts should result in a successful connection.  This is due to some byte being missed during the initial settings upload and should be patched in the latest app versions.  This affected both Android and iOS.

All outputs have animation set to a Constant or Off AND each has >200 LEDs in settings

The underlying cause is unknown and this only affects the iOS app.  When all outputs have 200 or more LEDs and each output has a animation near the bottom of the selection list (a Constant animation or set to OFF) then the iOS app will crash shortly after connecting.  This was discovered in September 2019 and is expected to be patched soon.

To resolve this an Android phone can be used to connect and change the settings so that the iOS app will no longer crash when connecting.  Another possible solution is to let the controller run for approximately one minute and if “auto-animation change” was checked on any of the outputs the animation should change to a music reactive animation and then the iOS app can be connected.

App shows white screen or blank list when opened

Check that ViVi has power

ViVi will only show up on the list if powered is connected.

Ensure app has location permissions

ViVi VibeLink needs location permissions to be able to scan for BLE devices.  This can potentially reveal your location by using BLE beacons that show up in a scan to compare against a list of BLE beacons with known locations.  ViVi VibeLink only uses BLE scanning to find BLE devices (which ViVi is one) so you can connect to ViVi without pairing in advance, it does not attempt to estimate your location.

Ensure phone “Location” is on

Some phones have an option to turn off “Location” which is separate from GPS.  Turning “Location” off will also disable BLE scanning and even if ViVi VibeLink has location permissions and your phone’s Bluetooth is on it will block the app from scanning for BLE devices.  GPS does not need to be on for the app to work, so that can be disabled directly without any issue.

A way to test if this is location permissions or “Location” being off is the issue is to open your phone’s Bluetooth menu which will show a list of nearby Bluetooth devices.  If ViVi shows up in this list, but not in the VibeLink app, then the phone is preventing the app from scanning for BLE devices due to either permissions or if the phones “Location” is currently off.

Other devices, but not ViVi, show up in app list

Bluetooth Name may have changed to “RigCom”

RigCom is the default BLE module name and in a few rare cases the module has defaulted back to that name for unknown reasons.  You can connect the same as usual by selecting RigCom.  If you wish to change the name back please contact for assistance.  NOTE: the name RigDfu will show up for approximately 1 second when ViVi is powered on, this cannot be connected to.

Check that ViVi has power

ViVi will not broadcast it’s BLE name unless it is powered on.  We did not include a power indication LED (oops) so you can check by plugging in an LED strip and inputting audio to cause it to animate.  Alternatively you can carefully put multimeter probes into the bottom two squares of any LED output to check for 5V (left is +5V, right is GND), or check the circuits/connectors of cables or LEDs plugged into ViVi.

ViVi Not Responding to Music?

Cause: Audio Cable Connection is Bad

Messing the with audio cables causes erratic response

Sometimes cables break, sometimes you just need to push the connector in a bit more.

For pre-orders from Kickstarter and Indiegogo we discovered a later batch of 3.5mm extensions and splitters had quality control issues; to resolve you need to pull the extension plug slightly out from the splitter, creating a ~1/8″ gap, rather than being fully inserted.  This is most likely to affect orders shipped during May and June.

Cause: Audio Source Volume is Not Optimal

ViVi is triggering almost constantly, but with the music (volume too high), or ViVi very rarely triggers, only on very loud sounds (volume too low)

For most audio sources (phone, computer, etc.) the best volume setting is between 50% – 90% to give ViVi a clear signal to evaluate.  Try to adjust the audio signal source to this range and then adjust your speakers amplifier separately to get the volume you want to hear.

Too low of volume makes sounds less defined and harder to differentiate from each other and any static on the line.

Too high of volume can sometimes distort the audio signal and cause many of the loudest (but different) sounds to all hit the same max output level rather than allowing more variation as the original recording intended.  This is a rare issue that is unlikely to occur from an aux port on a phone or computer.

Cause: Sound Level is Too Quiet for the Microphone

You are using the microphone but ViVi is not responding to the music playing.

The microphone on ViVi require the sound level at the microphone to be about 75dB, which is loud enough to make you need to raise your voice to hold a conversation, but not have to yell. 

If the volume is too quiet you can try placing the microphone closer to a speaker, even directly in front of it will be fine.  Or turn up the volume!

Cause: Microphone is being Moved or Hit

ViVi reacts, but not to the sound.

If the microphone is touched or moved along a surface it can create very loud sounds in the wind guard that ViVi detects, ViVi will then not respond to the quieter sounds detected that are actually the music (it will again after about 30 seconds of no touching).

Make sure the microphone is placed in a location where it will not be bumped into or moved.  Having it dangling in the air would be better than moving against a surface.  If you are wearing the microphone place it somewhere clothing or limbs will not brush against it, like the center of your chest or top of your head.

Bug Tracking

These issues are known and being worked on:

(1) Sparkle Explosion animation won’t display beyond 255 LEDs.
— –Sparkle Explosion causes the software to freeze when generated for more than 255 LEDs, the display length limit is a temporary fix to prevent freezing. If your strip is more than 255 LEDs only the first 255 will animate when this is the active animation.
— — The underlying issue was resolved and will be implemented on new controllers starting in November 2019. Previous controllers will receive a firmware patch when the first firmware update is released in late Fall 2019.

(2) [iOS Only] app may crash upon connection if all outputs are set to Constant animations, or OFF, and all outputs have 200 or more LEDs.
— –This was discovered in September 2019, cause is unknown and only affects iOS app.  A controller with settings causing iOS crash may be connected to and adjusted with the Android app and after the settings are changed it will work with iOS again.  We expect this bug to be fixed quickly.

(3) If Noise Filter is set to 1, attempts to connect to ViVi VibeLink app may fail.
— —  After a year of random issues with this bug we discovered the cause was some bytes being missed in the initial connection settings upload.  The series of bytes created when NF=1 was much more likely to cause a missed byte.  This issue should be patched in the latest app versions.

(4) [iOS Only] LED count +/- button adjustment for bass output changes mid output LED count instead.
— —  The +/- buttons for the bass output LED count setting make adjustments to the mid range LED count instead.  The bass slider still works to adjust the bass LED count (going over the desired value by 5 LEDs looks fine, the slider can be tricky to get exact).  This bug was discovered in September 2019 and will be patched soon.