Recently we caught up with Jason Kotzin, the creator of flirc -- a device that plugs into your computer's USB port and allows you to program any television remote to control your computer. He has a pretty inspiring story and we thought we'd share it with you!
Can you tell us a little bit about yourself and what you do?
At a fairly young age, I earned the reputation in my family for taking things apart. My grandmother would save her broken electronics for me to fix when I came to visit, and all those little experiences quickly turned into a love for understanding how things worked, and a strong interest in math and science. I was never good in subjects requiring memorization; I was much better at understanding and applying.
Later, in high school, I gave 10 dollars to a student for his broken TI-83. He watched in disappointment as I opened it in front of him, reset the calculator by clearing the EEPROM to its factory default settings, and began playing with it. I started writing TI-83 software to help with my math tests, and they started to circulate the school. That started my love for writing software.
I got accepted to a few colleges for electrical engineering except for my first choice, Cal Poly in San Luis Obispo. I applied to Cal Poly for early decision and normal admission, and got denied for both. So I applied for summer school as another major, and was accepted. Cal Poly has a very strict policy for changing majors -- strictly put, they really don't allow it. But I took a chance, risked my future by declining other schools, and went to Cal Poly, which emphasizes hands-on experiences, creativity, and exploration.
Within my first two weeks, I went to the college of engineering and told them I made a mistake, I wanted to be an engineer. They told me the requirements; I had to pass all the calculus, physics, and chemistry pre-requisite courses with an outstanding GPA. They told me to drop out of school, and go to the neighboring Junior College where I would have better luck.
But I stayed, worked extremely hard, and met the requirements. I subsequently had more motivation than any other student, joining multiple clubs to prove to everyone that I really was an engineer. Each year I joined the robotics club, which further instilled my love for the intersection of hardware and software. I began experimenting with microcontrollers outside of school, and started "hacking." For my senior project, I fabricated my own PCB, hand-soldered the components (which involved many SparkFun chips that I probably still have my original receipts for), and wrote the microcontroller code. I had a few job offers before I graduated, and learned very quickly that my success had been because of what I had done outside of the classroom, and not in it. Playing on my free time continued even as I progressed into the industry.
What is flirc, and where did the idea come from? Where do you hope it will go?
Flirc allows you to pair your television remote control with your computer. The idea came from a very big gripe I had with media centers. I set up a Linux machine, attached it to our TV, and both my wife and I enjoyed it. However, I was constantly told that the wireless keyboard that occupied the larger portion of our dining room table had to go. I'm a minimalist, and refused to buy another remote control. So I started looking into how I could use my own television remote to control my media center. I found LIRC, and was immediately frustrated. My remote wasn't supported and required a new lookup table. I said to myself, "This shouldn't be this hard."
I came to the realization that every single media center application can already be controlled by my keyboard. Why not make my remote control look like a keyboard? So I began the process of researching and trying to find out if this could be done on my favorite microcontroller, the ATMega.
It just so happened that I started moving all my development to my Mac, and in doing so, found a pre-compiled avr-gcc toolchain called Crosspack.
I then found their USB stack, which I downloaded, and immediately had something up and running. I contacted Christian, one of the creators, and we drew up an agreement which allowed me to use his stack commercially in exchange for allowing the community to use my USB Vendor ID.
I spent my free time outside of my job at Cisco working on flirc and had something with a commandline interface in less than three months. It took me another three years to turn it into a polished product. I quickly learned that 95 percent of the work is in the last 5 percent.
I think I’ve accomplished my goal of where I wanted it to go: earning a spot in people’s homes other than my own.
You have a unique story about the allocation of flirc profits. Can you tell us a bit about it?
When I graduated college, I finished enrolled in 27 units, had three part-time jobs, and was president of the Cal Poly IEEE student branch. I ended school looking forward to what would have been my first vacation in five years.
On suspicion and my mother's insistence, I went to the doctor before the trip, and had a precautionary colonoscopy. I woke up, and the doctor said, “We were surprised with what we found." I asked how serious it was, and he replied, "Cancel your trip."
Within a week I had surgery, and a month after recovery I started chemo as a precautionary measure. Throughout that time, I still hacked on the side. During "good" weeks, I helped a family friend materialize a product, and worked on what would be my last participation in the Cal Poly Robotics tournament.
After finishing chemotherapy, I started to fundraise for my oncologist’s research center. I did that while balancing my full-time job and flirc, but couldn’t handle the workload and had to give something up. I couldn’t stop fundraising for my oncologist, so I decided to allocate a portion of the company for his research center, and donate a portion of every sale.
It’s been an amazing journey and worth every sleepless night. But one thing is for certain, I couldn’t have done it without SparkFun. I’ve learned about fabricating PCBs from BatchPCB; I learned about bed of nail programming from SparkFun’s tutorials; SparkFun pointed me to a great enclosure design house called Spoko Solutions; and Nate recently gave me my contact for the new product packaging. I never imagined the generosity of a single company would play such an important role in my life, and I’m forever grateful. Thank you.
Thank you Jason, and best of luck with flirc!