After having fun and experimenting with your Arduino or Freetronics Eleven board, you will most likely think of various projects that could be self-contained, if only they didn't rely on using a whole Arduino or compatible board. Or you may wish to experiment with the Arduino platform at a lower cost. In these and many other cases you can in fact build your own Arduino-compatible circuit using a solderless breadboard.
After looking at your full-sized Arduino or Eleven board you may think that the circuitry is quite complex, however in reality it is very simple… and by following the instructions detailed below you'll have your own version operating in a short period of time.
Required Parts
As well as a solderless breadboard, you will need a few basic parts as shown in the image below:
Listed from left to right are:
- 10 kΩ ¼ watt resistor
- two 22 pF ceramic capacitors
- ATmega328P microcontroller with Arduino bootloader
- 16 MHz crystal
Furthermore, if you don’t have a regulated 5V DC power supply - you can make a simple one that fits right on the breadboard, using the following parts shown below:
Listed from left to right are:
- 7805 voltage regulator
- two 100 uF 25 V electrolytic capacitors
Using these parts allows you to use a power supply of between 7 and 12 V DC. You will also want a variety of jumper and connecting wires to use with your solderless breadboard
Assembling the circuit
Now we will build the circuit, step-by-step on the solderless breadboard.
Step One:
First, take your microcontroller and place it around the centre of the breadboard as such:
Note how the label shows the equivalent to the Arduino pinouts. If your microcontroller doesn’t have the label (which you can order separately) make sure pin one is at the bottom-left when positioning on the breadboard, as shown with the yellow circle below:
Step Two:
Next we’ll add the circuit for the power supply. (You can skip these and move forward to Step Five if you have a regulated 5V supply). Take your 7805 regulator and place it very close to the far-left of the breadboard:
Step Three:
Add the following three wires to the breadboard as shown below:
The wire on the left connects to the column where you will feed in between 7 and 12 V to power the circuit (but don’t connect the power yet!), the centre wire connects to the GND row and the wire on the right is the 5V output.
Step Four:
Now add the two electrolytic capacitors. One will bridge the power-input column (the left-hand leg of the voltage regulator) and the GND column, and the other will bridge GND and the 5V rows at the bottom of the breadboard. The negative side of the capacitors will connect to the GND column and row.. The negative leg of the electrolytic capacitor is closes to the white stripe:
Step Five:
At this point add two jumper wires across the top and bottom centre parts of the 5V and GND rows - this ensures they are available across the entire length of the breadboard. Furthermore, run a jumper to connect the bottom 5V and GND rows with the rows at the top:
Furthermore, run a jumper to connect the bottom and top 5V and GND rows respectively:
Step Six:
Now let’s get the microcontroller wired up. Connect the 10 kΩ resistor between pin one of the microcontroller and the 5V row, and the following jumpers to your breadboard:
Step Seven:
Next, add the two horizontal jumpers as shown below:
Note that one is connected to the pin labelled X1 and continues two columns further to the right of the lower jumper connected to X2.
Step Eight:
In this step you add the crystal - making sure one leg connects to the jumper to X1 and the other to the jumper connected to X2 as shown below. Next, connect the two ceramic capacitors. Be careful to ensure each one connects between a column of the crystal leg and GND:
Step Nine:
At this point your breadboard-Arduino is finished, with power supply if required. Take a moment to review the steps and double-check your connections:
Uploading sketches to the breadboard Arduino
As the breadboard lacks a USB socket to allow simple uploading of sketches, you have a few alternatives to get your project running:
Using a USBasp programmer
If you’re working more often with your breadboard Arduino and find yourself constantly uploading and testing sketch revisions it really pays to have an external programmer such as our USBasp. This is a small board that connects to your PC via USB, and has a six-wire lead which can program Arduino and compatible boards as well as your breadboard Arduino:
Using the programmer is very easy. You will need six jumper wires, which are connected to the socket at the end of the ribbon cable included with your USBasp. When looking at the ribbon cable connector, have the holes facing you - and note the pins are numbered 1/2, 3/4, 5/6 from top to bottom:
Now connect jumper wires from the connector holes as follows:
- Connect to the 5V row at the top or bottom of the breadboard;
- connect to the microcontroller pin labelled “D12” (physical pin 18);
- connect to the microcontroller pin labelled “D11” (physical pin 17);
- connect to the microcontroller pin labelled “D13” (physical pin 19);
- connect to the GND row at the top or bottom of the breadboard;
- connect to the microcontroller pin labelled RST (physical pin 1).
Finally check the target voltage switch on the USBasp is set to 5V, then connect it to your PC via the USB port. Then open your sketch in the Arduino IDE and use the following menu items:
-
Select Tools > Board and select Arduino Uno;
-
Select Tools > Programmer and select "USBasp" as the programmer type;
-
Finally - Select File > Upload Using Programmer. The Arduino IDE will then compile and upload your sketch onto the breadboard Arduino
Add a USB serial port to your breadboard
You can add a USB serial port to your breadboard Arduino in no time at all with our USB-Serial Adapter. It gives you all the functionality that a normal board has - a USB socket to upload sketches, and full serial access so you can use the Serial Monitor - or send and receive data with other PC-based applications in python, etc.
To use this method, you will need (apart from the USB-Serial Adapter) a 0.1 uF capacitor and (optionally) a six-way header pin, as shown below:
Adding the required wiring to the breadboard is easy. You need to connect five of the sockets on the end of the USB-Serial Adapter to the microcontroller on the breadboard as listed below:
- GND to the GND line;
- Vout to the 5V line;
- TX to pin 2 on the microcontroller (labelled “RX”);
- RX to pin 3 on the microcontroller (labelled “TX”);
- CTS to one end of the 0.1 uF capacitor. The connect the other side of the capacitor to pin 1 on the microcontroller.
You may wish to follow the wiring as shown below:
At which point you can fit the header pins to the USB-Serial Adapter, then insert it into the breadboard as shown:
Now you can treat the breadboard Arduino just like an Arduino Uno or Freetronics Eleven board - and have a convenient and reliable method of uploading sketches or using serial with your project. Be sure to set your board type to “Arduino Uno” in the IDE. Before using the adapter for the first time, please follow the Quickstart Guide for the USB-Serial adapter - then you can simply connect the included USB cable and move forward with your project.
Where to from here?
Now you have the freedom to use all the functionality of an Arduino board inside your own circuitry, or put yourself on the path of creating a final prototype or product based on the Arduino platform. All the familiar pins such as analogue and digital I/O are marked on the label affixed to the microcontroller, leaving you to move forward with your own designs.
Furthermore for help or general discussion - check out our support forum at http://forum.freetronics.com/.