Recently I've started playing a lot with 3D printers, Adrunio, Pandaboards and Kinect's SDK. I'm starting to have more and more passion for this sort of devices and I think it's about to turn into a pretty absorbing hobby.
Now - I'm a software engineer (mostly C/C++ and low-level background) with a couple years of experience. I know a thing or two about how computer hardware work, but the last time I was exposed to lower-lever / more primitive electronic components was in college in my Circuits classes.
I know how important it is in programming/mathematics to be aware of a couple of important concepts that are not very obvious for newcomers and without a good guide (Mentor, book, etc.) its fairly difficult to even come across them (for example concepts introduced by Alexander Stepanov's - Elements of Programming) but also I do not want to go too much into details; I already have a profession that I enjoy a lot.
So here is my question: Could you please recommend a book or any online materials (tutorials, video, etc..) that would introduce me to surface-level understanding of electronics needed to build hobby projects that involve micro-controllers, possibly some sensors, some mechanic parts that I can try out different algorithms on?
Ideally I would like to get to the level of understanding where I will know where to look next if I want to build say a small device that automatically waters my front-yard basing on the weather conditions or turn the heat on.