To quote the Arduino website:

"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."

I got one a while ago and life has never been the same. Here is the official website for Arduino:

There are a bunch of tutorials that show you how to build your own Arduino on a breadboard, called Hack-duinos or something similar. While these are handy, I prefer to use more solid electronic devices. So I build them with a home made PCB and solder all the components on there myself.

Some may say, "This task seems time consuming and a tad expensive... Why not just kerplunk the 30-some-odd bucks for an REAL Arduino?" Well, some of us enjoy the craziness of making something completely from scratch -- and in doing so, learning more about the device you are using.

This tutorial will take you through all the steps of making your own printed circuit board(PCB), building an Arduino or "DIY-Duino" and loading your own programs/sketches onto the board you have built.
Remove these adsRemove these ads by Signing Up

Step 1: Materials List -- For All Steps

Picture of Materials List -- For All Steps
You will find detail on these materials throughout the specific steps of this instructable.

// ------- PCB MATERIALS LIST ------- //
Copper Board: 12" x 12"
You can buy a smaller board, if you want.
I buy the 12x12 because I use it for a lot of projects. 

DIY-Duino Pattern sheet
Click here to download the Pattern file
You must use this file to ensure the proper resolution and size of the image.

Photo Paper
High-quality photo paper with a glossy finish is the best to use.

Laser Printer
Or copies from a place like Kinkos or Staples.

Fine grain sandpaper
To rough up the board and make it able to absorb the pattern better.

Common, houshold tape
For securing the pattern to the copper board

Piece of scrap cardboard
This will be your makeshift ironing board.

Paper towels
To put over your board before ironing.

Clothes Iron
Use one you don't mind being ruined.
Chances are, it will get funky.

Plastic container
To bathe your board in warm water after ironing.

Not necessary, but can be helpfull for peeling off transfer remnants.

//------- ETCHING MATERIALS LIST -------//
Jug of Muriatic Acid
You can get this at the hardware store.

Container of Laquor Remover
Removes the toner once the pattern is etched.
Also useful if you make mistakes on transfering your pattern.
You can remove the toner and try again.
You can get this at the hardware store

Container of Hydrogen Peroxide
Any Grocery Store

Standard kitchen paper towels
Use for the ironing, agitating the acid solution, and removing the toner with the lacquer remover

(2) Plastic containers
(1 for the acid mixture, one to rinse, one to bathe the PCB in hot water)

Acid disposal container
Size this, depending on how much you're using.

Pair of plastic dishwashing gloves
You can often find a better, more durable pair of gloves at the hardware store -- right near the muriatic acid oddly enough.

Other Protection
Breathing and eye protection.

Package of photo paper
I if you have access to a laser printer or laser copier. Otherwise, skip this.

1/4 Cup Measuring Cup
Use one that you don't mind being destroyed. Once you use this to measure out the Muriatic Acid, It should only be used for this purpose. NEVER use it to measure food again.

//------- DIY-DUINO COMPONENTS LIST -------//
(3) Little bits of wire

DIP Sockets Solder Tail - 28-Pin 0.3"

ATmega328 with Arduino Bootloader

Basic LED - Green (or whatever color tussles your vessel)

Resistor 330 Ohm 1/6th Watt PTH
-- 220 Ohm will work fine too if you have one

Resistor 10k Ohm 1/6th Watt PTH

Mini Push Button Switch

(2) Electrolytic Decoupling Capacitors - 10uF/25V

Voltage Regulator - 5V

(2) Capacitor Ceramic 0.1uF Crystal 16MHz

(2) Capacitor Ceramic 0.1uF

(3) Female Headers
You'll need to cut them, and it's a little trickey...

(4) Standoffs
From Radio Shack or
From Sparkfun

FT232RL USB to Serial

A breadboard
4 short wires
4 longer wires
An LED-- to test if your upload was a success

//------- TOOLS LIST-------//
Dremel or Hacksaw
I suggest buying a Dremel or other rotary tool for this instructable, you will probably need a Dremel to drill the holes.

1/32" Drill bit
I don't know of one of these for a normal drill, neither did the lady at Lowes -- again... Dremel

Metal-cutting disc for Dremel
To cut out the copperboard

Desoldering braid -- for errors!
Soldering Iron
Soldering Gripper
1-40 of 202Next »
allangee15 days ago

If you put a male header on the end of the FT232 (opposite the USB) you could make your connections via that as well, correct?

robonerd (author)  allangee14 days ago

probably, but i have never tried it. give it a try and let us know. cheers!

SaurabhG1 month ago

I am just naive with micro controller and so with the arduino.I just want to know If this circuit will give PWM analog output as the original uno or duemilanove?

please help me.

robonerd (author)  SaurabhG1 month ago
Yes it will give the PWM output as Arduino. It uses the same chip.
vinvexz3 months ago

Hello. First I want to thank you for sharing this project. I created my own PCB board from your schematic using eagle, and I used different USB Serial breakout board which is UM232, but I believe it should do the same. My problem is my Arduino 1.0.5 software didn't detect the board at all. From your tutorial I saw that you change the board type to Duelimanove ATMega328, I also did it, and also the COM Port didn't detect my board. Is there any step I should do? So that I could upload my program. Thanks.

robonerd (author)  vinvexz2 months ago

Thanks for your interest in the project. If you bought the chip recently, It is likely that you have the UNO chip and not the 328. I think they stopped selling the ATMega 328 and just have the UNO now. Also ---- I know with the old 328s, there were 2 chip options, one that was blank and another that had the Arduino Bootloader loaded onto it. You need the boot loader, i think they call it "Optiboot". I hope this helps you!

vinvexz robonerd2 months ago

Thanks for the response. I solved the problem of not detected by the PC, by powering the UM232 using external source then connected it to PC. But still it says not in sync when I tried to upload the program . By 'bootloader', you mean this: ?

Oh yeah, I tried to replace the ATmega238 from my uno board and with the one I bought. It worked actually, then I took it off, put it in the new board I made, but not working.

robonerd (author)  vinvexz2 months ago

Try selecting the UNO again from the tools list to upload. I also just plug them into the arduino now to program them. Then, rip them out and put into the new board. If it's not working, check your components, make sure nothing is crossed. It's easy to get some solder over some of the components from time to time. Is the power LED coming on?

vinvexz robonerd2 months ago

Thanks and sorry, I made a connection mistake when I checked my board once again. I put the 10kOhm to reset and to ground, which it should be reset and 5V. Then after I had rewired it, I put my chip to Arduino UNO board, uploaded the program, take it out and put it on my board now it works...hehe

Yes the LED is on. I have a question, is the PWM working?

vinvexz vinvexz2 months ago

I just tried it and the PWM working....hehe. Thanks.

But I have another problem which is the Serial. I can get the value to my Serial monitor, but when I sent a command it didn't response, felt like the Arduino can't get my command. Is there anything I can do to fix it?

robonerd (author)  vinvexz2 months ago

I don't use this much on my projects. I'm sure you have likely read up on this but here is a link to serial info on the actual Arduino website.

Sorry I can't be of more help on this issue. Please post back though, so others may share what you learned. :-)

andytangtsk6 months ago
How about using ferric chlorine to etch?
robonerd (author)  andytangtsk2 months ago

Glad to hear you got it going! PWM should work also.

"...and life has never been the same.." ♥
robonerd (author)  CharlieFaciola6 months ago

hah hah.
yeah... Life before arduino: Hey, there's a busted old TV on the side of the road.

Life after arduino: Hey, there's a treasure chest of spare parts on the side of the road! :-)

Ye completely...have you studied the arduino schematics to make this instructables? where did you find them?
I am Thomas Philip made it!7 months ago

thank you for ur cool instructables. ive made one with a few modifications and im gonna post it on youtube. one more thing the 0.1 uf capacitors wont work with the crystal u need to swap it with 22pf capacitors. any way u r super are some pics.... oh instead of using FT232RL USB to Serial i used cp2014 usb to serial because it was available and cheap 3.5 $ only..... worked brilliantly.u have to connect tx to rx and rx to tx.. thats all enjoy..

robonerd (author)  I am Thomas Philip6 months ago

Aawesome! Thanks for posting the pictures and the info about the capacitors. Very much appreciated.

schel8 months ago

RoBoNerD....I think I love ya!! I have searched and browsed ALL the DIY Arduino 'structables yours is by far The BEST and most thorough for US newbies w/ little to no electronics know how! Much Thanks!!!

stumitch10 months ago
thanks for posting this... i will be going to Rwanda to teach next July and one of the areas i want to teach will be programming... arduino is perfect for this. Your design will be great for a country with no money! thanks. I have to comment on "tussles your vessel" which is a hilarious expression. never heard it before! :-)
robonerd (author)  stumitch10 months ago
Thank you for your kind words. Though it may be a tough project at first, it is very rewarding to complete and has a lot of possibilities for invention. Would you mind if I add this to the comments section on my personal website? Here is the page
Best of luck to you on your teaching work!
"tussles your vessel"... yes, I am a freelance pirate - arrr!
stumitch robonerd10 months ago
sure... add away. I'll be sure to check out your page!
das123344411 months ago
sir i need help....i am very new to please can you tell me which pin has what output...because i am confused when i saw the arduino uno and dunio i cannot understand the pins output....please help me sir???
robonerd (author)  das123344411 months ago
it is the same chip so the pins are the same as the documentation you would find online for the uno.
actually when i see arduino uno and dunio.....i cannot understand the digital pins from dunio...i mean in uno there are digital pins 1,2,3,4 and so one row but in dunio there is digital pins but it has also 3 please help me!!.
robonerd (author)  das123344411 months ago
If you google arduino pin outputs, you will find a diagram that will show you what they are.
bacho13131 year ago
great tutorial!
i have a question. i have other USB to Serial (232) not FT232. can i upload sketch with this?
sorry for my english.
robonerd (author)  bacho13131 year ago
Thank you, I'm glad you liked the tutorial. Sorry to say though, I'm not sure if this will work or not. I have only tried with FT232. I often just upload the final arduino sketch to an actual arduino then swap out the chip to the DIY board... just because I'm lazy these days and it's easier than wiring everything up! ;-) Sorry, I wish I could be more of a help to you. Maybe ask on the arduino forum? there are usually very friendly and helpful people there.
apburner1 year ago
Wow. that is a pretty board
ahmad23701 year ago
how to burn Arduino bootloader to a fresh ATMEGA328???

Thanks to hard work of Robonerd, I've built successfully Duino board for myself. It works well with the chip ATMega 328P-PU which I get out from Arduino Uno ( I've tested Duino with Blink example).

However, I couldn't upload my sketch directly into my board Duino through FT232 breakboard which I get one from my local supplier (link for ref: I've followed their guide ( to install driver for FT232 breakboard and it showed me as USB Serial Port (COM5).

I have tried many ways even I soldered wires directly to TXD and RXD on FT232 as well as I chose all the board types in Arduino (1.0.1) from menu Tool but it doesn't work. Please help me to answer some questions:

1/ Is there any way to know the FT232 breakboard has good operation or not?
2/ I see there is a soldering jumper on FT232 breakboard, so do I need to solder this jumper?
3/ Is there other way to upload sketch into Duino?

Last night, I've tried many ways but it didn't work. Firstly, I've tried to push the reset button timely. Then I've followed the guide from here ( by adding pullup 2 resistors 1K to pin 2 & 3.
Finally, as a last resort I used Arduino board for uploading sketch, it worked. (

I think the problem for uploading error may be caused by my FT232 breakboard. I'm still finding another way to uploading sketch. I would highly appreciate any your solutions for my problem.

robonerd (author)  dankasolutions1 year ago
It's difficult to say where the issue is. I have had some chips that actually seemed like they didn't want to be programmed by the FT232, and others that have had no problem. My solution is to just use the arduino to load the sketches. Not the best solution, I'm sure! I'm not sure if the jumper solder would be the answer. But it is possible.... On my FT232, I have soldered pins to it, and not jumper wires. Maybe another person could provide an answer in the arduino forums? I'm sorry I have nothing to help!!!!
Nequito1 year ago
I remake the Diy-Duino And i make it smaller, i call it "Babuino", It also includes a port for programing, and it use 5v a mini usb female jack.

robonerd (author)  Nequito1 year ago
WHOA!!!!! THATS SOOOO AWESOME!!!!! If I dare be so bold....... I need you to make an instructable for adding the programming port!!!!!!!!! I've been very unsuccessful in doing this! Cheers! VERY impressive!
It is very easy to make the programming port, you only need an rs232, i´m going to make the instructable, but not now because i don´t have any rs232
robonerd (author)  Nequito1 year ago
I would love to try it, whenever you can do the instructable. If you would be so kind to post it in here. That would be GREAT!!!!
SubEclipse2 years ago
I put this together yesterday... I was able to burn the bootloader to the Atmega328 using my Arduino Uno on a breadboard... I then swapped chips with my Uno and uploaded the blink sketch.

When I put this chip into my diy-duino, I get nothing from pin 13, however it works properly in my Uno.

I'm officially stumped... if you have any ideas, I'd appreciate any help you can offer.

P.S. I wired this all up on a breadboard as well and it doesn't seem to be working there, either. The problem must either be the way I've programmed the 328 using my Uno, or a faulty component.
robonerd (author)  SubEclipse2 years ago
that is indeed strange. i have always got the 328 chips with the bootloader already installed. but that should not be an issue. Nor should using arduino to upload sketches and then switch chips -- as far as I know. All the components look to be set up properly and your soldering looks clean. Most common problem is poor soldering or copper that got eaten away inadvertantly by the acid. Double check with a magnifying glass if you can, that none of the soldering crosses where it should not. Also, is it just pin 13 that doesn't work or is it ALL the pins? I know you probably have checked this, but also check to see if the LED is functional too? Let me know -- I'll do what I can to help! best of luck!
1-40 of 202Next »