Learning Hardware as a Software Geek?
digitalvengeance asks: "I'm a long-time software geek with very little experience on the hardware side. I've configured servers and built various desktops for friends and family, but I'd like to move to the next level. I assume I need to purchase a breadboard to begin tinkering, but is there a particular kit I will find more useful than others? What books, sites, or other resources can the hardware geeks recommend for a software geek wanting to learn the basics of electronics and hardware?"
If you're going to do anything outside of just digital electronics, then I thoroughly recommend "The Art of Electronics" by Paul Horowitz and Winfield Hill, Second Edition. Cambridge University Press, ISBN 0-521-37095-7.
It starts off with the real basics, and has a very readable style and lots of practical advice.
It's pretty expensive (about $50) but well worth it. If I'd had this at University, I would have done a whole lot better in my practical electronics courses.
Sean Ellis
Follow OfQuack's antics on Twitter.
Here is a great online book that starts with basic electrical principles and works up to semiconductor and digital circuit stuff. It is wonderful.
For one, you should know about passive analog electronics. Build an AM radio or something.
Next step, is to go digital. Buy a couple of PIC or AVR microcontrollers and build some simple stuff. You'll get to write assembly code (or even in C) and upload the code to the chip and run it there. The pic can be interfaced with ethernet, audio chips, flash chips, LCD, camera CCD etc. Think of the possibilities.
If the PIC is tough, just use the simplest PIC16F54A initially, or even just use a BASIC stamp. Make a set of blinking lights to begin with, and download the test code first before writing code.
After the 8-bit level, you can buy the powerpc or ARM kits from olimex.com or ebay, and with enough flash, sram and boot code, try to boot netbsd, linux or something similar.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky