Introduction: How to Make Your Own Arduino Board

About: I'm Ben. I'm currently weaseling my way through undergrad at MIT where I'm majoring in physics and nuclear science and engineering. I made this account back in middle school (hence the cheesy name), and I real…

If your are like me which I am guessing you are, then ever since you got into doing stuff with arduino you have wanted to make your own arduino board. You may be surprised to find out that making the prototyping board is actually very easy, and can have several advantages over using the commercially sold board. For one thing, All the components together cost a little over 15 US dollars as opposed to the $30 that the Uno board sells for. second, you may not actually want a board, but may simply want the atmega chip as the heart of the project, like if you are making a synthesizer or even a robot. In that case, you can just attach the  hardware necessary to use the chip, and solder to the pins you need to use without needing the board. Another advantage is making shields. You have probably noticed that digital pins 7 and 8 are not the standard distance apart, which makes it difficult to make your own custom shields without paying the $15 dollars for a protoshield every time you make one. But if you make your own board on perfboard, the headers will be the standard distance apart and you can make your own shields with ease. Also, you may need to permanently add the board to your project, and for that you may not want to use the more expensive arduino boards. This board however is half the price, and easy to add to custom projects.

The only down side is that some parts of the arduino are kind of hard to build on perfboard. Most notably the Serial to usb adapter chip, which allows the microcontroller to interface with the computer through usb. You could use a good old RS232 jack, but they are not on a lot of newer computers. So to program your homemade board you will either need a break out board which does have the chip (get one here: http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2117341_-1), or an arduino Uno or clone board to program the chip ( I used the former.)

Either way it is a fun and informative project.

Step 1: Materials

All of these materials can be purchased as a bundle here (except for the power jack and female headers: http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_2151259_-1

 otherwise here is the parts list:
-perfboard
-two 10 uf electrolytic capacitors
-two 10 uf tantalum capacitors
-7805 voltage regulator (5v)
-LM1117T-3.3 voltage regulator(3.3v)
-green LED
-red LED
-two 150 ohm resistors
-10k resistor
-one 0.1 uf capacitor (ceramic disk)
-two 22 pf capacitors (ceramic disk)
-16 MHz crystal oscillator
-momentary push button switch
-jumper wires
-female headers (I used three rows of eight)
-row of 6 male headers
-female wall wart power jack
-ATmega328 with bootloader
-28 pin DIP IC socket

Step 2: Install the Socket

The first step is after finding a good sized perfboard is to find a good place for the chip, and place the IC socket where you want it paying attention to the notch witch will be matched with the notch on the chip. also find where you want your power jack. You should place it on the edge of the board probably in the corner. I widened the holes on the board with a 1/16 inch drill bit, but still had to fold the leads on the jack using needle nosed pliers to get it to fit through. On the jack, the pin on the back connecting to the post on the inside is positive, and the one on the bottom connected to the metal on the inside is ground (the pin on the side is not needed. You could solder it for extra support, but I just broke it off). Remember this when connecting the regulators.

Step 3: Adding the 5v Regulator

Now it is time to add the five volt regulator. This is technically the only regulator you need to power the chip, but if you want a 3.3v pin (some breakout boards or sensors require 3.3v so the pin is nice to have), you will need to add the 3.3v regulator. These regulators require two decoupling capacitors each. Holding the 7805 printed side facing you, and the pins pointing down, the one furthest left is the input, the center is ground and the furthest right is the output. connect one 10 uf electrolytic capacitor to between the output and ground and the input and ground, being sure to connect the smaller leg to ground. connect the positive from the power jack to the furthest input pin, and ground from the power jack to the center pin.

Step 4: Adding the 3.3v Regulator

It is very important to remember that 3.3v regulator does not have the same pinout as the 7805. With the printed side towards you and the pins down the one furthest to the left is ground, the center is the output, and the furthest right is the input. Again you will need two decoupling capacitors. connect one of the 10 uf tantalum caps between output and ground and the other between input and ground paying attention to polarity. the positive lead should be labeled on the front of the cap, the other is negative, and be sure negative leads on these caps get connected to the furthest left pin on the regulator.

Step 5: Indicator LED

Next you are going to connect the green LED to the output of the 7805 regulator to indicate when power is connected to the board. Connect the anode of the LED (longer leg) to the 150 ohm resistor, and then connect the resistor to the output pin of the 7805. connect the cathode (shorter leg, also indicated by being next to the flat side of the LED) to the center pin of the 7805. Once you do this it would be a good idea to plug it in to make sure you made all of the right connections. Once you are sure everything is right, you can move on.

Step 6: Connecting Power and Ground Pins

Now, you will begin making connections on the chip. connect pins 7, 20 and 21 to five volts and pins 8 and 22 to ground.

Step 7: Reset Button

On pin 1 (reset pin) connect the 10k resistor from the pin to 5v. Then connect one contact on the momentary push button switch to pin 1, and the other contact to ground.

Step 8: Adding the Crystal Oscillator

solder the 16 MHz crystal oscillator to pins 9 and 10 on the chip. Then connect 1 leg of a 22pf cap to pin 9, and the other to ground. do the same with the other 22pf cap and pin 10.

Step 9: LED on Pin 13

Connect the red LED's anode to pin 19 on the chip (pin 19 is digital pin13 on the arduino, refer to pin diagram on next step) and the cathode to ground through a 150 ohm resistor 

Step 10: Connecting the Female Headers

For starters you should probably label each pin on your female headers to avoid confusion later. then solder the headers to the board and connect them to the respective pin on the chip, according to the pin diagram above.

This process is very tedious, so just have some patience and you should be fine. Also planning out how you are going to connect everything before hand will go a long way. You will probably have a lot of wires intersecting. after a while I was forced to start connecting pins on the bottom of the board to prevent this.

Step 11: ICSP Headers

On the opposite end of the board from the power jack, solder the row of 6 male headers. connect the first pin on these to pin one on the chip through a 0.1 uf capacitor, the second to pin 3, the third to pin 2, the fourth to five volts, the fifth does not get connected, and connect the sixth to ground. 

You can use these pins to program the chip using the breakout board mentioned earlier.

Step 12: Programming With the Arduino Uno

To program the chip with the uno board, I simply pried the chip on the arduino board off, and replaced it with the new chip. I then uploaded whatever sketch I wanted to use the same way you would any other. Once program I pried it out again and placed it in the new arduino board. 

Anything you can do with the arduino (except serial read, and other things that require constant interface with the computer) can be done on the Homemade arduino in this way.

Step 13: Finished

Now you are finished, and can use your new homemade arduino prototyping board for any project you want. As always if you have any questions comments, of problems leave a comment and I will do my best to help you. Also please rate this instructable.

Have fun!