Flutter Audio Display


The Flutter is a fun device that was my entry into creating USB HID devices, a goal of mine since starting out as a hobbyist. The Flutter is a device that receives the audio output of your computer to display the current volume level on the dual seven segment display and the dB level of the volume to display on the four LEDs. Here it is in action!

The Flutter is based on the ATmega32U4 and LUFA USB Development Stack. Check out the library by Dean Camera (http://fourwalledcubicle.com/LUFA.php); truly beautiful work done here. The device started out on the breadboard with an Arduino Micro Pro to verify the design and get use to working with LUFA. The seven-segment display is driven with a CMOS 4511 IC and features two inputs which are multiplexed by the microcontroller. Due to the multiplexing that takes place to refresh the display there is a slight glow between the two segments when viewed through a camera lens. If I were to create another version in the future, I would have the seven-segment value buffered in a shift register so the value displayed does not always depend on the state of the microcontroller, much faster.

For sending the data out to the device I wrote a program in C# that detects the VID and PID of the device and makes requests to the Windows OS for the relevant information to be sent over the serial line. Available for download in this neat installer package!

Once I was satisfied with the breadboard prototype, I took to Eagle CAD and created a nicely integrated PCB to hold the microcontroller, the display/LEDs, USB, and decoder. PCB was manufactured and in the hand, feels good.

I then exported the design to Fusion 360 to create an enclosure around the device. At this point in the design, I had gotten it stuck in my head that I wanted to mount the display to my desk (built here!). I CADed a design that I found appealing and added two mounting holes so put it on the ridge of the second tier of my desk. This design also included a super nest snap fit mechanism that I found on an Adafruit blog. Here is the cross section as well as the video that showed me how to do this! Certainly, a design I would like to keep for future use.

I also leveraged Fusion 360’s connection to the library of McMaster-Carr components to seamlessly integrate them into my design. Incredible!

Once printed, the Swallowtail Logo got a bit butchered which is understandable given the abilities of my printer (0.4mm nozzle for this one). But this ultimately lead me down the road of redesigning the logo to be much easier to manufacture. Net very good. Anyways I was happy with the snap fit design. Feels nice and no additional BOM items!

Here’s the GitHub link to the project repository.

Here’s the Thingiverse link to the project mechanical files.

Here’s the Bill of Materials for getting this hardware. I'll further breakdown the assembled Flutter PCB if someone takes interest to see it.

BOM Item # Item Name Quantity Price/Unit Total Cost
1 Enclosure Top 1 $0.50
2 Enclosure Bottom 1 $0.30
3 4-40 Heat Set Insert 4 $0.10
4 4-40 Bolt 4 $0.05
5 Flutter PCB Assembled 1 $17.45
$18.85

This article was last edited: August 2020