User Tools

Site Tools


Shifty VU Shield

ASCII The Shifty VU Shield stacks on top of any Arduino with a standard female socket layout. It accepts stereo audio from a computer, CD player, or other audio source. A ShiftBrite header is provided, allowing the Shifty VU shield to visualize the input audio levels on a chain of RGB LED modules. Using the Arduino IDE, any LED visual effect can be synchronized with music or other audio.


Type: Arduino Shield
Function: Process stereo audio and control ShiftBrites
Works with: ShiftBrites, MegaBrites, ShiftBars
Fits: Arduino Diecimila, Duemilanove, Seeeduino, etc.
Power Supply: 5.5V to 12V DC (ShiftBrite Header)
5V (from Arduino)
Pin Usage: Analog 2, 3; Digital 9, 10, 11, 13; AREF, VIN, 5V, 3V3
Inputs: 3.5mm stereo jack, power via screw clamp terminals
Outputs: Filtered audio on Analog 2 and 3; SPI ShiftBrite chain
Other features: Passthrough female headers and duplicate solder pads


The passthrough headers are provided not soldered in place, to reduce damage in shipping and more flexible usage options for our customers. The headers must be soldered to the shield, as seen in the photo above. A good connection will not be made if the headers are merely poked through the shield into the Arduino, without soldering. This accounts for many of our tech support issues with the Shifty VU Shield.

Power Connections

The V+ and GND connections are accessed through the screw clamp terminal on the Shifty VU Shield. These power terminals are directly connected to the V+ and GND on the ShiftBrite chain connector. The direct connection will minimize any problems that could be caused by inline diodes or thin power traces on the Arduino board, since a ShiftBrite chain can easily draw several amps. The power connector can also supply power to the Arduino if the PWRSEL jumper is closed.

Audio Input Jack

The audio input jack accepts a standard 3.5mm (1/8“) headphone-style audio plug. The filtering circuitry processes audio input through this connector, from an audio source like a computer or CD player's headphone jack. The purpose of the Shifty VU Shield is to allow Arduino programmers to easily write programs that react to the current audio power level. To this end, the filtering circuitry rectifies the input and does a small amount of lowpass filtering and integration. In audio response circuits, it is often desirable to react to lower frequencies, so the shield was designed with a set of filtering values experimentally determined to provide a visually pleasing result. A later version of the Shifty VU shield may process several frequency bands.

Audio Level Potentiometers

The two potentiometers on either side of the audio input jack allow either channel's levels to be individually adjusted. This is useful for fine-tuning the response of the circuit to the input audio, to allow full-scale reaction to the expected input levels, or to balance the channels to equal response if there are small differences. The potentiometers are in opposed configuration; please refer to the image above. Rotating the knobs in the direction of the arrows will increase the audio input level.



The PWRSEL jumper connects the ShiftBrite power supply to the Arduino VIN terminal. This means that you can pass the ShiftBrite power supply through the built-in voltage regulator on the Arduino board, requiring only one power supply for the entire Arduino-ShiftBrite system. To a lesser degree, it also means that power can be drawn from the Arduino power input terminal, and used to power ShiftBrites. However, this should only be used for a few ShiftBrites; all the power is passing through the Arduino protection diode and the power traces are usually small. The jumper itself is also not intended to carry several hundred milliamps, like a string of ShiftBrites is easily cable of draining. The PWRSEL jumper also does not allow ShiftBrites to be powered from USB 5V power. You should not try to run ShiftBrites from USB anyway, since they will likely draw more power than the port is capable of supplying. ShiftBrites also need a bit higher voltage than 5V to correctly supply their internal regulator, and prevent signal corruption along the chain.


The REFSEL jumper is used to provide a voltage reference for the Arduino analog to digital converter. The center pin is connected to the AREF pin on the Arduino. There are three possible settings for the REFSEL jumper:

Jumper Description Code
OPEN: This setting leaves the AREF pin disconnected. It allows the use of the Arduino internal 5V or 1.1V references. The jumper MUST be disconnected when the internal reference is selected, or you could damage your Arduino.
W: This setting connects the AREF pin to the center terminal of the REFPOT header. It allows the user to supply their own analog voltage reference. For example, you may want to install a potentiometer on the outside of your project case. The potentiometer would make it easy to adjust the overall response of the circuit to the level of the incoming audio.
3v3: This setting connects the 3.3V voltage supplied from the FTDI chip to the Arduino AREF pin. It is a handy way to get an external voltage reference that matches the typical maximum possible from the filtering amplifier. It will prove useful if you have higher level audio input you need to measure. DO NOT connect this jumper until after you have set the Arduino voltage reference to EXTERNAL. Otherwise, there is a very real risk of damaging the Arduino.


The REFPOT header allows an external potentiometer to be soldered to the Shifty VU Shield to supply an adjustable voltage reference. This allows a method of easily adjusting the overall response of the device to varying music levels, without reprogramming or adjusting the smaller trimpots individually.

The GND and 5V pins should be soldered on either end of the external potentiometer resistive path, and the W pin should be soldered to the wiper of the potentiometer. This will implement a voltage divider between 0 and 5 volts. A potentiometer should be chosen with a high enough resistance that it doesn't draw too much current; but small enough that the voltage reference is not affected by external factors. 10K to 100K would be within an acceptable range.

If a potentiometer is used, the REFSEL jumper should be set to W. But first, the Arduino MUST be programmed to use the EXTERNAL reference. Otherwise, you may risk damaging your Arduino, or at least not getting expected results.


Rusty VU - industrial-styled desktop VU meters

/home/macetec/public_html/docs/data/pages/shifty_vu_shield.txt · Last modified: 2015/05/22 00:51 by macegr