Hello guyz, Welcome to Being Engineers. Hope you all are doing good. In this tutorial we will learn how to make your own Arduino Uno. We will gather the components, test the circuit in breadboard, then we will make the board itself. When it is done we will know how to program the Arduino IC AKA Atmega328p on board. So it is going to be a long tutorial.It will take some time to go through all the steps one by one. So be patient with your work. At the end you will have your own homemade Arduino Uno. There are some points that have to hold before proceeding -
- I will be using the same IC that comes with Arduino Uno, i.e. Atmega328P-PU. You can use different IC as your requirement. The whole process will be same.
- This IC will be fully empty, No bootloader, no flash.
- This is not the only process by which you can make this. There are many different ways to do this.
Now why do you need this? Now a days Arduino are very common and you can buy it from anywhere. But it will cost you not less than 10-15 $ for a Uno. In the other side our Uno will be ready in 3-4$. There are many other advantage. As all the components are through hole components, you can replace any damaged components anytime when you want. The market uno will come with SMD components, so it is not that easy to change the component with normal soldering equipment. In Arduino IDE the most basic problem is that the program will not be uploaded to the IC if bootloader is not installed. So these are the advantages that you will get and there are many more.
Before we start I will like to say that we run a Youtube channel named ' Being Engineers '. It took a lot of effort to make the videos and write ups for all of the tutorials. So it will be very helpful if you subscribe to our channel. It inspires us to make more projects like this. link - https://www.youtube.com/c/being_engineers1
We have also made the whole tutorial in video format in our channel, so if you want you can skip all this writing an just watch the video. The whole process is divided into 3 parts.
Step 1: Gather the Components
These are all the components that you will need in the complete process -
- ATMEGA328P-PU ( X1 )
- 7805 IC ( X1 )
- 10uF Capacitor ( X2 )
- 100nF Capacitor ( X2 )
- 100 ohm Resistor ( X2 )
- 10K ohm Resistor ( X1 )
- Button ( momentary ) ( X1 )
- 3mm Red Led ( X2 )
- 9V Battery ( X1 )
- 16Mhz Crystal Oscillator ( X1 )
- 22pF Capacitor ( X2 )
- USBASP avr programmer ( X1 )
Capacitor values can be altered. Don't need to be that accurate.
- Veroboard ( X1 )
- 28 Pin IC Base ( X1 )
- Hookup Wires
- Male and Female pin Headers
- Soldering Equipments ( Iron, Soldering Wire, Flux etc. )
- DC Male and Female Jack ( 1 Pair )
- Digital Multimeter
- Breadboard ( X1 )
Step 2: Build the Circuit in Breadboard ( Just for Checking Purpose )
*** I have uploaded a code to the IC just to confirm that everything is working fine ***
There is a schematic attached with this step. Do follow the circuit diagram and make your own. It is very easy. the pictorial diagram of the complete circuit is also given. You can watch the part 1 video to get an idea of this. When everything is working fine then remove all the components carefully because these components will be used to make the PCB.
Step 3: Design the Stripboard Layout
It is always a good idea to preplan the stripboard before sarting soldering. It makes life a lot easier. So to make the stripboard layout we will be using a software named 'Fritzing'. There you will have all the components in the panel. Just drag and drop item in the stripboard and make the required connection.
I have done my plan. And finally it looks okay to move on.
Step 4: Make the UNO!
Now Calm Down!! It's time for some soldering. There are lot of components to taken care of during soldering the complete veroboard. For this work you should have the following items for a smooth flow -
- Min 30W soldering iron with a good tip
- Soldering wire
- Soldering flux
- De-soldering wire
- Wet cloth ( To clean the tip of iron )
- A small fan ( To remove the fume of solder )
- A helping hand with soldering stand
If you don't have any of these, don't panic. You can still make this thing. Actually I didn't used all of these. But after finishing the work I realized this tools could have been handy. If you can give some extra time and patience then it will be done for sure. Some tips which can help you -
- Always use the continuity by using digital multimeter
- Use less amount of solder. Don't put big lump of solder
- Always use a fan to suck the fume out. It's very harmful
- Always double check before soldering a component on veroboard. Later it becomes difficult to remove and takes lot of time.
This is the soldering sequence I followed -
- 28 pin Ic base
- Male and female pins
- Xtal with capacitors
- Reset with resistor
- Power led and pin 13 led
- 7805 with caps
- Dc jack
- Power rails
- Extra wiring
After completing it's time for programming.
Step 5: Program the IC
Hard part is done. it's time for program our UNO. I will highly recommend to watch the Part 3 of our tutorial for this. The link is given in the introduction of this instructables. Follow the steps -
This is the USBASP AVR programmer that we have used. It cost us around 3 dollars.
Now the six pins are VCC, GND, MOSI, MISO, Reset, SCK. Same pins are there in the Atmega328P IC as you can see here. Now, you just have to connect the corresponding pins from USBASP to the Atmega328P. From the 2nd video of ours, you will know that there are 6 pins required. The PCB was made in that way because it will be easier to connect the jumpers. After completing the connections, insert the USBASP device into your laptop.
1. Open Device manager and Find the device (USBASP) there.
2. You will see a yellow exclamatory mark beside it because the driver is not installed.
3. Now here is a tricky part. The driver installation is not that simple because this device doesn’t have any digital signature and by default, your system will not allow the driver to be installed, for obvious reasons. So you have to tweak some settings and then the driver will be installed and the yellow mark will be gone. To do this, go to the link given below and follow the steps. When it’s done come back and proceed.
Here is the software I have used - https://drive.google.com/file/d/0Bx5xjjFUKQ-TMkZHQ...
1. Download and Install it.
2. When it is done, open the software. Select the programmer as USBASP that is there in the bottom of the list.
3. Select the option ‘Select the MCU’ in the MCU part and click on Detect. It will detect the original chip number that is connected. For me it is Atmega328P.
4. Now you have to find the hex file of the Arduino code. Write the code in the IDE, save and compile it. When the compilation is complete, don’t close the IDE, just press Windows+R. This will open a run window. Type in ‘%temp%’ and enter.
5. Sort the files according to time and find the lastly made folder. Inside that folder, you will see a file named exactly the same as the Arduino code that you wrote. The extension will be .hex. Copy the file to your desktop.
6. Now again switch back to the programmer software.
7. Drag and drop the file in the flash section.
8. Click on GO with the ‘write option selected’. You can see the progress in the bottom.
9. When it is done, you will see the new LED blink pattern that you wrote in the IDE. Then just remove all the wiring and just connect the power to the board and you will see the new code executing. In my case, it is ON for 1 sec and OFF for 0.5 sec.
In this way you can program your UNO. And with this Our tutorial is completed. Hope you have liked our instructables. If yes then please do consider subscribing to our youtube channel because it motivates to work more and more. Channel link - www.youtube.com/c/being_engineers1
You can visit our site for more info - www.being-engineers.com