Friday, June 20, 2008

Tinkering with Electronics

When I was in high school, I starting tinkering with digital logic, I got a proto-board and pulled 7400 devices off of some scrap boards I got from surplus. You could put something together with LEDs and relays, and spin little motors or whatever.

When I got out of university, I worked mostly doing digital design (hardware and DSP code). I was with a small company that did custom design for all kinds of things (If you play pinball at all, you've probably heard one of our audio designs). The things we did became more difficult as surface-mount technology arrived, since it's so much harder to build a board in prototype quantities with SMT devices. Still, we built a lot of boards by hand, but that was before BGA's hit the scene. Eventually, the hardware design side of the company dwindled to to the point where I decided to move on.

Another thing that was going on around then was that PC's were switching over from XT/AT bus to PCI, and from 'DOS' based Windows to Win NT or 95. Those were both tremendous steps forward for the PC itself, but for those of us interested in tinkering with circuitry, it meant that it was no longer feasible to build some little circuit, plug it in a computer, and talk to it with a bit of software.

My career has taken me into digital radio (broadcast equipment) and eventually into ASIC development for video processing -- so now I don't do any board level work, and I sort of miss tinkering with things.

It is, therefore, a good time to go back to doing that as hobby. And, I've recently noticed, the technical barriers described above are being removed - it's now possible to get little boards which contain microcontrollers at fairly low cost - the microcontrollers themselves are all SMT of course, but in some cases the entire board is shaped so that you can plug it into a protoboard, or solder it to vectorboard, which is what I used to do with individual DIP devices. So, these modules are the new chips, as far as tinkering is concerned.

Better yet, some of them have things like USB connectors so that you can connect them to your PC and (regardless of what OS you are running) you can load code into them, or communicate via the USB. So, USB has finally replaced the serial link for hobbyists too.

The part about 'regardless of OS' is quite significant - I can remember when so many devices you could connect to your PC would only have Windows drivers - there was just no issue of the manufacturer taking the extra effort to create drivers for other OSs that were less commonly used (and if there was a market worth selling to, it would be because they were prepared to pay a premium). Now that hardware is far more standardized across platforms -- in particular, USB and PCI (on Macs and PC's, wow... - sorry, some of us remember a time way before), and that both of those standards include better specs for device behaviour, so that more generic devices can be made with more generic drivers. Plus the tremendous good work which has been done in the Linux community of late to broaden hardware support and improve the desktop. More on that later.

So, anyway, it seems a great time to start tinkering again. It's been basically impossible, for a long while, given the time pressures from work, kids, house; but now the kids are old enough to get involved so it could count as play for them too. If you're reading this and thinking "twit, this stuff has been around for years" -- it's because I just started looking.

I was inspired by the internet video with the Christmas decorations animated to 'Wizards in Winter' , and I'm thinking I can do something like that (on a smaller scale) with Halloween decorations next year (or the year after -- can't underestimate how long these things take...). Hopefully I'll blog about it.

No comments: