People who are not from electronics background generally find it hard sometimes to get started with hardware programming, since it requires some basic understanding of electronic concepts. A basic understanding of different electronic components like resistors, capacitors, batteries etc., together with some fundamental concepts like voltage, current, Ohm’s law etc., will drastically help you to reduce the learning curve that is needed for programming in hardware.
The following are some of the tutorials/sites from which I learned the basics of hardware. I am sharing it here, so that it is useful for anyone who wants to get their hands dirty with hardware programming.
Basic Electronic concepts
The first concept to learn in electronics is Ohm’s Law. Wikipedia’s entry about Ohm’s law is pretty good to understand the basics.
All about circuits
Once you have read the basics of Ohm’s law, head over to this excellent site called All About Circuits. This site has an online book which covers all basic concepts behind electronics. You can skip some sections on AC (since most of the micro controllers deal with DC), but can read it if you have time to get the full picture.
Sparkfun “Beginning Embedded Electronics” tutorials
Another excellent resource is the set of “Beginning Embedded Electronics” by SparkFun. They cover lot of practical details about Power supply, Voltage regulation, discussion about different micro controllers etc.
Different pin states
One other excellent source that helped me is this small writeup by Dangerous Prototypes, which explains the difference between the different states of a micro controller pin.
Hope these resources help you get more familiar with hardware programming. Also if you know of a good tutorial or site that has helped you a lot, then do leave a comment below and I will add them to the list.
Over the next few weeks, I will be writing up getting started guides for specific areas like AVR and Arduino. Stay tuned 🙂 Update: The getting started guide for Arduino and AVR is up.
Happy hacking 😉