Introduction: How to Make Your Own Arduino Board

Picture of How to Make Your Own Arduino Board

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:, 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:

 otherwise here is the parts list:
-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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!


samehb4 (author)2017-10-01

can't we add a port for programming like in the arduino?

bryll.novelero (author)2015-04-02

Hi can i use this to install bootloader into my atmega 328? it is

SaeedA4 (author)bryll.novelero2017-05-01

yes you can connect

tx and rx and gnd in usb to serial to pins 2-3-8 to atmega 328

A simple USB-to-Serial is not usually good enough. You'll need a programmer like USBtiny to do it.

franzlp1992 (author)2017-03-29

Would it be ok to use the USB supply and the power jack supply simultaneously? Or would it damage anything?

MintuV (author)2017-03-26

Sir I'm not getting hiw to connect female headers can you please tell me what do you mean by " connect respective pin on the according to the pin diagram. Sir please reply asap.

Agastya_Sharma (author)2017-03-15

Sir you said "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."

i have to go for a miniproject where we have to develope our own arduino board

but with this serial communication problem!!!!

Is there any way to interface the board we developed with computer

Engineerical (author)2015-02-12

Hey what can you use as a substitute for the two 10 uf tantalum capacitors? I have all the materials except for that.

starcodekei (author)Engineerical2017-01-22

You could try using electrolytic caps instead of tantalum if you wish.

I've been able to obtain all the needed parts from Mouser and/or Adafruit.

kiong (author)2015-09-01

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.

What is you mean pin 7 ,20 and 21 to five volt?bcs i look from the picture look like you connect to pin 7 to pin 21

starcodekei (author)kiong2017-01-22

I built mine with a solderable breadboard. Simply connect pins 7, 20, and 21 to the +5V bus. Then, pins 8 and 22 should be connected to the ground/0V bus.

GrantC4 (author)2015-09-07


question about the power supply you used:

what voltage and mah did you use?

(I assume a 5V, but I don't know what mah)


starcodekei (author)GrantC42017-01-22

The "real" arduino devices recommend a 9V power supply. The 7805 regulator will lower the voltage to 5 for you, and it provides sufficient current for the rest of the chip to work.

Hk556 (author)2016-06-12

how to do pragramming ..?

starcodekei (author)Hk5562017-01-22

Either swap the chip into a real Arduino and use the USB programming, or utilize a programming device (such as USBtiny, AVRISP, etc) and attach it to the ICSP breakout, which is part of the last step shown above.

NahidRM (author)2016-05-22


Can I use a ceramic capacitor instead of the tantalum one? and is there a replacement to the 150 ohm resistor? That's a bit hard to find

starcodekei (author)NahidRM2017-01-22

You could probably use another low-value resistor such as 200 or 220 for the LEDs. Don't go much higher than that, it's not necessary and will just consume a bit more power, which could be an issue if you're using batteries instead of a wall adapter.

LarryF24 (author)2016-07-30

Just a question here , can you just stack the blank chip on to the inserted programmed chip and then load a sketch? Would it harm the original one ,just wondering if it could be done that way.

starcodekei (author)LarryF242017-01-22

Definitely not. You need to remove the chip from the socket, stacking them is not possible or safe for the chips.

Marethno made it! (author)2016-01-05

thanks for this instructable. i failed with my First one, but the second one is useable. i Made the whole digital row of Pins Marked yellow. analog Green. vcc Red. i soldered a 10 Pin ISP. tested and Run with an USB asp.

Asad RazaA (author)Marethno2016-12-22

sir pleeeeezzzzzz send diagram

Asad RazaA (author)2016-12-22

sir how to apply b-type usb socket on this circuit

ppppppppppppppllllllllllllllllllllllllllllllleeeeeeeeeeeeeeeeeeezzzzzzzzzzzzz sir!

NehaS51 (author)2016-07-13

Do we have to do something to make the pin no 28(A5) analog if working with only IC atmega 328?

or is it already analog? as it is showing constantly 5v in my IC.

please help.

kira_bang (author)2016-07-10

will this home made Arduino board work with any thing. For example I wish to build MIDI controller

fugatecody made it! (author)2016-04-16

Great instructions. Completed on my first go no issues. ( i have a few hundred extra bits of each part though now lol) thanks a bunch!

WhittlinThom (author)2016-01-07

I don't understand what is the difference in the ATmega 328 and the 168. In the list of materials you call for an ATmega 328, then later you talk about connecting the female headers to the ATmega 168. I'm really confused! Can you please explain it to me? Thank you, Thom Mulford

Marethno (author)WhittlinThom2016-01-08

the atmega 168 ist the oder atmega Chip. IT begann with the atmega 8 weich Haß 8 Kb ran. second Version just gut Bigger Flash RAM i think. and the Took the 8 of the Name, Double IT and the flashand stand it aß atmega 168 and atmega 328 is just the 32 Kb Version of an atmega 8.

pdiddydirty (author)2016-01-02

How do you connect the 3.3v to the power supply? Does it just go to a female header?

Marethno (author)pdiddydirty2016-01-05

yeah. i Would Do IT like you said . just connect IT to a female Header

Ilove3d1 (author)2015-10-27

An awesome tutorial, and if not for Halo 5 coming out today, I'd jump right on it because I'm sure all I need is the Atmega haha. I have a question though, do you know what specifically allows a Digital Pin to be capable of Pulse Width Modulation?

Shubhamt948 (author)2015-09-08

where we programm in this hand made aurdino and Is every aurdino is resettable and Is a single aurdino can perform all the task of many aurdno

mayurnath5r (author)2015-08-28

I'm a kid of 12 years old can i make it.

Miggas09 (author)mayurnath5r2015-08-28

Yes you can. As long you know what you're doing, because one wire soldered in the wrong place can fry the chip, but if you take your time and check all connections after turning it on nothing bad will happen.

Ninikoveliashvili (author)2015-07-28

Thanks for sharing such a good job!
Is these 6 male headers for SPI connection?? I wanna use CAN-BUS Shield with this homemade Arduino. Is it possible?

建賴 made it! (author)2015-05-31

Pal, I made better one!

I also attached the instructions for what I did.

dhruvgarg001 (author)2015-04-07

Where is output pin of 3.3 v is placed and how to identify the polarity of 10 uf tantalum

stefan.popescu.370 (author)2014-11-12

hi. do i need atmega328 p-pu with optiboot for aduino ( or it s ok atmega328 p-pu without optiboot ( and what is the difference. Thank you!

bootloader allows you to re-program your arduino using uart bus, instead of spi. you can get plain atmega328 and burn the bootloader using spi, just for the first time. btw i havn't done this before, but i just can predict it. so anyone else sees i'm wrong in something, just let me know

tanvirfakir (author)2015-01-05

can i use 8051controller in aurdino

im not understood what exactly aurdino board it is like a starter kit of 8051?

arduino = atmel microcontroller + bootloader + improved IDE , i don't think arduino has released kit supporting 8051

shreyask1 (author)2014-12-24

can someone say me the schematic to build an arduino using max232 and type-b usb socket


pkgdelion (author)2014-11-18

Help! help!! help!!!

Hello Guys, I am trying to manage the
movement of four(4) bit binary code over an Optical Link using Arduino
Board but am stucked, I don't know how to start.

Please I need Help

pkgdelion (author)2014-11-17

Help! help!! help!!!

Hello Guys, I am trying to manage the
movement of four(4) bit binary code over an Optical Link using Arduino
Board but am stucked, I don't know how to start.

Please I need Hel

Xuân HợpT (author)2014-11-14

thank you

robobot3112 (author)2014-07-14

could i mix a deumilanove's chip in that way with the uno's. i mean like chip exchange.

Higgs Boson (author)robobot31122014-07-24

I don't see why not.

robobot3112 (author)Higgs Boson2014-07-25

it would not get damaged would it?

Higgs Boson (author)robobot31122014-11-04

At worst you might get a programming error, but the duemilanove uses the atmega168 I believe, which is identical to the 328 except it has 16k of program flash instead of 32k. But yeah, they have the same pinout and operating voltage so it should be fine.

robobot3112 (author)Higgs Boson2014-11-05


Cubytus made it! (author)2014-09-16

I actually made two of them. The first one was the square one. It is rather ugly and messy. No polarity protection, dissimilar regulators, mostly salvaged parts. The programming LED is the big yellow one, and I used a resistor too small (150 ohms), meaning using pin 13 would be problematic because of the high current draw. I made errors installing the headers, so there are extra, unconnected pins on both sides. Both units sought to fit the most complete Arduino clone compatible with FTDI interface. Unlike the one presented here, I chose to add the 1Kohm resistors on the FTDI interface. Obvious defect: the headers are the small machined round type, which can't fit square male pins. Both use free wires to feed them, a rather personal choice as I have an old stabilized power supply fitted with screw connectors. Think about replacing that if you intend to use it with a wall wart. Both feature the standard 10-pin AVR programming interface present on the USBASP, as I didn't want to make an adapter.

The second one took it further, on a 15x25 perfboard, and designed to use in projects where space may not be large. As you can see, I had to fit some bulky components under the Atmega socket, itself made from female headers to allow for more space, and still doesn't use first-choice components but what I could find locally. It has dual regulators, polarity protection diode (1N4004, an OK replacement for the MBR0520 - telling from memory - in this application), and the 3.3V is a SMD unit that happened to be large enough for regular pitch, fed from the 5V from the 78L05 to save on space. I know it only gives 100mA, and if you attempt to make your own, try using the 78M05, which gives 500mA in the same footprint. I just have a lot of 78L05 in the parts bin. To keep a low profile, I used small LEDs: green for power (connected to the 3.3V regulator), white for pin 13. Unlike other common colors, it still gives a very powerful light with a 1Kohm resistor yet calculated current is only 3 or so mA.

Headers are unlabeled but thanks to the paler material this should be easier, and they do respect proper separation between them. The solder side is filled to the brims, and I don't think you could go any smaller using single-side board and through-hole components. With Atmega inserted, notch to the right, pinout is identical to original Arduino. I discovered a bit later that the design I used, as well as the one presented here, is closer to the 2009 version of Arduino.

Approximate cost for one unit: $7.50 You can make them even cheaper buying from Chinese or Thai vendors. They typically sell 100-packs of 2% precision resistors for $1 or $2. Salvaging used electronic boards from TVs or stereos usually is usually messy, but can yield appreciable amounts of small, through-hole resistors, capacitors, etc. Just don't forget to check them against their specs. I trashed carbon-based resistors as well as capacitors because they were out of their 10 or 5% tolerances.

proto board: 25¢
Atmega 328 (no P, had to modify Arduino's IDE config file): ~2$
Headers: 15¢ for 40, probably 60¢ worth of them here.
LEDs: 30¢ each.
crystal: 50¢
capacitors: 15¢ each, so 1.35$ (not cheap!)
resistors: same, so 90¢
Regulators: 80¢ each.
Thin wire: I used phone wires, but wire-wrap style should be better. Cost unknown.

Cheap doesn't mean quick. Assembling a board from scratch and planning the routing in your head is a tedious process taking many hours, especially if, like me, you regularly unplug the soldering iron to relieve the tip.

About This Instructable




Bio: Science is my passion. I find myself constantly working on countless experiments, from low energy particle accelerators to good old simple electronics. I also like ... More »
More by Higgs Boson:350kv Van de Graaff GeneratorHow to see alpha particlesSimple Jacob's Ladder
Add instructable to: