DIY Arduino or "The DIY-Duino"

 by robonerd
Featured
THIS ENTIRE TUTORIAL IS ALSO AVAILABLE ON MY WEBSITE AT
http://www.theparsley.com/arduino/diy/

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: http://www.arduino.cc/

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

A04.JPG
COMPLETE MATERIALS LIST
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.
http://www.parts-express.com/pe/showdetl.cfm?Partnumber=055-140 

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.

Tweezers
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"
http://www.sparkfun.com/products/7942
$1.50

ATmega328 with Arduino Bootloader
http://www.sparkfun.com/products/9217
$5.50

Basic LED - Green (or whatever color tussles your vessel)
http://www.sparkfun.com/products/9650
$0.35

Resistor 330 Ohm 1/6th Watt PTH
-- 220 Ohm will work fine too if you have one
http://www.sparkfun.com/products/8377
$0.25

Resistor 10k Ohm 1/6th Watt PTH
http://www.sparkfun.com/products/8374
$0.25

Mini Push Button Switch
http://www.sparkfun.com/products/97
$0.35

(2) Electrolytic Decoupling Capacitors - 10uF/25V
http://www.sparkfun.com/products/523
$0.45x2=$0.90

Voltage Regulator - 5V
http://www.sparkfun.com/products/107
$1.25

(2) Capacitor Ceramic 0.1uF Crystal 16MHz
http://www.sparkfun.com/products/536
$0.95

(2) Capacitor Ceramic 0.1uF
http://www.sparkfun.com/products/8375
$0.25x2=$0.50

(3) Female Headers
You'll need to cut them, and it's a little trickey...
http://www.sparkfun.com/products/115

(4) Standoffs
From Radio Shack or
From Sparkfun

//------- PROGRAMMING MATERIALS LIST -------//
FT232RL USB to Serial

http://www.sparkfun.com/products/718
$14.95

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

Solder
Flux
Desoldering braid -- for errors!
Soldering Iron
Soldering Gripper
1-40 of 176Next »
bacho1313 says: Apr 4, 2013. 6:47 AM
hi!
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) in reply to bacho1313Apr 5, 2013. 5:37 AM
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.
apburner says: Mar 21, 2013. 7:57 PM
Wow. that is a pretty board
ahmad2370 says: Jan 2, 2013. 5:22 AM
how to burn Arduino bootloader to a fresh ATMEGA328???
dankasolutions says: Oct 31, 2012. 8:54 AM
Hi,

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: http://www.tme.vn/Product.aspx?id=866#page=pro_info). I've followed their guide ( http://www.ftdichip.com/Support/Documents/InstallGuides.htm) 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?

Thanks.
IMG_20121029_200423.jpgIMG_20121031_205919.jpgIMG_20121031_213933.jpgIMG_20121031_214037.jpgIMG_20121031_215213.jpg
dankasolutions in reply to dankasolutionsNov 1, 2012. 6:03 PM
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 (http://arduino.cc/forum/index.php?topic=102984.0) by adding pullup 2 resistors 1K to pin 2 & 3.
Finally, as a last resort I used Arduino board for uploading sketch, it worked. (http://arduino.cc/en/Tutorial/ArduinoToBreadboard).

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.

Thanks.
robonerd (author) in reply to dankasolutionsNov 2, 2012. 9:11 AM
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!!!!
Nequito says: Oct 24, 2012. 11:12 AM
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.
Photos:


WP_000079.jpgWP_000083.jpgWP_000088.jpgWP_000089.jpg
robonerd (author) in reply to NequitoOct 25, 2012. 12:27 PM
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!
Nequito in reply to robonerdOct 25, 2012. 5:40 PM
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) in reply to NequitoOct 26, 2012. 7:34 AM
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!!!!
SubEclipse says: Oct 19, 2012. 11:36 AM
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.

Thanks!
bottom.jpgtop.jpg
SubEclipse in reply to SubEclipseOct 19, 2012. 11:48 AM
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) in reply to SubEclipseOct 20, 2012. 12:58 PM
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!
SubEclipse in reply to robonerdOct 20, 2012. 4:11 PM
Thanks for the quick reply... Yeah, I've tried all of the digital pins with no luck on any of them. I took the continuity tester to the board today and didn't find any shorts. I also tested continuity of all of the solder points on the board and it doesn't look like there's an issue with the copper getting eaten away (I couldn't see any visible signs of this, either.

Confirmed 5v to pin 7 on the 328 as well.

I don't have the tools to test the 16 MHz crystal.

I ruled out the microcontroller by plugging the chip that came with my Arduino Uno into the diy-duino and getting the same behavior. I suppose if the problem is I'm using an Uno to program the chips, this would still be an issue even using their mc.

I ordered a FT232 yesterday as well, so I'll get the answer to the above question soon enough.

Again, I appreciate the help, and please let me know if you can think of anything else I should check. I could put together a parts list from the company where I ordered everything if you want to take a look to see if anything stands out.
SubEclipse in reply to SubEclipseOct 21, 2012. 8:36 AM
PROBLEM SOLVED!  Swapped the 0.1uF capacitors for 22pF capacitors and the diy-duino came to life.  

This was the reference I used when deciding to give this solution a try:
http://www.arduino.cc/en/Main/Standalone
robonerd (author) in reply to SubEclipseOct 21, 2012. 2:31 PM
AWESOME! Glad to hear you got it going! cheers!
bobbokop says: Oct 1, 2012. 9:21 AM
Hi! Awseome work! I followed the instructions, and though the board powers on and I have 5V at Vcc and AREF, the blink sketch does not work. What could be the problem? Something involving the crystal?

Thank you!
robonerd (author) in reply to bobbokopOct 1, 2012. 10:36 AM
Hi there! Hard to say... do you have an arduino board you can load the blink sketch onto? and then swap the chip to see if it works? ... start there, if it works on the store arduino and not on your DIY board, there is likely either a cross somewhere components are not installed correctly.

another question, is the chip oriented correctly -- is the "grove" pointed the correct way?

If you want to email me through my website - www.theparsley.com/arduino/diy ------ its at the bottom of the page. I can contact you easier, maybe get some pics of how you have it set up if need be.
Sure98 says: Jul 2, 2012. 12:59 PM
I dont know if anybody is reading this right now, but what are the EXACT dimensions of the PCB you cut out? Not including the "margin" or whatever, just the dimensions of the prepared PCB
Sure98 in reply to Sure98Jul 4, 2012. 2:33 PM
I need an answer soon....
robonerd (author) in reply to Sure98Jul 6, 2012. 8:49 AM
open the pattern file, measure the pattern area, voila exact dimensions. i usually wing it cause i need to mount the final device inside an enclosure or something.
jsgraham says: Jul 3, 2012. 11:05 AM
Great instructable. Thanks for putting it together. For a beginner with microcontrollers, with a penchant for making his own components, this is a great find. Voted appropriately.

One thing though, The ATmega 328 you mentioned in your article has been retired by SparkFun, and replaced by the ATmega 328 with Arduino OptiBoot (Uno)... cost $5.50... http://www.sparkfun.com/products/10524
max1zzz says: Mar 24, 2012. 1:46 PM
Are the pin numberings on step 18 the same as on the actual arduino? (i don't have a arduino to compare it with)
also do you know if i could use a 168 chip rather than a 328? (i have seen a few design's using the 168 on the net, and it is easier for me to get)

This is by far the best design i have seen on the net, and with a few little tweaks it will be perfect for my needs :)

thanks
robonerd (author) in reply to max1zzzMar 26, 2012. 4:55 AM
Hi there! Yes the pin structure is the same as the actual arduino. Check out this image:

http://arduino.cc/hu/Hacking/PinMapping

The DIY board follows this diagram.

I'm not sure if it will work with a 168 or not. I have not tried that.

If you have one, test it out and see what happens.
You'll have to select the board from the arduino program's "tools" >> "boards" menu.

Thanks for the compliment, I hope this helps and hope it works for you.
max1zzz in reply to robonerdMar 27, 2012. 3:01 PM
ok, thanks ;)

i will try with a 168, if it doesn't work i can always get a 328 later
edz29 says: Mar 15, 2012. 1:11 PM
thanks sir for this nice tutorial.. i was now able to upload sketches..
my circuit is good the only wrong thing i've done is with the connection of tx,rx of usb to ttl and your DIY arduino when uploading.
MorE power!!
thanks
robonerd (author) in reply to edz29Mar 16, 2012. 6:25 AM
I'm glad it worked for you. share a photo if you feel like it.
devilinops says: Mar 12, 2012. 9:38 AM
am i able to use 10uf16v capacitor ? cuz im not finding any 10uf25v anywhere and last thing i wana do is order it online and pay shipping for 2 parts
edz29 says: Mar 2, 2012. 4:27 AM
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

i encounter this problem =( could you help me please
robonerd (author) in reply to edz29Mar 2, 2012. 5:59 AM
The program is not able to communicate with the chip...

Check this first:
Chips come with the "Blink" sketch loaded.
Wire an LED to pin 13.
Give power to your board.
If the LED doesn't flash theres something wrong with the setup of the board -- like crosses over lines of copper or bad solder.

next:
Do you have the correct chip selected in the arduino program?
Click "Tools" slect "board" and then make sure you have the proper chip you bought. I think sparkfun stopped selling the 328 and are now just selling the UNO.
edz29 in reply to robonerdMar 2, 2012. 6:26 AM
i haven't check if my program have Blink sketch. i'll check it first
i think i solder my board good enough and it has no pin short circuited.
i have follow the steps on your tutorial except with the breakout board i use PL-2302 usb to serial since ft232rl was not available here.. but still i follow the connection of rx,tx,vcc,gnd


i have selected the correct board like in your tutorial
thanks for your help
edz29 in reply to edz29Mar 2, 2012. 2:03 PM
Installing drivers for the Arduino Uno with Windows7, Vista, or XP:

Plug in your board and wait for Windows to begin it's driver installation process. After a few moments, the process will fail, despite its best efforts
Click on the Start Menu, and open up the Control Panel.
While in the Control Panel, navigate to System and Security. Next, click on System. Once the System window is up, open the Device Manager.
Look under Ports (COM & LPT). You should see an open port named "Arduino UNO (COMxx)"
Right click on the "Arduino UNO (COmxx)" port and choose the "Update Driver Software" option.
Next, choose the "Browse my computer for Driver software" option.
Finally, navigate to and select the Uno's driver file, named "ArduinoUNO.inf", located in the "Drivers" folder of the Arduino Software download (not the "FTDI USB Drivers" sub-directory).
Windows will finish up the driver installation from there.

-- i think i have a problem with installing my arduino application. when i connected my breakout board with the diy arduino it detects prolific chip usb to ttl and not the arduino \uno
robonerd (author) in reply to edz29Mar 5, 2012. 5:21 AM
oh boy, now this one is beyond my scope of knowledge. Sorry! maybe you can get some help in the arduino forum at www.arduino.cc Sorry, I wish I had an answer for you. I installed my arduino software using the store bought arduino.
edz29 in reply to edz29Mar 4, 2012. 4:15 AM
hello sir .. once again i have a question
i tried uploading the blink sketch
when i press the button the pin 13 led lighted for a second then the error from my ide was seen..

how long should i press the reset button??
robonerd (author) in reply to edz29Mar 5, 2012. 5:22 AM
i usually just press and release quickly.
edz29 says: Feb 27, 2012. 4:34 AM
i have read one of the comments here that step 18 has a short ceramic capacitor .. is you drawing already fixed? so i can start on making it
here's the link http://www.instructables.com/files/deriv/F3S/7PNI/GKS0SJIA/F3S7PNIGKS0SJIA.MEDIUM.jpg

thanks.. i'll be posting my board and project once i have made it
robonerd (author) in reply to edz29Feb 27, 2012. 6:18 AM
Yes I set them up wrong on the photo! they should go horizontal, instead of vertical. The graphic has the correct placement. I also replied to your previous question on my website.
edz29 in reply to robonerdFeb 27, 2012. 7:11 AM
thanks for your early response.. =)
your such a great help!
robonerd (author) in reply to edz29Feb 27, 2012. 8:23 AM
my pleasure. If you can, I would seriously suggest getting a regular arduino and tinkering around with that first. It's VERY easy to get something wrong on this board, and I'd hate for you to become discouraged because you cant get this to work on the first shot. It took me several attempts ((and several scrapped boards!)) before I got it right. And I had been working with arduino for a while... thats just my opinion, of course! The ardiono forum is also a good place to read up on arduino. Most of the people there are VERY friendly. Well, best of luck to you my friend. Please feel free to contact me anytime here or at my website if you have any questions and I'll do my best to help.
1-40 of 176Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!