I enjoy my day job as a software engineer, because I get a chance to build programs from the ground up, as well as to take apart existing software and see "what's under the hood." Unfortunately, the gaping hole in my knowledge is what's actually going on at the hardware level. This keeps me from being able to do a lot of DIY projects that I'd like to do, because while I can handle the software end of things, when it comes to building or hacking hardware, my knowledge is nonexistent.

Now, I know this isn't the type of thing one learns overnight, but I'm wondering where the various smart folks here who do their own electronics projects have managed to amass their knowledge. Do most of you have an undergraduate degree in electrical engineering? Did you just pick up a book? Take a few classes? Just start taking things apart? I think I would learn best with the hands-on learning format, but I'd probably also need to review some of the foundation stuff (basic freshman physics class stuff that I've forgotten by now) just to make sure I can comprehend the higher-level stuff.

So, can anyone recommend some good books to start with, some online resources, or just share your experience and how you climbed the learning curve?
_________________________
- Tony C
my empeg stuff