Arduino Workshop - The good, the bad and the cosmetically challenged

Post date: 26-Nov-2009 15:01:12

This week I was lucky enough to participate in Mediamatic Bank's Arduino Workshop - the second held recently, after the first was booked solid just a few hours after being announced - and I thought I'd jot down a few notes for anyone curious about the hardware or the event.

Arduino

As a strictly software geek, hardware hacking has always held a weird fascination for me. Looking at projects like André LaMothe's XGameStation (kit-build your own game console and write games for it) I was simultaneously thrilled and intimidated by the prospect of digging into the real nitty-gritty of digital electronics.

Enter Arduino. What Ruby on Rails has done for web programming, this hacking-friendly platform has done for hardware hobbyists. Step-by-step tutorials, thorough documentation, a smart and approachable community - it's all there. Starting at the main Arduino site you can quickly find hardware suppliers, reference info, a handy-dandy cross-platform IDE (stocked with integrated examples) and some great ideas for projects. All this adds up to a smooth and virtually painless learning curve taking you as far into digital electronics as you care to go.

The Course

So with resources like this a one day introductory workshop practically runs itself, right? Not exactly, and the Rails comparison above might point to the source of some of our problems.

Ruby on Rails makes web development look easy - like anyone could do it. But no matter how much the framework does for you, web development (and similarly Arduino development) still requires decent programming chops. Our group had a very diverse mix of programming knowledge - from zero to 'lots' - so while the inexperienced third of the group drowned in the code side of things, the experienced third got bored and restless. Personally I spent most of the coding part of the course either trying to help others, or installing and experimenting with the excellent Python module, pySerial.

After lunch we pulled out our bread boards and got more seriously into the hardware side of things, but the group continued to have problems. The presenter made a few elementary mistakes - taking down slides while people were still trying to work from them, being impatient with students struggling to keep up, pounding through some very complex ideas with very brief explanations - and several people actually gave up trying to follow the action. As someone who has made all of these mistakes myself while running training events, I quickly picked them up and was able to work around them - but the less confident among us got very frustrated, very quickly.

Don't get me wrong, I learned a heap. PWM, voltage dividers, pulldown/pullup resisters - we plowed through a ton of useful stuff and I managed to get every bit of it working on my own board on the day. And I love my new hardware - it's sitting on my desk as I type, blinking invitingly. I've got a shopping list of projects I can't wait to jump into, and I finally have the confidence to get my hands dirty (or possibly burned with a soldering iron). But the most timely lesson for me (before I run a workshop of my own in a week or so) was how not to train people.