What to do after you finished your project - Stand-alone Arduino

Once you finished your project - by the way: will projects ever be finished? - you might want to start a new one. How can you do it?
  1. Go to your dealer to get you a new Arduino board.
  2. Move the controller and the connected hardware to a solderless breadboard or a hard-paper breadboard. This only works if you have the Arduino with the 28 pin PDIP (Plastic Dual Inline Package, DIL), not the 32 pin TQFP (Thin Profile Plastic Quad Flat Package, SMD) version. And to continue with your old Arduino board you have to get a new ATmega328P. Take care to get one with the Arduino bootloader included. Otherwise see Burning a bootloader .
    You can also order a user-designed printed board at the university of Potsdam. They call it "Fritzing". If you are absolutely sure you will never do a redesign of your project that might be an option.
  3. You also can get you a programming tool developed by Thomas Fischl to use your breadboard. It is much cheaper than an Arduino, and it does not require a bootloader on the microcontroller.
    Disadvantage: it does not emulate a serial port so there won't be a serial terminal. Pins 11, 12, and 13 can only be used as inputs not to disable the programming procedure.
    Advantage: you gain some space in the flash memory, and you can also use pin 0 (RX) and pin 1 (TX).
In case you are using any shields options 2. and 3. are difficult to handle.

First you have to get a breadboard that takes all the hardware you need

What is a breadboard?
Of course, there are different ones. This is one of the most simple ones:

Note that the colored lines indicate which holes are interconnected.
It is highly recommended to use

In many cases this simple board will do.

under the breadboard you will find an adhesive tape which is double-sided. It also protects the board's contacts of being short-cut when you place it onto somewhat metallic. Before you remove the protective sheet from the adhesive tape carefully think twice where to place it.
Because the glue is very strong and if you try to remove it again the tape may stick to the surface where you fixed it to pulling most of the contacts off the board and you cannot use it anymore.

Using the breadboard

The 5-pin or 6-pin programming plug will only be needed if you want to enhance the software. Otherwise you just need a good power supply. 4 rechargeable mignon batteries will do.

Example for option 2 (saving space on the breadboard):

Figure 1

Additionally, you need a quartz (16 MHz) and the two capacitors (22 pF recommended). And a power source.

Figure 2

If you want to reprogram your chip just insert the plug into the breadboard. The plug is made of a little soldering strips grid board, a 8-pin connector, and a 5 wires ribbon cable. The plug goes to the very left edge of the breadboard connecting pins 1 to 8 of the ATmega328P.

connector # =
pin of ATmega328P =
pin of breadboard
1 2 3 4 5 6 7 8
Arduino-PIN RESET d0 (RX) d1 (TX)       5V Ground
wires white brown green       yellow gray

The cable goes to an Arduino board in which the microcontroller has been removed.

Example for option 2 (might be called "Atmel standard")

Some Arduino boards (Lilypad, Mini, BT, Fio) are shipped without USB interface. So they come cheaper and smaller, and you only need the USB "once" to upload the software to the board.

To upload it you connect the board via a FDTI-Interface (Future Technology Devices International, that is the name of a Scottish manufacturer) with a USB-plug of your PC.

Figure 3
Figure 4
FTDI-plug on Lilypad
left: "B" = black, right: "G" = green

To identify the 6-pin connector mostly people use the color codes which were defined to mark the values of resistors (starting with zero!):

0 1 2 3 4 5
Ground Ground +Vcc d0 (RX) d1 (TX) RESET
black brown red orange yellow green

The disadvantage is you cannot use the 5 leftmost columns of the breadboard.

Only RESET is at the correct position:

Example for option 3 for the Fischl programming adapter

Figure 5
plug of the Fischl adapter connected to a breadboard

By chance most of the pins needed are next to each other on the ATmega328.

Only the RESET is far away.

But the order of the pins is most confusing.

Connection diagram :

10 pin-
1 MOSI - - - - - - - - - - - \
2 +Vcc - - - - - - - - \ |
3 ./. | |
4 GND - - - - - - \ | |
5 RESET - - - - - \ | | |
6 ./. | | | |
7 SCK - - - - - + + - + \ |
8 ./. | | | | |
9 MISO - - - - - + + - + + \ |
10 ./. | | | | | |
28 27 26 25 24 23 22 21 20 19 18 17 16 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14

In the Arduino IDE, you have to select Tools → Programmer option USBasp .
And the upload is started with the command File → Upload Using Programmer.

Is somebody interested in the abbreviations ?
MISO : Master in, Slave out
MOSI : Master out, Slave in
SCK : Serial Clock

The Pin-Sticker

pin 1  |←6.5mm→|


Figure 6
If you are tired of checking the Atmel manual and the Arduino documentation every time you want to insert a resistor or an LED to your breadboard only to find the correct pin number just stick a label to your chip (make sure you select the correct orientation, there is a mark near pin 1 = rst).
And don't forget this warning:
If you have to move the ATmega from the Arduino board to the breadboard an vice versa always keep in mind:

The layout of the Arduino board is such that the printing on the chip has to be upside down when everything printed on the board is readable. So the notch identifying pin-1 has to be next to the pin labeled A5.

Figure 7

contact: nji(at)gmx.de