Ever thought about crowdfunding some kind of new product? Coming up with the idea is the easy part. Getting the final product to market is something else entirely. I caught up with Derek Kuschel, inventor of the CANBus Triple, to talk about how he took his slick, tuning solution from idea to successful Kickstarter campaign.
For every 10 gearheads like us who struggle for years on end to make something out of nothing, there’s one who accidentally falls into success. Maybe it’s the big idea out of nowhere. Maybe it’s the little side project which thrusts a person into the spotlight – a call to loud to be ignored.
My friend Derek falls into that last category. Not that he hasn’t been paying his dues up in Detroit for years on end in a variety of areas – automotive, design, marketing – Derek’s a card-carrying member of the Made in Detroit creative class. But this project seems like it happened almost by accident; a novel, personal project demanding more than the usual group buy in a sub-forum somewhere.
[bd] Introductions. Tell us a little bit about yourself. You’re in Detroit, right? What do you do for a living?
[dk] Yep! Born and raised. We have everything I love here. I work at an Advertising agency in Detroit, located inside of Ford Field (Detroit Lions.) I’m a supervisor in the digital group where I manage the team and work on designing/prototyping/building user interfaces for web and apps. I’ve always been into electronics, it probably all started when my friends and I started restoring old arcade games to fill up our massive downtown Detroit loft space.
[bd] Introductions. Tell us about CANBus Triple. What is it? What does it do? Why is it special?
[dk] Well, I’ve been driving a Mazdaspeed3 for the last 5 years. It’s great I love it. Well, the seats aren’t great but the rest of it is great. Being an electronics hobbyist and all around geek I had to spring for the ‘Tech Package’ with in dash Navi, Sound, etc. I was always disappointed in the navigation’s capabilities and I rarely used it.
So this Mazda lacks a lot of feedback from a car that I am used to, and I realize all OEMs are moving in this direction, but I need to know what’s going on with my car. No coolant temp on the instrument panel? Really? It’s just weird. So one day I decided to remove the navigation unit from my dash and install Google android on it, then somehow read the CAN bus and show the sensor data. After about 3 minutes I decided that was too much work. So I turned to another little LCD display mounted in the dash which is effectively the display for the radio.
After studying some wiring diagrams I found this screen is directly attached to the CAN bus! Cool! So I wired up a CAN controller and transceiver on a breadboard, hacked it into my OBDII port and boom, all the data. ALL OF IT! Too much of it. I spent countless nights writing software to read the packets from my breadboard and convert them into something useful. Eventually I could send my own custom text to the display.
But this didn’t work very well. CAN data packets cannot be canceled, so if a CAN node is listening for a particular message ID no other node in the network can tell it otherwise. Well, unless it could flash new programming to it, but that’s different.
So I decided to physically cut the CAN bus and design a circuit that has three independent buses. Two buses to connect to the bus that I split by cutting the wires, and a third to read data from any other bus on the vehicle. My Mazda has two buses, but current VW models have four!
Now installing the CANBus Triple prototype on this severed bus, I programmed the processor on the prototype board to read all the packets from one side of the bus and spit them back out on the other side. Then I did this in the other direction as well. So now the prototype is just echoing the packets back and forth, like it’s not there! Cool!
I can listen for packets with particular message IDs and change them around. It’s a basic Man In The Middle attack. So anytime I see a message ID for my display I just block it, and create my own with my own custom message. And by listening on that third bus, I can read sensors like exhaust temp, battery voltage, AFR, even my passenger weight and push it to that display on my dash.
After long nights in the car writing and testing the code on my prototype, I realized this could be a very general purpose tool for any CAN-enabled car. I posted the project up on a Mazda forum and a lot of members were into the idea and urged me to do a Kickstarter campaign. I spent almost a year working on the project at night after my day job, redesigning the PCB and molding it into a finished project.
The project took off on Kickstarter quick. Within hours of launching I was a ‘Staff Pick’ and blogs were picking up on it as well. The campaign ended around US$68k and after 5 months of nonstop work. CANBus Triples are out there in people’s cars right now.
Would you like to know why the Mazda community pushed Derek to crowdfund CANBus Triple on Kickstarter? How much crowdfunding experience he had prior to this? What he did with the money? Check back here in a couple days or – better yet – grab a free email subscription and we’ll deliver it!
To be continued later this week…