The BeatBoard is an add-on to the roboRIO (the brains of FRC robots). It is used to separate sound into frequency bands to allow a user program to act upon noises in the high, medium and low frequency band. This data can then be used to flash LEDs or move motors (making the robot dance). It is designed as a “bling board” for FRC robots; that is to say, it adds no real functionality beyond being really cool.

Project Leader: Ben Gorr

Date Completed: October 2015

  • Electronics
    • Analog Circuits
    • Op-Amps
    • RC Filters

Project Origin

In the fall of 2014, we contacted Hunter Smith from National Instruments about creating an MXP (myRIO expansion port) board for the newly released roboRIO for FRC teams. In our initial meeting with Mr. Smith, he offered some suggestions for possible functionality and we discussed the terms of the arrangement, which included using Multisim and Ultiboard, two NI circuit board development products and producing tutorials for FRC teams on how to use the software. After that meeting, we discussed three different ideas for an MXP board before settling on the BeatBoard, an MXP board that would send signals to the roboRIO based on the intensity of three sound frequency bands.

Early Work

Using a circuit from Makezine that flashed LEDs in three frequency bands, we began to prototype the BeatBoard on a breadboard. The Makezine circuit we borrowed from used an audio jack for input, but we wanted to send a signal based on ambient sound, so we used a cheap electret mic from RadioShack. The first problem we ran into was providing a signal with a high enough voltage to the circuit. To solve this problem, we used an op-amp circuit to amplify the signal. At this point we were feeling a time crunch and the circuit was sort of flashing at the right times, so we planned to just adjust the resistor values as necessary.

PCB Design

After some issues with getting a copy, we began to use Multisim and Ultiboard for designing the PCB. The software actually turned out to be pretty neat, with a built in simulator and 3D rendering of the final circuit board (although both of these didn’t help much and were very time-consuming to learn). Once the board was done, we shipped it off to be made.


Once we received the PCBs, we soldered on the components and took it for a test drive. It was a spectacular failure the first time around. After some resoldering, we finally got the lights to flash. But the flashing was inconsistent, with loud noises lighting up all 3 frequency bands. No matter which resistors we tried, we were unable to tune the circuit correctly. At this point, Mr. Smith left NI and our project fell off of NI’s map. This combined with the failure of the board led the project to be abandoned for a number of months.


Oscilloscope This fall we resumed the BeatBoard project with the addition of a new team member: Sarah Guenov. We were concerned that the cause of the failure was the quality of the microphone so we began by taking apart a pair of headphones and wiring them into the amplifier part of the circuit. However, the results were no better than with the electron microphone- the lights still seemed to bear discernable relationship to the music. Then in frustration we plugged in a function wave generator to the amplification part of the board and compared the output of the amplification part to what we input and were shocked. Rather than remove the background noise, the amplification part removed all the extremes from the music.
That would not do, and explained all the issues we had been having with the LEDS so we endeavored to find a way to omit the amplification part of the circuit. We next advanced by wiring our headphone audio into the LED part of the circuit directly, and it started to appear to work. However we quickly resumed having problems, which we ended up tracing to the fact that the two wires in normal headphones are L and R not power and ground as we had hoped. A trip to RadioShack for an headphone jack that would have a ground later, we finally had a BeatBoard that appeared to function, but since we couldn’t hear the music being input, we weren’t sure. Finally, rather than work with a speaker wired into our circuit board, we simply used an audio splitter and an external speaker and lo and behold, it worked!