I have recently purchased an Arduino Nano 3.0 Clone which came without a bootloader. I am sure there are many other people who are in the same situation as me, and may have freaked out a little bit at first ! Don't worry, in this instructable I will show you how to easily install a bootloader to your new clone.
What is Clone Arduino? Some companies wait for other companies to invent new products and they simply purchase these products once they hit the market. And then they simply reverse engineer and copy their technology. Afterwards they sell them under different name and minor changes to avoid lawsuits. These minor changes in my case was the lack of the bootloader, but some boards may also come without and pins soldered to them. These are not necessarily bad things though, this way the company is able to cut costs even lower and sell the product for much cheaper. I have no idea about the legality sides of these kinds of operations/businesses but for an example; Samsung has to be the most successful reverse engineering company in the world. They literally wait for a new iPhone to come on, then buy a few, and very quickly make the same thing or better versions in a different case and for the 3rd of the price, sometimes less...
What is a bootloader? The simplest way to answer this would be to imagine buying a "clone" laptop and it comes without an operating system in it pre-installed, like windows. most people would freak out when they see the empty black screen flashing " C:\ " - pretty much the same thing. The clone board powers up and works but you can't communicate it with the arduino programming interface on your computer to load new sketches.
How to fix this? Once again, this is not really a broken scenario. Some people may choose to never install the bootloader and program the board straight through the ISCP pins ( I've never done this, what would be the benefits doing it this way, anyone? )
let's see how it's done..>
Step 1: Get a Clone
It is very easy to find a clone of any board on the internet. Or you can at worst make yourself one...
They are extremely cheap, I have seen pinless nano boards as low as $5 online. You just have to do some work on your end, which is a very fair give and take if you ask me.
I don't want to advertise any names here, if you just search the board that you want with the word clone next to it, you will find some. Mine is called Funduino Nano, which is an open source company apparently just making amazing products at real fair prices..
Look how small an arduino nano is, it's the size of my pinky finger. This will help me tremendously in my new projects, huge improvements on size!
Step 2: Test it first !
Plug it to the computer with the USB cable.
Make sure it turns on, and yes it did.! So far we are safe.
Now try to upload the blink sketch to it using the Arduino software on your computer. (file>examples>basics>blink)
You will most likely get the error in the second picture. This has nothing to do with the code being right/wrong. It just simply means that your computer and the board aren't communicating correctly, in our case the lack of the bootloader prevents us from doing so.
If your clone did work with the sketch upload, then even better.! you found one that is pre-installed. just start using it...
If you get the error message, keep on reading..>
Step 3: Simple few steps
Now you need to find a working arduino board, doesn't matter if it is a nano or not, I have used my "real" uno r3 and worked perfectly. If you don't already have one, try borrowing it from a friend.
If you have any grab your female - male breadboard jumpers. These will make the process even faster and easier. BUT I didn't have any so, instead of waiting 2 weeks for them to arrive online as well, I had to take some extreme measures!
First we need to locate and get familiar with the ICSP pins. On mine just one of them was marked with a number, top right as 1. Here is what they look like in the schematics. So right under 1 had to be 2 and next to one was 3 and so on...
Now that you are ready lets begin - do the following steps in order;
STEP 1 - Upload ISP
- Connect the working arduino to your computer.
- Open the arduino software on the computer
- Go to Tools>Serial Port>COM (and make sure that the correct COM port is chosen - ask me if you don't what this means)
- Go to Tools>Board>Arduino Uno (in my case uno, this is the arduino that is already working not yet the other one)
- Go to File>Examples>Arduino ISP (a new sketch screen will open with the ISP code written in it)
- Verify then Upload (your board will start blinking for a bit, it means it is loading, wait until done uploading)
- Unplug the arduino. Now it has the ISP code in it, all we have left to do is connect them together and run a few commands again...
STEP 2 - Connect 2 arduinos together
- Now connect the two arduinos together, to do this without female-male jumper cables was time consuming, you have to be VERY CAREFUL and take your time bending the wires, other wise you may short your circuits. ask me first ! In the second picture you can see that first I put the ICSP pins through a piece of paper and then carefully wrapped around them the corresponding wires. Make sure they grab on very tightly, use a small flat head screw driver to bend them. Take your time, don't be rough.
- Connect them this way;
pin 1 on clone to D12 on working arduino
pin 2 on clone to 5V on working arduino
pin 3 on clone to D13 on working arduino
pin 4 on clone to D11 on working arduino
pin 5 on clone to D10 on working arduino
pin 6 on clone to GND on working arduino
STEP 3 - Burn Bootloader
- Keeping all the wires intact and unmoved in step 2, connect the working arduino back to the computer with the USB
- Go to Tools>Serial Port>COM (and make sure again that the correct COM port is chosen - ask me if you don't what this means)
- Go to Tools>Board>Arduino Nano w/Atmega 328 (this time we choose the non working arduino, in my case nano atmega 328)
- Go to Tools>Programmer>Arduino as ISP
- Go to Tools>Burn Bootloader (this is it, after the LEDs stop flashing your board is ready to use !!!)
Do all of the above steps in ORDER !!! no skipping steps
Always make sure that the correct COMM port and correct board are chosen before uploading a sketch to avoid errors...
if you want to learn more or get a second opinion you can check this post (it's amazing) or just search on google " how to install a bootloader to arduino clone " and you will see many articles on this very topic.
Remember to check out my other posts and subscribe to stay in the loop..!
love & peace