Ever since ECE4670 (actually since the summer before I took the course), I’ve always wanted to pursue these sorts of electronic DIY projects as an intelligent hobby. In fact, after completing my final project for the class and completing my sole final exam, I hooked up an old school imitation SNES controller to an arduino emulating the controller protocol (it’s not very difficult) and was able to detect which buttons were being pushed (the goal of this step, which was never realized, was to be able to play SNES games on the computer using Zsnes). And then I went ahead and ordered another arduino board that was compatible with various shields (so now I have the nano and a duemilanove), some pin headers and jumper cables, and a wiznet ethernet module compatible with the arduino ethernet shield in anticipation of all the cool projects I’d be doing after starting work. And what do I have to show for it all? Sadly, zilch.
I’ve sorta tried within the first few weeks of moving out to California, but I gave up pretty quickly. I wanted to set up an infrared LED emitter/detector pair and just be able to detect objects, but when I set up the circuit and dumped readings onto the serial port, it wasn’t working. And since I had no debugging tools, I decided it would be a waste of time to try to fix it. I bet the circuit is just wrong since I suck at that, but I can’t definitely check anything without a multimeter. After wasting a few hours of unaided “educated” poking around, I decided the hobby required too high of a set up cost (namely getting all the necessary components that I took for granted in the school lab, actually having a semi-suitable “workbench”, and then spending the time making things work). I packed all my electronic tinkering parts into some boxes and left them in my closet. They’ve been there for the last 5-6 months.
Since then, as is apparent from previous blog posts, I’ve been dabbling in purely web programming. And although it’s been fun and engaging and enriching (while hating on overly complex java web development at work, I’ve picked up django and yii at home), it doesn’t have as much of a “cool” factor as something that is really tangible. Or maybe I’m just looking for variety – people need change and variation to be interested right?
Truth is, the more I think about the high setup cost of microcontroller projects, the more I realized how that it wasn’t as high as I thought. I kept saying, “Oh man I need all these tools and they’re not cheap!” But at a bare minimum, I really only need a multimeter (continuity buzzer a must), soldering iron+solder+stand, wire cutter, wire probes/clips, and that’s basically it – I already have breadboards and components leftover from my sister’s EE projects and from my own projects. Some other things would be nice to have – power supply board, an accessory box so I can finally organize resistors, etc. An oscilloscope would be nice and critical, depending on the project, but definitely not a bare necessity for someone like me. I guess it’s still somewhat of a nontrivial list of supplies, but considering how much money I burned on a DSLR, a cello, and a longboard, the cost of getting what I need isn’t really too high at all. Even if I bought a bench-top oscilloscope, I could find one that comes out to less than half the price of my DSLR.
Then there’s still the issue of time. Getting electronics to work is time consuming. But now that I think about how much time I put into picking up web development, I realized how time consuming that is too (although, there’s much lower of a hurdle to get into web development – $0 monetary cost being a biggie).
So a few days ago, I dusted off my arduino. I downloaded the IDE (along with the Processing environment, which by the way, is a great way to get your feet wet in programming). I loaded a few basic examples and made minor modifications just to familiarize myself again with what it’s like to program for a microcontroller. I rediscovered that the longer terminal on an LED is the negative end. I quickly wrote a sketch enabling me to send serial commands to the arduino. It was all simple and basic stuff, but being able to turn on an LED just by typing “on” or “off” on my keyboard felt good (albeit, in a lame sort of way, but still overall positive).
This is the part where I list out what things I plan on buying in attempt to get back into this sort of thing. I’m trying to be budget conscious so if you know of something that you’ve used for cheaper, please let me know.
- Multimeter: Debating between (cheaper) ones from futurlec (starting at $4.90) and the $15 one from sparkfun. The cheap one on futurlec looks a lot like ones I’ve seen used in lab, but I’m not sure. The one from sparkfun I know is probably reliable since they only sell things they endorse after using them.
- Soldering supplies: sparkfun. Soldering iron, soldering stand, solder, and solder wick. Total cost around $25.
- RS-232 board from futurlec: This is just for convenience when interfacing with serial devices. I suck at circuitry so I’d much rather work with modules for an extra cost than spend hours making an inferior and temporary one.
- 5V power supply board from futurlec: Also for convenience, in case of projects where I don’t want the microcontroller to be tethered to my computer, or need to supply more power for other components.
Hopefully it won’t all be a waste, and that I’ll not be lazy and have some geeky fun. However, one thing I’m really not looking forward to is picking out the right resistors by trying to read the stupid color bands. Suggestions for a suitable and convenient storage solution would be greatly appreciated.