Poster VU

A giant VU-meter housed in two poster frames with mic and line input and sensitivity and brightness knobs, powered by arduino and neopixels.

Similar projects worth following
Poster VU is a giant, 40" x 15" VU-meter housed in two poster frames with a laser-cut front. It can take mic or line input and has two knobs for controlling brightness and sensitivity. It's powered by arduino, 140 adafruit neopixels, and the brains are housed in a 3D-printed box mounted on back. I believe it fulfills the connected device requirement for the hackaday prize by transmitting data (14 channels of audio into light in increments of 10) from another device (audio output of a computer or other line out source).

Here is the system design, the source code is available in the github link. The STL files to 3D-print the back mount and lid are included in the github repo.

This was my original 3D render of what I had in mind, a 10 by 15 grid:

I ended up using two poster frames instead, each with 7 x 10 LEDs.

The code was adapted from Andy Doro's LoL shield.

The code also uses fixFFT ( and Adafruit's neopixel library ( My code and these libraries are all provided freely; Adafruit's neopixel library is released under the GNU General Public License.

The prototype is basically done, but there is always room for improvement. I cut the foam dividers by hand, and there are some errors which you can see behind the glass if you look closely. In my next version, I would laser cut the dividers. The model for 3D-printing of the mount in back is missing some mounting holes and a hole for the audio out that I just drilled by hand. Ideally I would include those holes in the model, though in the next version I would just like to house all the electronics inside the frame. The 3D-printed mount lid is also a bit loose and I would like to design better housing for some of the components.

Neopixels are currently overkill for this, since each LED only displays one color. You can customize the colors in the code, but I'd like to program some other functions that rotates colors and uses more of the full functionality of the neopixels.

My goal is to manufacture a professional version, with flush ports on the side for audio in and out, power, and switches, perhaps with unibody metal or some other sleek plastic look. This page documents the DIY version.

View all 21 components

  • The Circuit

    jordan31408/19/2014 at 22:44 0 comments

    Here is the circuit I used. Pin 6 goes to the data channel of the neopixels, and they get power directly from the external power supply and are connected to common ground. The external power supply also powers the arduino via VIN, and the arduino is connected to common ground. The two pots are connected to common ground and get power from the Arduino's 5V. Their outputs go into Analog in A2 and A3. The electret microphone gets power from the arduino 5V as well and that is also connected to AREF. Its output goes into A1 if the toggle switch allows the connection.

    The line input has the same connections as the microphone but is switched via the toggle switch. It also is wired in parallel to another headphone jack that is used as a THRU jack. It doesn't matter which is used as input and which is used as output; both will function even when the device is off as a THRU jack.

  • The Dividers

    jordan31408/19/2014 at 22:25 0 comments

    I bought some white poster board to divide the pixels up, and measured the width and height of inside the poster and its depth. I cut 6 row dividers and 9 column dividers for each frame, and then cut notches in each divider where they would intersect using a bandsaw.

    I sprayed it with reflect all, which I found on amazon:

    I also masked the frame and then sprayed the glass with krylon reflected glass, on the inside of the poster:

    That stuff works pretty well, I did two or three coats, but I would use more if I had it. It also seems to rub off when it gets bumped, so perhaps I would use real frosted glass next time.

  • Gluing & soldering the pixels

    jordan31408/12/2014 at 16:07 0 comments

    I bought 5 meters of the Adafruit 30 LED strips, or 150 pixels.

    The poster frames would hold 10 pixels in a column, so I cut the neopixels into 10 LED strips. This left me with 15 strips, but since I wanted it to be even I used 7 on each poster and kept the extra 15th strip.

    I divided the poster into even rows of 7 by 10 using a square ruler and then superglued the neopixel strips to the inside back of the poster. I alternated direction, snaking them up and down, to save on resistance in the whole circuit. I compensated for this with the programming. Then, I soldered the power, ground, and data lines back together to make one long strip again. I drilled holes in the back of the poster to stick the beginning and ends of the neopixel strips out of the back of the frame, and used JST connectors to connect the two frames together. Then I used a glue gun to reinforce all of the connections.

  • The Frame

    jordan31408/12/2014 at 02:14 0 comments

    I started by buying two 20" x 15" poster frames from target. I liked these ones because they were deep (1.5") which would be good for defusing light, and I just removed the clips that normally hold pictures inside of it. I initially thought I would use one enormous picture frame, but settled on these realizing I could use 2 and then it could fold for portability.

View all 4 project logs

  • 1
    Step 1

    More details are in the project logs, but here is the overview.

    Buy all materials. Measure and pencil in an 7 by 10 grid on the inside back of each poster. Cut the neopixels into strips of 10 pixels each and glue them to the inside back of the poster, centered in the grid lines. Make sure to ALTERNATE the direction of each strip so that it flows up and down. Cut two holes at the start and end of the strip so that the strip can connect to power.

  • 2
    Step 2

    Solder the neopixel strips back together so that they form one long strip snaking up and down. For each break, join 5v to 5v, data to data, and ground to ground. Optionally, cover each end with hot glue to help secure the wires in place. Make sure the wires are short enough so that the frame can still close.

  • 3
    Step 3

    Measure the inside of the poster frame and cut 30 ((6 + 9) x 2) dividers from the foam art board to fit perfectly between each strip and each row of LEDs inside the posters. Cut notches the width of the foam board and half-way deep at each intersection to allow the rows and columns to join. A bandsaw or laser cutter works well for this.

View all 7 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates