This Instructable will demonstrate the building of a bare bones (and really inexpensive... less than $5) Arduino compatible module that can be put together on a small piece of stripboard and can be used either on a breadboard or independently.

The following links / similar projects were used as inspiration:
  * https://www.instructables.com/id/Small-form-factor-DIY-Arduino-on-stripboard/
  * http://tinkerprojects.blogspot.com/2012/06/minimal-arduino-on-small-stripboard.html
  * http://shop.moderndevice.com/products/rbbb-kit
  * http://txapuzas.blogspot.com/2010/07/paperduino-stripboard.html

The schematic is based off of the Arduino Pro Mini (http://arduino.cc/en/Main/ArduinoBoardProMini) and only differs in a few minor (optional) ways:
  1. This design uses a more powerful voltage regulator
  2. This design uses a more precise crystal (instead of ceramic resonator)
  3. This design ditches the reset button (do you really need it?)
  4. This design uses a 1k (instead of 10k) resistor for the power indicator LED

Prerequisites / Tools Required:
  * Soldering Iron with fine tip
  * Solder (fine) & Flux
  * Utility Knife
  * Mini needle-nose pliers (optional, but useful)
  * Multimeter (or volt meter)
  * An existing Arduino, or any other AVR programmer (needed to upload the bootloader)
  * A USB-to-Serial TTL adapter (used to upload programs after the bootloader is in place)

Parts List (with an inexpensive source recommendation):
  * $0.22 - 19 row x 8 column stripboard (less than 1/3 of a 94x53mm stripboard)
      > http://www.taydaelectronics.com/small-stripboard-94x53mm-copper.html
  * $1.00 - 3.50 - Atmega328P (or the ATMega168 or ATmega8 if they are enough for your needs)
      > http://www.taydaelectronics.com/atmega328p-pu-atmega328-microcontroller-ic.html
      TIP: You can get the older ATmega8 chips on eBay for around $1 (in a 10 pack) these days,
              or the latest and greatest ATmega328P chips on eBay for around $2.20 (in a 5 pack)
  * $0.11 - 28 pin DIP IC socket
      > http://www.taydaelectronics.com/28-pin-dip-ic-socket-adaptor-solder-type.html
      TIP: You can substitute 2x 14-pin lengths of SIP/DIP socket adapter for a higher quality socket
  * $0.23 - LM7805 5V voltage regulator
      > http://www.taydaelectronics.com/lm7805-l7805-7805-voltage-regulator-ic-5v-1-5a.html
  * $0.10 - 16 MHz crystal
      > http://www.taydaelectronics.com/16-000-mhz-16-mhz-crystal-hc-49-s-low-profile.html
  * $0.02 - (2) 22pF ceramic disc capacitors
      > http://www.taydaelectronics.com/10-x-22pf-50v-ceramic-disc-capacitor-pkg-of-10.html
  * $0.03 - (3) 100nF / 0.1uF ceramic disk capacitors
      > http://www.taydaelectronics.com/10-x-0-1uf-50v-ceramic-disc-capacitor-pkg-of-29.html
  * $0.03 - 100uF 10V electrolytic capacitor
      > http://www.taydaelectronics.com/100uf-10v-105c-radial-electrolytic-capacitor-5x11mm.html
  * $0.03 - 100uF 25V electrolytic capacitor
      > http://www.taydaelectronics.com/100uf-25v-105c-radial-electrolytic-capacitor-6x11mm.html
  * $0.02 - Red LED 3mm
     > http://www.taydaelectronics.com/led-3mm-red.html
  * $0.02 - Green LED 3mm
     > http://www.taydaelectronics.com/led-3mm-green.html
  * $0.012 - 330 ohm 1/4 watt metal film resistor 1%
     > http://www.taydaelectronics.com/330-ohm-1-4w-1-metal-film-resistor.html
  * $0.012 - 1K ohm 1/4 watt metal film resistor 1%
     > http://www.taydaelectronics.com/10-x-resistor-1k-ohm-1-4w-1-metal-film-pkg-of-10.html
  * $0.012 - 10K ohm 1/4 watt metal film resistor 1%
     > http://www.taydaelectronics.com/10-x-resistor-10k-ohm-1-4w-1-metal-film-pkg-of-10.html
  * Header Options:
       * $0.39 - DIP/SIP socket adapter (great for wires or for building a high quality socket)
           > http://www.taydaelectronics.com/30-pin-dip-sip-ic-sockets-adaptor-solder-type.html
       * $0.24 - Female PIN header
           > http://www.taydaelectronics.com/40-pin-2-54-mm-single-row-female-pin-header.html
       * $0.15 - Male PIN header
           > http://www.taydaelectronics.com/40-pin-2-54-mm-single-row-pin-header-strip.html
  * Shipping (from taydaelectronics): ~$1.20
  * TOTAL (without shipping): ~$2 - $4.75

Step 1: The Stripboard Design

Note: DIY Layout Creator was used to produce this design
   > https://code.google.com/p/diy-layout-creator/

This was very helpful and so far my fave bare bones Arduino. I made a breakout board for my FTDI programmer - no more jumper wires!
<p>It's nice and easy to make it. </p><p>Thank you man!</p>
<p>Hi!</p><p>I need the A6 and A7 pins. How is it possible?</p><p>Thank you, Thomas</p>
The PDIP version of the ATmega only has 28 pins and does not break out the extra analog pins. According to the datasheet to get the extra analog pins you need to use the 32-pin TQFP or QFN/MLF packages. It would probably be easier/cheaper to just get an Arduino Pro Mini if you need the extra analog pins.
<p>Thanks for the reply! True, I did not think through. I'm sorry because I wanted to use a plan of your work.</p>
<p>thank you for your wonderful instruction. it was he best arduino I have ever seen.</p>
<p>Thank You!</p>
<p>This was my first electronics project and I think I did it quite well except I can't anything uploaded to the arduino.</p><p>First, there was the problem of getting the bootloader onto the chip, so I managed that by putting the chip on a breadboard and using my arduino uno. After that, it still was not possible to put anything on the arduino.</p><p>It doesn't work using the usb to serial adapter and it doesn't work using the arduino uno.</p><p>I still get the following error messages:</p><p>avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x45</p><p>avrdude: stk500_recv(): programmer is not responding</p><p>The settings in Arduino are correct and the usb to serial adapter is visible in Windows 10. The blink program works if I put in on the chip by putting the chip in my arduino uno.</p>
grate one
Wonderful instructable! I've used an adaptation of this in countless projects. Check out one of my latest projects here: fathomlaboratories.com/2015/07/biolite-energy-everywhere
thanks for the great ible I was looking for the smallest arduino I could make for a project and this one is just perfect! also thanks for recommending that site to buy electronics finally a electronics website with cheap prices and cheap shipping! THANKS!!<br><br><br><br><br>
i made it!!!. . thanks for your ible. i add 1 diode in the vin for protection :)
<p>Great 'ible! I don't think you could possibly make it more compact using trough-hole technology. I am contemplating a surface mount version...</p>
<p>Hi,</p><p>I recently made it. Blew up the voltage regulator (7805). Put a diod (1n4007) in front of the Vin. It's more save now. Got some programming issues. I am using a PL-2303 based usb2serial connector. Got to experiment with it. Message I get is already explained.</p><p>I modified the board a little and I want to share it. It's based on DIY Layout Creator and based on your idea.</p><p>I extended the board so it also can be used as a programmer for an ATtiny and pin headers to ISP the ATmega.</p><p>I am also working on a USB version of this board. Not the adafruit one. Not using an USB2 Serial chip. Coming up soon.</p><p>Cheers</p>
<p>This is NOT complete, there is no pic of the underside of the board, and how it is soldered. Could you add a pic, thanks in advance.</p>
<p>This is a 12-step/page Instructable. Your comment seems to indicate that you only looked at the first step/page.</p>
<p>Hello!<br>I want to use atmega88. I need to know how to upload bootloader to it... will you plz guide me??</p>
Great Instructable. I built one and it looks and works great thanks to your detailed instructions. Thank you!
Hello! <br>May i ask if there is a way to convert the stripboard layout to pcb?
Does the Optiboot bootloader has the required fuse settings ?
Was i supposed to solder it?
Ran across this Instructable a while ago, but finally dug out all my components and actually put one together today. I'm very, very impressed by how compact it actually is - definitely less than twice the size of a &quot;proper&quot; Pro Mini, and those things are pretty freakin' little. Although I'm well versed in various electronics things (fancy tech terms there, eh?) and could have easily built this from your diagrams alone, I'm also very impressed at how well you put your 'ible together. So many things look so promising from the thumbnails and descriptions, only to find that the actual instructions are woefully inadequate. Kudos for putting together a complete and well-rounded Instructable. :-)
Hey! I love this instructable and how detailed you are with everything. I'm trying to replicate it as an intro to building circuits (degree in biochem but wish I'd done engineering instead) but I'm having a crazy hard time getting two wires into the same hole. I've mashed them endlessly but simply can't do it. I'm using 22 AWG wire, which I understand is recommended for stripboard, but I now see that an RJ45 cable generally uses 24 AWG. Would that small decrease in diameter make such a great difference, or do I need to try harder to mash the ends? Also, I know that the width of the DIP IC socket is prohibitive and that's why you shared holes, but is there any way around it? I know basic circuit analysis from the physics class required for my degree and some extracurricular reading, but this one's a little too complicated for me to &quot;redesign.&quot; If you have any advice, I'd greatly appreciate it!
Well, you could get a small drill bit and increase the size of the hole. Just don't make it so big that you lose the copper on the edges. <br> <br>If you don't have appropriate drill bits, look here: http://www.widgetsupply.com/category/dremel-drill-bit-wire-gauge.html <br> <br>They have kits from 0.3 mm up to 3.0 mm which should cover pretty much any size hole for a PCB. They also carry a 'Pin Vise' which will allow you to use the drill bit by hand.
Holy details, Batman! awesome 'ible!!
Suggestion: <br>Use a slightly longer piece of stripboard (maybe 5 mm more) to provide <br>room for a 6-pin programming header. That will save having to program <br>the 328 on a separate Arduino board. <br> <br>Otherwise, a very nice project and a neat alternative to using the Adafruit <br>Boarduino PC board.
To make a 3.3v version, what would I have to change besides the regulator and the crystal?
You might also want to change the drop resistors on the LEDs. If not, they will probably be pretty dim. <br> <br>Also, make sure you select the correct board in the Arduino IDE to make sure the right fuse settings and bootloader get flashed.
I got same error? <br>I have to ask. is there any form of reset on this??
See my response to electro18 for help on the error message. <br> <br>To get reset working while programming from the Arduino IDE, you need to make sure you connect your USB-to-serial's DTR pin through a 100nF capacitor to the ATmega's reset pin. Alternatively, you can install a button/switch between the ATmega's reset pin and ground.
If i go with the switch method. I will need the circuit to be powered true?
I'm not totally sure what you are asking. <br> <br>The circuit always needs to be powered. Installing a switch on the reset line doesn't change how this is powered in any way. You can power it with an unregulated voltage on the VIN pin, or a regulated 5V (i.e. from usb adapter) directly on the VCC (5V) pin.
Shows error with atmega8 : stk500_getsync() : not in sync : resp=0x00 :(
The error message you are getting is a pretty generic one that basically just means that it can't talk to the bootloader. This can be caused by an issue with the physical connections, the software configuration, or a missing bootloader. <br> <br>Double check all the connections from the usb-to-serial adapter to the arduino board. Try reversing the the rx/tx connections. <br> <br>Make sure you have the correct COM port selected in the IDE. <br> <br>If it still isn't working, try re-flashing the bootloader. When you have your programmer connected, make sure you use the tools &gt; burn bootloader menu option and NOT the file &gt; upload using programmer option. <br>
Great work. Thanks friend!!!!
I've been looking for something like this for a while! And I'm glad you recommended Tayda instead of another expansive supplier :P
This tut actually brought me from the &ldquo;theory of arduino&rdquo; to the &ldquo;practical arduino&rdquo; :} &ndash; that's the thing one have to be grateful for (I know, I am :}). This is me saying: thank you serisman! You rock!<br> <br> As a sidenote, I want to add &ndash; since it wasn't so obvious to me and took me some time to find the answer &ndash; if you want to power up this kind of 'duino from the external source without serial interface connected, you may find that bootloader have strangely long timeout before it starts recently uploaded sketch. The solution is to connect RX to TX pins on this board (arduino's digital pins 0 and 1) or to connect RX pin to the GND through the 10 k&Omega; pull-down resistor. Take a look here for the original note: <a href="http://arduino.cc/en/Guide/troubleshooting#toc5" rel="nofollow">http://arduino.cc/en/Guide/troubleshooting#toc5</a>
I think there's an error regarding LED polarity: the longer lead is positive (anode)
Technically there wasn't an error, as the original text was referring to the metal pad inside the LED and not the lead outside the LED. If you are re-using an LED from another project the leads might be the same length so you would not be able to tell which was the anode or cathode. By looking inside the LED you can always tell. <br> <br>But, I realize that this could be confusing, so I changed the text and added an image to hopefully be less confusing.
Great serisman!. Your's is a very good tutorial. I'm looking for some cheap ATMegas (like the ATMega8-16) to build your project. The part about burning the bootloader is a little bit confusing but I found 2 nice tutorials about that, using an Arduino Uno as an ISP (In-System Programmer): <a href="http://arduino.cc/en/Tutorial/ArduinoISP" rel="nofollow">http://arduino.cc/en/Tutorial/ArduinoISP</a> and <a href="https://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-using-Arduino-/" rel="nofollow">https://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-using-Arduino-/</a>
Great build! Your board layout is very clean. Looks awesome!
Awesome writeup! It looks really neat!
Great 'ible! Thanks for sharing. I really want to get my son into Arduino's and this is a great way to keep the cost down if he lets the magic smoke out of a few!
Great project! <br> <br>In order to remove external crystal and run on internal RC oscillator (step 12 part 4) you can burn the Lillypad bootloader. more info can be found here: https://www.instructables.com/id/The-RRRRRRRRRRBA-or-What-They-Dont-Teach-You-in-/step3/The-ATMEGA-chip-works-fine-without-the-Arduino-boa/#step3
Neat idea on that lead forming tool!

About This Instructable




More by serisman:YABBAS - Yet Another Bare Bones Arduino (on Stripboard) 
Add instructable to: