Learning the Hardware / Microprocessor theory

Hi, I have searched many sources but as yet have not found a course / tutorial / training material which will give me a solid understanding of the Arduino or indeed microprocessors in general.

I have found masses of material to help with actually using / coding for the Arduino but I am one of those unfortunates who need to know more of what is actually happening in the hardware !

I would very much appreciate any pointers to any form of material which will give me a solid understanding of the hardware. I am U.K. based and would consider distance learning if a suitable course exists.

With thanks in anticipation.


Hi Charles, I'm Charles.

I would like to point out that the "brain" of the Arduino is actually a Microcontroller, not a microprocessor. They're related, but not the same. I'd suggest looking in to that, first.

Start with the Uno, it's based on the ATMega328p Microcontroller (datasheet here.)

You can dig through the datasheet to understand what the libraries are doing, but if you really want to go for it, I strongly recommend the Make: AVR Programming text (available here.) This is the book that I used to teach people the foundations of AVR and working with registers when I was a research assistant at a local post secondary. Combine that with the datasheet (Atmel's sheets are really quite thorough) and you'll get a strong foundation in what's going on.