There are a lot of pages on making arduino on a breadboard , so i am going to link the most reliable ones and describe here my journey into making one , the problems encountered etc.
The first thing you need to understand is the different flavors in which the ATmega chips come. After a visit to ATMEL’s website you will come across ATmega328 – PU , ATmega328 – AU , ATmega328 – MU, ATmega328P – AU, ATmega328P – PU and many more. Well, do not panic !!. The letters after the hyphen just describe the package information. So if you want a PDIP package you go for “PU”, if you want Quad flat package you go for “TQFP” and so on. The real difference comes in the nomenclature before the hyphen , which is of only 2 types namely ATmega328 and ATmega328P. The “P” here stands for “Picopower”. So the P version uses much less power than the traditional ones. Apart from that everything else like pin diagram , datasheet , programming is exactly the same. There is one major difference however which is very important to know. The device signatures of ATmega328 and Atmega328P are DIFFERENT.
ATmega328 -> 0x1E 0x95 0x14
ATmega328P -> 0x1E 0x95 0x0F
I had a pair of ATmega328 -PU without the bootloader hence i decided to work on them instead of getting ATmega328P – PU.
The links that will get you started are here –
NOTE : You do not need everything that they specify here. Just get the items that you cannot do without.
From the official website http://arduino.cc/en/main/standalone
NOTE: ATmega328 and ATmega168 both have exactly the same pinmapping.
The final board looks like this –
Here are the pictures of the steps –
Important design aspects –
I realized that the design could have been much better after actually taking the wrong steps. So i will share some of them with you –
- The wires running on top of the uC is a big mistake because if by chance you make some wrong connections later on and damage your uC then it will take a lot of hassle to remove the chip from the IC holder.
- I personally think that the header pins must be coming out from each and every pin of the uC.
What i realized much later….
There is NO dedicated pin that outputs 3.3V on the uC. You will have to use a 3.3V regulator IC. So the various options are –
- LD33V(what i am using right now) , LM117V33 , LM3940 are specifically 3.3V regulators.
- LM2937 is capable of other regulating other voltages too. Better check their datasheets for more info.
In the next post i will tell you about the problems faced while programming the “handmade” arduino !!.