Poor Man’s Breadboard Arduino

I’ve burnt out a few Arduinos recently, and have found it expedient to just build my own on a breadboard rather than pay $34.95 and buy an Arduino Duemilanove online. It’s cheaper ($7.40, without FTDI or breadboard, SparkFun), and easy to fix if something goes wrong. Note that this tutorial does NOT include a voltage regulator, power will come from the FTDI board.

Parts List (minimum, of course):

  • 170 tie point breadboard ($3.95)
  • ATMega328P w/ Arduino Bootloader ($5.50)
  • 16mhz resonator ($0.95)
  • 10 kOhm resistor ($0.25)
  • 100uF Capacitor ($0.35)
  • SparkFun 5v FTDI Breakout ($14.95)
  • Assorted wires ($0.00, you can pull them from anything)
  • [optional] LED, for pin 13. ($0.35)

All prices are from SparkFun, which is NOT the cheapest. Note that the capacitor and the SparkFun FTDI can be reused across many boards, and thus the costs is divided among all the boards you build.

Step One

Put the ATMega328 in the breadboard, with the little semicircular cutout facing one end of the breadboard.

Step Two

Put the resonator in the breadboard in the remaining three pins under the ATMega328, direction doesn’t matter.

Step Three

Wire up the power as shown. The green wire is +5v, the blue one is GND. They are supposed to cross, yes.

Step Four

Wire the resonator to the two XTAL pins, the GND pin of the resonator should go the GND. See picture.

Step Five

Put the 10kOhm resistor between +5v and the upper-left pin on the ATMega328 (reset). This will pull it high, and keep it from resetting itself.

Step Six

Add the LED between GND and the pin two spaces after GND, see picture. The shorter lead of the LED (-) goes to GND. You will be able to activate this LED by pulling Arduino Pin 13 HIGH.

Step Seven

Connect the FTDI serial board. The capacitor is electrolytic, put the negative lead toward the FTDI and the positive lead toward the RESET pin. RxD on the FTDI goes to Tx on the Arduino, and TxD on the FTDI goes to Rx on the arduino (flipped). +5v and GND go where expected.

Read this:

???

Program your board.

PROFIT

September 20, 2010

Categories:

Robotics

20 Responses to Poor Man’s Breadboard Arduino

  1. Avifauna says:

    http://today.deviantart.com/dds/#/d2m0zph

    I thought that this is the perfect juxtaposition of something related to your expertise, and something artistic in the traditional sense of the word.

  2. Casey O'Donnell says:

    thanks very helpful. i find that the picture on step six was the most useful to me because it is very clear on the wiring.

  3. admin says:

    Thanks! Hope that your project goes well!

  4. b3457m0d3 says:

    is it possible to use a crystal in this set up? maybe with a couple caps? plus isnt it possible to use an arduino as an ftdi board by uploading a blank sketch?

  5. Charlie R Chisholm says:

    Have you run into that pesky “stk500_getsync() not in sync resp=0×00″? I have tried everything and tried every 328 board in the Arduino software, checked the comm port, and evey tried a few different 328 chips with no success. Driving me crazy.

    • Robert Ying says:

      Yes, I’ve run into it before–usually the first thing to check is the capacitor between DTR and reset. This error means that avrdude couldn’t communicate with the bootloader, so manually resetting should work even without auto-reset.

  6. spanner888 says:

    thanks for the useful info.

    I was wondering if the +5V to pin 21 (AREF), should actually be connected to pin20 AVcc? The circuit may work as shown, until you need to use the analogue ports, when power needs to be supplied to AVcc, although I think there is a recommendaton to power AVcc even if not using the analogue ports!

    • Robert Ying says:

      AREF should be connected to +5v if you plan to use the analog ports, yes, otherwise your readings will be off. You can also configure the ATMega328P to use its internal voltage reference, if you’d like.

  7. Dru Jensen says:

    Very simple setup!

    I agree with spanner888, you should connect the +5V to pin20 not pin21. pin21 AREF is only used for a reference voltage on the analog ports. It’s also recommended to add a filter to the AVcc if you want to avoid noise from the digital Vcc side.

  8. Pingback: How to build a 5$ Arduino (clone) «Hardware Startup Hardware Startup

  9. Norman Elliott says:

    Great tutorial, thanks.
    I pulled the 328 from my Uno and plugged a zif socket into the onboard socket. I can then buy a chip with bootloader on it, program it in place with all I need for my project on breadboard. When it works as I want I can build my circuit on vero board or whatever I want without needing the FTDI board.

  10. Johnathan says:

    This circuit isn’t wired correctly. The green wire should go to pin 20, not pin 21, and pin 21 can be left unconnected because by default the chip does not use the external AREF.

  11. Pingback: Blog J.Schweiss | Arduino Startup

  12. Ragbir Chana says:

    Hey guys many thanks. That 10uF Electrolytic Cap made all the difference to get ATMEGA 328p with UNO bootloader working. The uploading of the sketches worked successfully.
    Here is blink program working. Also tried with other programs.

  13. Alec says:

    I can`t get the led to blink, even the sketch has been uploaded successfully (multiple times).
    Exactly same setup as described and pictured here.
    If the atmega was defective, i wouldn`t be able to upload the schetch, right?

    • Don Romeo says:

      The led wiring is incorrect in the photo, it is connected to pin 12 instead of pin 13.
      Note that digital pin 13 is leg 19 of the atmega, i.e. the 5th pin from right.

      Alternativelly, you can change the blink sketch to pin 12.

  14. Mike Blake says:

    Also it would be wise to have a current limiting resistor for the LED.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>