Heard this quote: “Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.”? If you have any contact with the entrepreneurial world you’ve probably come across it either in full or in punchier more abbreviated form as “Fail again. Fail better”. There’s even a Twitter hashtag “#failbetter” to express this even more blithely. So then, here’s a question: why are we so obsessed with our failures? As designers, many of us tend to remember negatives over positives, failures over achievements. The things that haunt us the most, have us cringing when we remember them in the middle of sitting on the couch day-dreaming, are our failures. The unfortunate part of this is that since we tend to only remember the bad things and forget the good a single failure sticks with us longer than a whole day of filled with win.
The device market is filled with quantified-self devices to help us measure our health and wellbeing from a physical standpoint. They tell us the number of steps we’ve taken, how stressed we are, how much time we’ve spent sitting at a desk, the list goes on and on. The fundamental idea though is always the same: giving you a quantified number means you can understand and manage whatever it is that you’re tracking. So then lets ask a question: when it comes to the messy tricky metric of “win” and “fail” abstracted from anything easily quantifiable, how do we record that and help ourselves keep ? This was the thought behind Failbox.
The Failbox lets you easily keep track of your fails and wins with two buttons and a classic analog dial voltmeter to show you where your current fail-to-win ratio is living. We have some fine arcade style buttons that have a highly satisfying action and sound to them. Slap the green button for a win, red for a fail. After a few iterations we’ve gotten the form nailed down with a laser cut wooden box that has our motto inscribed on it and the feel of a console from a classic game console or TV gameshow.
Internally the Failbox is using a Particle Sparkcore to keep track of the button presses and drive the voltmeter. We went with a Sparkcore so we could hook it up to some internet services and log the data, broadcast it out, generally have a little more fun with our wins and fails. It’s not the most optimal controller but it gives us a lot more options and in the world of prototyping and thinking more options is generally the way to go.
The one tricky bit of the Sparkcore is that it’s a 3.3V controller while our voltmeter is a 5V. In order to get a clean 0-5V range we needed to get a way to turn a 3.3V PWM signal into a 5V PWM signal. Most of the usual ways of stepping up current aren’t fast enough for PWM. The components don’t fully charge before the PWM signal drops back to 0 so you often actually wind up with a range smaller than the original output from your microcontroller. You need something that responds fast and there’s nothing that’s both fast and cheap better than a MOSFET. The wiring is actually pretty simple because the Sparkcore can be powered at 5V meaning we had 5V around to drive our voltmeter, we just needed a way to control that 5V power source. You also need a diode to make sure that the current doesn’t flow back through your circuit and into the Sparkcore but all told that’s about $0.50 of parts and we’re off to the races. Here’s the entire setup right here:
Now, what to do with these wins and fails? Like a lot of other places we at Teague use Slack internally as a non-email way to communicate with one another. One of the best things about Slack is that you can script in pretty much anything you want, letting bots, other services, and even microcontrollers into your communications channel. In our case we used If This Then That aka ifttt.com to connect our SparkCore to our Slack install. The ifttt recipe is pretty simple:
“If CoreMan published fail_message, then post a message to a Slack channel”
CoreMan is the name of our SparkCore and we pick the channel we want to it to go to and we get a nice notification any time we want to let everyone know how it’s going.
The next step for this is, obviously, to get more Failboxes to more people and get enough data so that we can do something interesting with it. We’re also looking at setting them up with our MakerBot 3D printers to keep track of the quality (or lack thereof) in our printing setup.