Resources for the Beginner Hardware Hacker?
StandardDeviant asks:
"What would be good resources for a programmer looking to start a
hobby in hardware hacking? By that I mean circuits,
microcontrollers, computer controlled hacks, and such...sort of
like a hobby-level EE education. It's just this itch I've had
recently to dig down to the other extreme of the 'tower of abstraction'
they bleat about so much in CS, also I find it ironic that I know more
about the math (Maxwell's laws, and so on) behind electric widgets
than I do about using them to build things. I'd be interested in
pointers to good websites, books, magazines, parts sources, you name
it! As an example: I've been looking recently at the
microcontroller/circuit stuff from
Iguana Labs, and of course
browsing through Radio Shack. Thanks!"
Nuts and Volts Magazine is pretty good.
You'd be all set if you scored some back issues.
Real good stuff in those.
Ok, I admit that I'm not a hardware hacker, but during my fantasies of becoming one I've had several people recommend The Art of Electronics to me. I've even bought it (twice). Easy enough to understand.
Radioshack is a ok place to start. I don't mean asking the yahoo's who work there. I mean they used to carry this begginger series on electronics, explained basics of electricity (Ohm's law and such fun things), how to read circit diagrams, how to solder, and how to build basic circuts. There was also a series called like "Engineers Mini-Notebook" or something.
This is where I started when I was a lot younger. I also found that getting a small kit radio that required soldering (not those lame-o snap together ones, but a reall PCB and soldering iron type) helped me better understand what things where and how they went together.
Circuit Cellar was a fixture in the back of Byte magazine back when it was worth reading. Hosted by hardware guru Steve Ciarcia, it was the beginning of many a budding computer hacker's career. Fortunately, it got spun off into its own magazine. Back issues are available on CD-ROM - get them, they're worth it. You'll be an expert hardware hacker in no time by reading the CD-ROM back issues.
i dont know how much of a learning resource this is but once you have an idea this may help...
www.parallaxinc.com
these guys make the basic stamp...its a small microcontroller with memory that has an onboard basic interpreter...there are a bunch of different types and you can interface them with just about anything...really good stuff for hombrew projects!!!
dude.
you may wish to look into getting some sort of FPGA...
at the school i'm going to, we use boards from altera(.com), i believe they go for $150, and you can probably get an educational license to their software
you can design with a schematic tool and their software will compile it into something you can program the chip with....
this is a very nice thing for digital electronics, but i don't think it would work for analog circuits.
their software also supports VHDL which is nice for getting a chip to do stuff without having to know how it is done. (as a side effect of not knowing how its done, the compiler can optimize it so it may work better than something you layed out yourself, assuming you aren't a master at optimizing circuits)
Need a Catering Connection
I second the recommendation of Forrest Mims books. He was a true hardware hacker, built and tested all his own designs and meticulously wrote out all his books by hand on engineering paper.
And, no, it's not a handwritten font like you see 99% of the time these days.
The books are _very_ basic up to about, I dunno, intermediate level. There's not a whole lot of reading involved, mostly tons of examples of circuits with brief explanations of interesting aspects of them. Those books would also be great for science project ideas.
Furthermore, I _would_ talk to guys at Radio Shack, but you need to find the experienced ones. usually a manager or someone older who's worked in the store for a long time, and is really interested in electronics. These guys often who a lot more than you would guess. Of course, the majority of them, especially the younger ones wouldn't know which way to put the batteries in.
I would further recommend the plethora of Web sites, mailing lists and newsgroups. I won't even bother to list any because there are so many. Just his Yahoo! or Google.
Another fun thing to do is hit all the on-line electronics vendors and download their catalogs. Quite a number of them target hobbyists like:
www.mpja.com - Marlin P. Jones, which sells basic components and lots of assorted suprlus random stuff
www.bgmicro.com - BG Micro is even better, they have a downloadable PDF catalog of about 20 dense pages
www.elexp.com - Electronics Express also has a downloadable catalog
IIRC, I've ordered from all three of these, and a few other I don't recall at the moment. In each case, service was good and orders were delivered promptly.
You are in a maze of twisty little passages, all alike.
I wont paste a bunch of URLs, google can give you those.
But as an ex EE student (concentrating on digital electronics) i'd have to say that you will be best served if you understand the very basic fundamentals first.
It might sound boring, working out how/why a simple multivibrator (ooer!) cct works, or in just which direction current flow occurs when looking at the cct symbol for a diode. But you wont regret it, when you wonder whats up with your registered digital interface, or pondering what the deal is with open-collector outputs.
Besides, if youre really interested in electronics, this stuff IS interesting. Software writing starts to feel kinda like an arbitary exercise, after you have designed and built a few simple electronics circuits.
Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin.-John von Neumann
1. Suppliers
Digikey absolutely rules. Largest variety of everything electronic. Very easily-navigated site. No minimum order ($5 handling charge if your order is under $25).
Jameco is a good second choice. Especially good for lots of different cheap power supplies.
With Radio Shack, this should be all you need for now.
2. Learning Resources
Someone already pointed you to the various cookbooks. TTL cookbooks are especially good places to start at your level.
A great online resource used to be ePanorama.net, but they're 404ing at the moment, so maybe they're gone for good and they'll be back.
Circuits Archive has lots of simple circuits you can peruse to see how stuff gets done at the lowest level, just like the cookbooks.
3. Advice
Stay away from FPGAs initially. I think you'll find the architecture and associated design process too big a piece to bite off at this point, and not worth the effort.
Focus on TTL and learning what functions are available in various packages (track down an old "TTL Databook" from TI; they don't print them anymore but they're much handier for learning and browsing than online equivalents, which assume youknow what you're looking for). See this for high-level descriptions and this for pdfs of actual datasheets.
When you're ready (which might be immediately) choose a microcontroller family to bone up on and stick with it. It's a huge waste of effort relearning architectures, instruction sets, and development tools for different families. For your purposes, either the PIC (from Microchip), 8051 (Intel et al.), or AVR (Atmel) will do fine (and they're all available from Digikey). I chose the AVR for the following reasons:
a) Wide (enough) range of parts, from 8-pin to 64-pin, 1K ROM to 128K ROM, various arrangments of on-chip peripherals (including A/D).
b) Cheap, from under $2/chip (single-piece) to under $30 for their fanciest.
c) ALL members of the AVR family contain on-chip FLASH ROM for program storage and can be programmed in-system directly via your PC serial port. This makes a HUGE difference (compared to external ROMs or on-chip EPROM) during prototyping.
Some people will suggest the BASIC Stamp from Parallax, which is a fine product which I've played with. My beef with it is it's expensive ($30 or so, I think) and all you really get for the money is a Basic intepreter. I think you'll find assembler for these chips so simple you don't need Basic. You can also get separate free Basic compilers for all of them.
Good luck.