A large part of the Power Racing Series is Moxie. Moxie is best described as, being awesome. The crowd gets to vote for your car using the Moxie Board. Each button press equals a vote. Being fast is one way to get points, but another way is by being awesome… so, Moxie.
Above you’ll see a photo of the official Moxie Board used by the series. Since we also had a PPPRS race during Maker Faire Milwaukee, which overlapped the race in New York, we had to build our own Moxie Board, so here’s what we did…
It looks fairly similar, but it’s a bit smaller and lighter than the original, and it’s got 24 buttons instead of 30 (though I believe the original was recently expanded to have that 30 buttons. Who knew there’d ever be that many cars in a race!)
I got some Coroplast from Midland Plastics for super cheap, and they didn’t have any wide enough, so the black strip running down the center is gaff tape used to hold two pieces together to be wide enough. I then found some scrap wood in the shop at work which was long enough, but too skinny to be used for anything else, and built a simple frame with some small blocks of HDPE in the corners to hold it all together. (I was told the reduced weight of this Moxie Board was a big plus.)
The front is screwed into the wood frame, and the back is held in place with some VELCRO® hook and loop so we could open it to get to the electronics…
As for the inside and the electronics, while the original uses an Arduino Mega with a Bluetooth module to send real-time updates to Patrick’s Android phone which is running some special app, I chose to do it differently.
I’m using a Teensy 3.5 which has plenty of input pins and a built-in MicroSD card slot. The way it works is simple, each button represents a number from 1 to 24, and when pressed, the Teensy gets the value of every button, with the ones not being pressed equal to 0 and the one being pressed equal to 1, and then writes it to a file called MOXIE.csv. When the race is over you just put the MicroSD card in a card reader and import the CSV file into a spreadsheet and grab the last row. (Hopefully your spreadsheet is set up with the names of the cars in the corresponding columns.)
In testing, this all worked fine, but obviously the real world had to come along and crush my hopes and dreams…
Failure #1: Because the Teensy is a low power device, it doesn’t draw much power from the USB battery pack we were using. I’ve seen this before, so I use a battery pack with a built-in LED “flashlight” that stays on, as long as you press and hold the button when turning it on. I told this to two people, but forgot to write instructions to put inside the Moxie Board, so there’s a chance this was not done properly and power was lost. (There is an indicator LED that lights up when a button is pressed, but not a “POWER ON” LED which would have helped… maybe.
Maybe Failure #2: It could be that my code isn’t quite right. I do not have the most recent code that the official Moxie Board is running, but I have an older version that may be close. My code is a little different, but should yield the same results… I think. This is worth checking on.
I also do not have a good way to attach Moxie Labels, so they are just attached with tape or Hook and Loop for now. Ran out of time for anything better. :/
One more note! In the photo there’s a bunch of green wire and LEDs attached to the front of the Moxie Board. Those were added for the night race. All the actual wiring for the Moxie Board is located on the inside.
I’ve heard of one other group working on a Moxie Board that will use a Raspberry Pi, which I thought about doing as well, but ended up choosing a Teensy instead. As we add more races, we’re going to need more boards, so I’m hoping we see more ideas and eventually come up with even better ideas. (Note that I wanted to stay simple because simple gets done while over-complex builds, while fun, don’t always get finished, or work properly. But then, who am I to talk!?)