Instructables

YABBAS - Yet Another Bare Bones Arduino (on Stripboard)

Featured
Picture of YABBAS - Yet Another Bare Bones Arduino (on Stripboard)
Running_2.jpg
Parts_List.jpg
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:
  * http://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

 
Remove these adsRemove these ads by Signing Up
brettostrom4 months ago

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.

serisman (author)  brettostrom4 months ago

This is a 12-step/page Instructable. Your comment seems to indicate that you only looked at the first step/page.

ezar4 months ago

Hello!
I want to use atmega88. I need to know how to upload bootloader to it... will you plz guide me??

MrMulligan4 months ago
Great Instructable. I built one and it looks and works great thanks to your detailed instructions. Thank you!
mitiliray9 months ago
Hello!
May i ask if there is a way to convert the stripboard layout to pcb?
ksheer10 months ago
Does the Optiboot bootloader has the required fuse settings ?
XxsonicxX11 months ago
Was i supposed to solder it?
antisubae11 months ago
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 "proper" 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. :-)
tonesofheresy11 months ago
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 "redesign." If you have any advice, I'd greatly appreciate it!
serisman (author)  tonesofheresy11 months ago
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.

If you don't have appropriate drill bits, look here: http://www.widgetsupply.com/category/dremel-drill-bit-wire-gauge.html

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.
cnludwig11 months ago
Holy details, Batman! awesome 'ible!!
thegrendel12 months ago
Suggestion:
Use a slightly longer piece of stripboard (maybe 5 mm more) to provide
room for a 6-pin programming header. That will save having to program
the 328 on a separate Arduino board.

Otherwise, a very nice project and a neat alternative to using the Adafruit
Boarduino PC board.
dabbith1 year ago
To make a 3.3v version, what would I have to change besides the regulator and the crystal?
serisman (author)  dabbith1 year ago
You might also want to change the drop resistors on the LEDs. If not, they will probably be pretty dim.

Also, make sure you select the correct board in the Arduino IDE to make sure the right fuse settings and bootloader get flashed.
btrudgett1 year ago
I got same error?
I have to ask. is there any form of reset on this??
serisman (author)  btrudgett1 year ago
See my response to electro18 for help on the error message.

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?
serisman (author)  btrudgett1 year ago
I'm not totally sure what you are asking.

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.
electro181 year ago
Shows error with atmega8 : stk500_getsync() : not in sync : resp=0x00 :(
serisman (author)  electro181 year ago
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.

Double check all the connections from the usb-to-serial adapter to the arduino board. Try reversing the the rx/tx connections.

Make sure you have the correct COM port selected in the IDE.

If it still isn't working, try re-flashing the bootloader. When you have your programmer connected, make sure you use the tools > burn bootloader menu option and NOT the file > upload using programmer option.
jukarr1 year ago
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
thebodzio1 year ago
This tut actually brought me from the “theory of arduino” to the “practical arduino” :} – that's the thing one have to be grateful for (I know, I am :}). This is me saying: thank you serisman! You rock!

As a sidenote, I want to add – since it wasn't so obvious to me and took me some time to find the answer – 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Ω pull-down resistor. Take a look here for the original note: http://arduino.cc/en/Guide/troubleshooting#toc5
Ploopy1 year ago
Cool!
Ploopy Ploopy1 year ago
I cant download the progam that you used to make the pictures, it just loads a long time and then sas error. Could you E-mail me a zip?

luigi.pizzolito@hotmail.com
Ploopy Ploopy1 year ago
I cant download the progam that you used to make the pictures, it just loads a long time and then sas error. Could you E-mail me a zip?

luigi.pizzolito@hotmail.com
odalcet1 year ago
I think there's an error regarding LED polarity: the longer lead is positive (anode)
serisman (author)  odalcet1 year ago
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.

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): http://arduino.cc/en/Tutorial/ArduinoISP and http://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-using-Arduino-/
mikesoniat1 year ago
Great build! Your board layout is very clean. Looks awesome!
BrittLiv1 year ago
Awesome writeup! It looks really neat!
pculbert1 year ago
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!
limbo1 year ago
Great project!

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: http://www.instructables.com/id/The-RRRRRRRRRRBA-or-What-They-Dont-Teach-You-in-/step3/The-ATMEGA-chip-works-fine-without-the-Arduino-boa/#step3
TheZuke!1 year ago
Neat idea on that lead forming tool!