Skip to content

Breadboard Arduino: Fast, Cheap and Fun

2011 May 2
by Tedb0t

If you’ve been enjoying making stuff with the Arduino, but don’t want to buy more Arduino boards just to make a new project, fear not—you don’t need them!

The Arduino board is just a convenient wrapper around the ATmega microprocessor, and it’s easy to recreate on a breadboard.  Here’s what you’ll need:

The bootloader is what makes the microprocessor easy to program with the Arduino environment.  You can also buy ATmegas without the bootloader for about a dollar cheaper, but they must have the bootloader manually loaded on to use Arduino.

The resonator is a handy package that combines a crystal, which is where the microprocessor gets its clock signal from, and two capacitors, so all you have to do is plug it into the ATmega.

If you have an ATmega that’s already loaded with your program, you can just build this board as-is without the capacitor and leave pin 1 (RESET) connected to +5V via the 10k “pull-up” resistor.  You can even program a chip on an Arduino, remove it and plug it into your breadboard setup.

The one part remaining that I haven’t mentioned is the programming header I made, on the top right of the top photo (fully visible in the second photo).  This connects to the FTDI USB board I describe in my easy breadboard Arduino programming tutorial.  The pins are, from top to bottom: Ground (Black), RX (White), TX (Green), DTR (Yellow).

Lastly, though not pictured here, it is good practice to use decoupling capacitors on your power supply to protect your microcontroller from any irregularities, as described in this tutorial (a few pages down).

Related Posts:


  • Pingback: Easy programming for breadboard Arduinos | Limina.Log

  • Kevin

    Hey, this is great! just what I need for an RFID project :)
    Can you please tell me what that little black 4 holes device on the top right is doing please? can’t see where the wires are going…

    thank you!

  • http://www.liminastudio.com Tedb0t

    Thanks! Yep, I updated the description to describe the programming header wires.

  • http://www.mudbudproductions.weebly.com Mudbud
    • http://www.liminastudio.com Tedb0t

      Yes, you can use that, but you sure as hell don’t need to pay $1.50 for a single crystal. If you want to use a bare crystal, remember that you’ll need two 18-22 pF capacitors (marked 180 or 220) on each leg of the crystal going to ground.

  • Scott

    Do you need to connect the dtr pin and the cts pin on the usb breakout board to anything. I am having no luck getting the computer to recognize the uno.

    • http://www.liminastudio.com Tedb0t

      This tutorial is for a circuit on a breadboard that recreates an Arduino, it doesn’t involve using an existing Arduino at all. What are you trying to do?

      • Scott

        I may have been confusing when I said uno. I meant atmega 328. It is one with the bootloader already installed and a sticker to label all the pins (says uno at top). I have a slightly different breakout board, it is a FTDI Basic. It has a tx, which i connnected to rx on the 328, an rx which i connected to tx on 328, gnd to ground, and DTR to the capacitor that runs to the first pin 328. But my breakout board has 3v3 pin and a cts pin on it which im not sure if they are supposed to be connected to anything.

        And you were saying that I dont need the capacitor connecting the first pin and the breakout board? This means that DTR isnt connected to anything??
        Thanks

  • Scott

    if it helps the errors i get are
    avrdude: stk500_getsync(): not in sync: resp=0×00
    avrdude: stk500_disable(): protocol error, expect=0×14, resp=0×51

  • Paul

    First of all, thanks for this tut!
    Second, I encounter a problem with my crystal, it does not seem to get enough power or anything when I turn the power on.
    I have connected 12 LEDs through a TLC5940 to my atmega 328. When I run the standard “Fades” program (should fade all LEDs individually), it does fade but the lights flicker. If I then touch a pin of the 22pF, there are two options: or all lights go out or the program starts to run as it should (gently fading).
    Do you have an idea what the problem could be?
    I already tried soldering caps and the crystal on a separate board with the rest still on a breadboard..
    Thanks in advance!

  • Brian K

    Looks like you run the protoboard off of 5V but isn’t the FTDI USB breakout board 3.3V. I guess it gets its power from the USB cable to the PC?

    • http://www.liminastudio.com Tedb0t

      The FTDI breakout board can supply both 5V and 3.3V. The USB spec supplies 5V.

  • Pingback: Under Cabinet LED Lighting – Part 1 | Ronald's Blog

  • Raini

    Hi Tedbot, this is AWESOME. Just what I needed for a project I’m working on. One question though, have you ever worked with the Arduino Ethernet Shield? I’m using one as well, but the Schematic is hard to read, I want to do the exact thing you are doing here but with the Shield, so I can make a single (one floor xD) PCB.

    • http://www.liminastudio.com Tedb0t

      I’ve used the WizNet ethernet shield. Off the top of my head, they usually use SPI to communicate with the microcontroller, which is generally just 4 wires (Clock, MOSI, MISO, Slave select). Redesigning that kind of circuit will be time-consuming. You might try to get an Eagle file of a similar board off of Sparkfun or similar.

  • http://profile.yahoo.com/DFT6DZPOOOOARDIZYVRV2SYJZ4 Kirk

    so you have a headphone jack for the power connector?

    • http://log.liminastudio.com/ T3db0t

      No, it’s a 5mm DC power jack that kind of looks like a 1/4″ phono plug from the outside ;)

  • Davegior

    I found a dozen circuits for ATMega328. Half show pin 21 AREF floating and half have AREF to VCC. Which would be correct.

    • Ted Hayes

      If I recall correctly, if you don’t connect Analog Reference, the ATmega uses Vcc as AREF, so either way is fine.  Double check in the manual to be absolutely sure.

  • http://www.facebook.com/david.dearing.31 David Dearing

    I just want to make sure I’m reading this correctly. If I have a programmed ATMega328, all I then need is a resonator and regulated 5V, correct? Oh, and a 10 ohm resistor from the 5V input. Anything else?

    • http://log.liminastudio.com/ T3db0t

      Yes, but it’s a 10kohm resistor that pulls the reset pin high. Without this the microcontroller might randomly reset.

  • Bret

    This is great, Made two of these, one Breadboard and one as a soldered circuit for use in a project

    I did find the image a little hard to follow at first so I made one in Fritzing