Never again will you have to dismantle a finished project just to reuse an Arduino board!

This tutorial will go through the steps involved in fabricating your own Arduino-compatible circuit using just ~$8 of parts (this includes the ATMega chip!). This is perfect for installing and embedding in permanent pieces, as you don't need to waste a full $30 Arduino board in a project you will never need to reprogram or touch ever again. It is also great because you can solder any custom circuits (LEDs, other ICs, any external analog circuit) on the same board, and customize in terms of shape and size.

I assume you have a regular Arduino board already, so pulling out the chip to reprogram it shouldn't be a big deal, since we're going for minimal parts here. You could even go simpler by leaving out the reset button! To better illustrate the process, I did all the wiring on top of the board for tutorial purposes, but feel free to save yourself some space and make some of the connections on the copper-clad side of the board, as seen on hackduino.org or similar.

Step 1: Gather Components and Tools

Parts list and buy links:

• 28-pin DIP IC Socket - $0.30 - buy mouser
• 16MHz crystal - $0.55 - buy mouser
• momentary push-button switch - $0.15 - buy mouser
• 1k ohm resistor - $0.05 - buy mouser
• LM7805 5v voltage regulator - $0.35 - buy mouser
• 2 x 22pF capacitors - $0.12 - buy mouser
• 10nF capacitor (ceramic disc code '103') - $0.10 - buy mouser
• 22uF capacitor - $0.02 - buy mouser
• ATMega168 or 328 microcontroller chip w/Arduino bootloader (you can use the one on your Arduino for now!) - $4.00-$5.50 - buy unbootloaded mouser(cheaper) / buy bootloaded sparkfun(expensive)
• breadboard style perf board - $1.45 from electronix express (elexp), or $1.99 - from radioshack

Total cost of components: $7.39 (!!!)  *22AWG wire is not included

I have created a Mouser project that includes everything you will need, except for the perfboard itself (Mouser doesn't carry a good one at a good price). Also, this is the blank ATMega328 - so you will need to bootload the chip yourself. Also keep in mind that ordering in multiples makes everything cheaper!  Here is the Mouser project.

• IC Extraction Tool (you can use a min-flat head screwdriver to pop out chips as well) - buy
• Wire strippers
• Snips
• Multimeter
• Soldering Iron + solder

<p>I have made a few of these in the past for some projects but never think of taking a picture and claiming a &quot;I Made It&quot;,until now..lol. I enjoy making them. Thank you </p>
<p>The extra wiring,resistors and connections are for my current little project. </p>
<p>Hey, <br>I have one small question, will I be able to use HC-05 bluetooth module with this Hackaduino just as i used in my original arduino uno r3?</p>
<p>Yes it absolutely will work with HC-05 bluetooth module. If I recall correctly, however, when the chip was in the official Arduino board, I did not have to declare the input as an input, however I did have to with my hackduino board.</p><p>just my 2cents fwiw</p>
<p>I am trying to connect to Atmega328P chip through eXtreme Burner. I used 22pf capacitors and 10K pull for reset. I am able to read the chip if I use 8 MHz Crystal. But cannot read if I connect 16MHz crystal. When I looked at the datasheet, it says fuse bits are same for 8 MHz and 16 MHz. I get &quot;Power On Failed&quot; error message with 16 MHz. I am using USBASP programmer. Please note: With 8 MHz crystal, though I am able to read the device, I get error message &quot;Incorrect Chip Found! Continue&quot;. If I press OK, it reads the data. The fuse bits read using 8 MHz crystal are: Low-- FF, High - DE, Extended -- FD, Lock Fuse - CF and Calibration - FFFFFFB1 What could be the issue? Attached screen shots in the link <a href="http://www.filedropper.com/extremeburnererrors" rel="nofollow">http://www.filedropper.com/extremeburnererrors</a></p>
<p>Thank you for this tutorial, in this picture there are two projects, RFID door unlock and Arduino DIY. it is working perfectly.</p>
<p>Thanks for the instructions, now I can make one for $4! Just get all of the parts from ebay and TaydaElectronics, and that's roughly how much you'll pay. ($1.98 for the atmega328 w/bootloader and $2.01 for the other stuff and 3 AA battery holders from Tayda)</p>
<p>whats the point of using a board while you can just put it on breadboard? not a complain or anything just asking to see if it worths the time and stuff!!! if i made i will put 2 sockets for both atmega328P and atmega 32!!! (i programm in avr! but sometimes arduino too:D i do taht whit my arduino uno i use it as isp now)</p>
Ok maybe someone can help me understand my problem here. <br>I have built this Hackduino using the exact materials and wiring as described but on a protoboard. I burned my ATMEGA328, uploaded the SOS code and verified it worked with my original UNO. All fine. However when I plug the chip into the protoboard and power it up... nothing. So I checked and rechecked my wiring; all fine. It wasn't until I pulled both GNDs from the 22uF caps and crystal that the damn thing started blinking!<br>So without any GND to the caps and crystal it works absolutely fine. Weird? <br>So I have two questions: Do you think the crystal might have gone bad? <br>And <br>Do i even need the damned thing?
i know that ATMegas have an internal crystal. i believe that when no external crystal is used, the chip defaults to using that. the arduino and most compatible circuits use an external crystal with caps because it's far more reliable and accurate. this might become apparent if you use the millis() function and compare it to actual time passed... i'd predict the internal clock to be inaccurate over time. <br><br>also, i believe you're using the wrong capacitors. it's 22pF (picofarad), not 22uF (microfarad). <br><br>hope it helps
I know this is a late reply but i just wanted to make sure there was no confusion in the future. To use the atmega 328's internal clock the chips fuses must be written to do so. Another method would be to flash the chip with a pre-made bootloader for it
Hello, I'm hoping someone can help me with this. I followed the instructions perfectly and I'm pretty sure the board is wired correctly, however, when I check the voltage between the power rails, I only get 3.2-3.3 V. I'm using a power supply from Adafruit for the Raspberry Pi, rated at 5.25 V (supposed to account for loss through the USB cable). I'm very new to electronics and am having a hard time tracing the path of the current so if there are other places I can check the potential difference to try and narrow down any faulty connections, I'd greatly appreciate some input. Thanks!
it sounds like you may have tried to run the 5.25 V supply through the 7805 this would cause the low voltage your getting. The reason for this is that the 7805 has drop out voltage (voltage lost when run through the regulator) it is typically a good idea to run atleast 2 V above your desired V out into the regulator. I would try replacing the Raspberry Pi supply with a 9 volt battery this should be high enough of a voltage to get you the 5 V out that your expecting
I love your Instructable and have found it to be very useful when finishing up my electronics projects. I just wanted to point out an improvement that save a lot of unnecessary wire and time.<br><br>I moved the voltage regulator to connect directly to the center voltage rails. This way I hook the power input to the left side of the regulator and place the negative power connection directly on the negative voltage rail. Saves me from placing those two extra wires looping around the regulator and frees up a large bit of real estate to add more components. I also connected pin 7 to the positive voltage rail on the underside to clean up the top a little bit. Power is distributed to the reset resistor from this connection.
Could you please post a full pic of the top side of the board?
Hi everyone...ive joined in as a member...iam a beginner to arduino..anywayz just saw steps of Perfboard Hackduino (Arduino-compatible circuit)..can anyone pls tell me by how much has the size reduced as compared to da original arduino board..in my project i need to reduce the size of arduino uno..as small as possible..Thanks..
Hi everyone...ive joined in as a member...iam a beginner to arduino..anywayz just saw steps of Perfboard Hackduino (Arduino-compatible circuit)..can anyone pls tell me by how much has the reduced as compared to da original arduino board..in my project i need to reduce the arduino uno..as small as possible..Thanks..
Okay I asked this question below, but could somebody who knows more than me (most - if not all of you) please look at his 7805 power supply hook up and let me know if he actually shows it correctly. My understanding is that the electrolytic cap should go input to ground and the ceramic cap should go output to ground. I don't think he did that. In fact when I look at this instructable - I don't think there is ANY capacitor between input and ground but there are two capacitors between output and ground. <br> <br>The 7805 datasheet shows that there should be a cap going between input and ground - he doesn't have one as best I can tell. Also, why is the electrolytic capacitor after the power comes off the rails - wouldn't it be best before?
His power supply looks fine its all about what is powering the 7805 if it is a battery or other pre-made power supply's his design is perfectly fine. The only time it would be crucial to have capacitors before the input of the 7805 would be in an environment where the supply feeding the 7805 is constantly fluctuating and affecting the micro-controller itself. In any case this design is perfectly fine for most uses. Hopefully this has cleared up any confusion. If you have any other questions don't hesitate to ask.
Can i program this to control RGB LEDs ?? Sorry if the question is so idiotic i'm new to this.......
you definately can
Thank you for the reply
how important are exact values on the capacitors, and is the crystal at all heat sensitive(e.g. should extra care be taken to solder it in quickly)?
the exact capacitor values are really dependent on on your power supply the cleaner the supply the less filtering you need (less filtering smaller value) going up in capacitor value shouldn't be an issue, although the two 22pF capacitors you should not change. As far as heat sensitivity as long as you solder quickly it should be fine if your worried clip an alligator clip to the top of the crystal it will act like a small heatsink which should allow you more time
I'm a really really big newbie here... <br>How can I hookup female header pins on the board to hook my projects too??? <br>Thank You
search for the pin outs of atmega168 and connect the female headers to the digital and analog pins. <br>
There are 14 digital pins and 6 analog pins does that mean i should connect one to all of those???<br>here is a pic of one does that mean i should connect a header pin to all of them???<br>Thank You,<br> Mike
well, i'm not a pro in arduino, so i guess you should connect to all pins. but its best of you to search more.
For a few more dollars ($12 instead of $7.39), check out the shield compatible Diavolino : http://evilmadscience.com/productsmenu/tinykitlist/180 <br> <br>If you don't need shield compatibility, use a ATMegaXX8 target board for $3. They also sell the Atmega chips with the bootloader installed for $5. <br> <br>Just a happy customer.
can you use this to make a led cube? if yes where are the point to connect it to this? <br>
Oh, no! It appears that I just deleted the 22pF capacitors (you had to order them in quantities of 2000 or more), and Mouser won't let me add them back! Is this a problem that just pertains to me, or did I just screw everybody up?
i have the same ic puller :)
i made mine with help of http://www.jo3ri.be/tutorials and it is working greate. It just starts when i press tectile switch and stops after 1 min with blinking led example.... what could be one for continuous loop ?
How would i add an FTDI chip to this so I could connect it via usb?
Too much hassle. The FTDI IC is a surface-mount chip <br>with *very* small leads. It's much easier to install a 6-pin <br>programming header, connected to Rx, Tx, +5v, Gnd, <br>and reset. That way you could use an FTDI breakout <br>board or cable.
Hey there! <br> <br>I'm wondering if you happen to have a way to upload sketches to these chips without having a duemilanove to pull and place chips in.
If you look at the pinout diagram, notice that pins 2 and 3 are RX and TX , respectively. You can program the atmega while it is installed by hooking up a FTDI cable (ie. USB to serial) to those pins in this order: <br> <br>FTDI TX to Atmega RX <br>FTDI RX to Atmega TX <br> <br>The power and other lines can remain disconnected.
Hey ummm... I have an arduino nano so I can't really preform this step.. is there any OTHER WAY for uploading a sketch do my hackduino? Like, maybe, using jumpers from an existing arduino or buying a cheap FTDI chip that I can use for all of my hackduinos?<br>Thanks!!
Sparkfun makes a really great, easy to use ISP programmer: http://www.sparkfun.com/products/9825. 14.95 is about as cheap as an FTDI combo gets these days. Of course, you will have to add a pinout on your hackduino board to get to the 6 pins necessary for ISP. You can find ISP standard pinouts, and which pins on the AVR correspond to those ISP pins, in your datasheet and/or Atmel's online resources for its programmers, like the AVR ISP mkII or the AVR Dragon.
I am a complete newb with Arduino and I would like to thank you for showing me how to reduce the cost point so that I can reasonably get myself and four kids actually working on projects. The Uno boards cost way too much to get a family all learning and building. That said, I have a question regarding the microcontroller chip: <br /> <br />The Sparkfun link you provided leads to an earlier model they are no longer producing and there is a link to a more recent product. I tried to find the more recent product on Mouser, but their ATMega chip listings do not mention the Arduino bootloader. How do I know which chips on Mouser will work to build an Arduino compatible board? <br /> <br />Forgive me if this has been asked or answered already. I glanced through the comments and did not see it.
If I properly read your pictures, both capacitors are between GND and OUTPUT. I thought that 7805 also needed a capacitor between INPUT and GND...<br><br>Am I reading correctly?<br><br>Thanks
The pictures look that way to me to...I'm also not sure why the 22uf cap is all the way on the far side of the board instead of right up next to the power supply section of the board. Does that make a difference? <br> <br>From my research it looks like the electrolytic cap should go input to ground and the ceramic cap should go output to ground
Thats what he did
Can you explain how your power supply setup is different than the one shown on this project: <br> <br>https://www.instructables.com/id/DIY-Arduino-or-The-DIY-Duino/step18/Putting-it-Together/ <br> <br>The linked project seems to have a cap bridging the input and ground in front of the 7805 and then the ground and output after the 7805. Your schematic doesn't seem to follow the same pattern. Your cap (the 103) comes after the regulator and then there is another cap after the ATmega. I'm confused. <br> <br>I'm a total noob at this so I'm just trying to learn the different options and understand how it works. Can you explain the difference and maybe the pros and cons of one way vs. the other?
There is a website www.fritzing.org you might like the free program for circuits. Very good instructable! Also thanks for the buy mouser for parts! I use eBay but I might start using them!
I've seen 2 ways of making this hackduino, this way with a 22uF capacitor on the 7805, and another with 2 10uF capacitors. Whats the difference? Is there any real difference at all?
I believe caps will operate in series in the same fashion as a resistor. Without seeing the diagrams you've mentioned, I'm assuming the two 10uf caps are in series beside each other where the 22uf cap would otherwise go. I imagine the person who used two 10uf caps didn't have a 22uf cap to use, so opted to use those instead. <br><br>With a resistor, if you need 50 ohms of resistance but didn't have a 50 ohm resistor, you could use two 25 ohm resistors in series (they'd pull the exact same amount of resistance - 25ohms x 2 = 50 ohms). Using two 10uf caps gives you 20uf of capacitance, and 2uf of difference between that and a 22uf cap isn't really anything to worry about.
Capactiors dont work like that, here is a formula, to get the serial capacitance:<br><br>C sum = (C1xC2) / (C1+C2)<br><br>if you have more than two capacitors, the formula is:<br><br>C sum = 1 / ( 1 / C1) + (1 / C2) + (1 / C3) ..................<br><br><br>C sum = The serial capacitance<br><br>C1 = one capacitor<br><br>C2 = another capacitor<br><br>C3 = the third capacitor<br>
Yep, you're absolutely right. Been a while since I took electronics and I'd forgotten there was a formula involved. Thanks for the correction!

About This Instructable




More by jmsaavedra:Citizen Sensor: MQ-7 Carbon Monoxide Breakout Kit Perfboard Hackduino ($8 Arduino-compatible circuit) Augment a Moog Etherwave Theremin 
Add instructable to: