Featured Engineer

Interview with Dean Camera

Dean Camera

Dean Camera - Atmel Applications Engineer

Can you give us a little background about yourself? How did you get into electronics?

I grew up around electronics; my dad used to have a shed full of old equipment I would play with, and he used to work with electronics as a hobby. When I was little I used to play with the simple circuits he would build on an old breadboard, and one year I received one of those “200 in One” solderless electronics kits (a quick search turned up the exact one at http://www.vetco.net/catalog/product_info.php?products_id=9122, astonishingly still being sold) where you could build circuits from a book with wires and springs. I also used to spend long car trips reading my dad’s copy of Forrest Mims Engineer’s Notebook (http://books.google.no/books/about/The_Forrest_Mims_Engineer_s_Notebook.html?id=4kiL5KIVlKEC) which would fascinate me with all its complicated hand-drawn circuits and cryptic parts despite not understanding how it all worked.

Through highschool I sort of lost the spark a bit, and was more into computer programming even though I still enjoyed the idea of electronics. Cue my parents to the rescue, who gave me an “ABC Mini” microcontroller introduction kit (which is where I got my online handle “abcminiuser” which has stuck ever since) one year for Christmas. It was a great board with no documentation and a horrific hand-rolled BASIC compiler. Despite that,though, with it I recognized the power of programming and electronics — and my future career was pretty much set. I set out to write my own documentation for it as a kind of personal notebook/assistance for others (http://www.fourwalledcubicle.com/ABCmanual.php) which taught me a lot but also got me communicating with a ton of real engineers. When you’re 14, it’s really rewarding to have middle-aged engineers sent you emails asking for your advice and thanking you for your work as if you were an adult and not just a kid. Thankfully my parents recognized it was a good thing and despite the raised eyebrows from the mystery packages of free kits and parts people would send me, they didn’t worry too much about my constant on-line conversations with “strange men” (read: engineers).

Tell us about your blog fourwalledcubicle.com?

I’m not a social media addict (except Twitter, my guilty pleasure) – but I always wanted to have my own website. My original designs from Primary School were horrific neon-on-black creations in Frontpage containing the usual chain email “funnies” and awful Visual Basic code, but it was mine nonetheless. After a few years I made a better one, then a slightly better one still, and now I have Four Walled Cubicle where I stuff bits and pieces of my work. It’s simple and based of a free template, but at least it’s not neon and has chugged away happily for a few years now.

I set up a blog after realizing that I wanted to keep a public record of what I do. My personal flaw is that I hate (HATE) to waste work, so the thought of keeping a diary that no one would ever see didn’t appeal to me at all, and I started a blog instead. This way I have a diary of sorts, albeit an intermittent one, but one where others can hear about what I’m up to as well so it’s not a wasted exercise. Looking back on it for the purposes of this interview I was a bit shocked to realized I’ve been writing on it since 2007 (http://fourwalledcubicle.com/blog/2007/07/is-this-thing-on/) but happy I have a record of my life through the birth of my professional career.

Can you tell us about what you do when you’re not working on your website?

Social events, coding, work, reading and playing computer games. When I started out at Atmel last year I moved to Norway from Australia, which has left me without my friends, girlfriend and family to keep me busy. However, I love the job and the people and I’ve made some new friends – so it’s not so bad. I do miss everyone back home and I look forward to a holiday.

What tools are your favorites?

For hardware, my JTAG ICE-3 and my Rigol DS1052E. If a problem can’t be solved with one, it can probably be solved by the other. Granted I need to invest in some more specialized equipment some day (the Saleae logic analyzers was a god-send at work) but for now those are my main gotos.

For software, Sublime Text is my one and only editor, and Git. PEOPLE, LEARN GIT. I can’t stress this enough or how awesome it is for code management. Being able to narrow down a software fault to a single commit using a bisect has single-handedly made me believe in magic once again.

What was the trickiest bug you ever fixed?

My problem is that I forget problems once I (eventually) solve them – but I’ve gone through my share of Heisenbugs that change based on how you observe them. Race conditions are unfortunately a huge part of my life and I’m resigned to solving them with a smile, but it’s a grim task. I can say from experience however that debugging a USB Mass Storage Class driver using the same host Windows platform is not fun, as the default behavior of the Windows storage driver appears to be “bluescreen”.

What is on your bookshelf?

I’ve kept the Forest Mims book, along with books from Joe (http://www.smileymicros.com) that got me started in the world of embedded C. That reminds me, I have an enormous book on C as well, stuffed in a box somewhere.

Do you have any experiential stories you’d like to share?

I have fond memories of a huge stepper motor my dad had in storage under our house; my brother learned an important lesson that day. If your younger brother asks you to hold these two wires while he quickly turns the motor shaft, you’re going to have a bad time.

As for blowing things up, I’ve been fairly careful ever since I set part of the aforementioned 200-in-One kit up in smoke as a kid after making a relay oscillator with no flyback diode.

What are you currently working on?

Learning Python. I’ve come to realize that if it doesn’t need to be fast, it does need to be done in Python. The readability and ease of development is worth it. I’ve also got to track down a USB analyzer and figure out why my experimental XMEGA architecture port of my LUFA USB stack project fails on some hosts.

What has been your favorite project?

In terms of shaping who I am; the answer has to be ButtLoad (I have a thing for great/awful project names) (http://fourwalledcubicle.com/blog/2007/07/is-this-thing-on/). It’s my old project that made a self-contained Atmel AVR programmer out of their old AVR Butterfly kit, which taught me C and got me noticed more on AVRFreaks.net where I’ve hung out for nearly the last decade. In terms of my personal favourite, it’s hands-down LUFA (http://www.lufa-lib.org) which really got my name out there and eventually landed me my current job.

Is there anything you’d like to say to young people to encourage them to pursue electronics?

Start a website right now. Document everything and get your name out there. Don’t be afraid to get involved, ask questions, experiment. The Arduino platform is a great start into the world of embedded systems; it gives you known working hardware and a simple environment. However, remember to gradually tear it down and replace bits and pieces with the less “kid glove” versions so you learn how it all works.

And always remember that even if you spent six months developing a Bluetooth stack from scratch, layer it on top of your USB stack, layer that in a severely resource constrained environment and then get it all working, your parents will still just see a simple LED that you can flash on and off with your phone (sigh). Sometimes it’s about the personal victory and journey.

Previous Spotlights

Like free stuff? Enter Here!
EEWeb Weekly Giveaway Sponsored by Mouser This Week: STMicroelectronics SPC564A-DISP Discovery+
Enter Here
Login and enter if you're already a member.
Click Here