Hello guys, in this tutorial we will discuss about Arduino circuit and share its Gerber files and bootloader info with you. We will construct the circuit using EasyEDA. Then we will convert the schematics into Gerber file. This PCB cannot be designed using homemade PCB fabrication method; therefore, we will use JLCPCB (China pcb manufacturer) to get professional PCB just in $2.
Arduino:
The pcb board consisting Atmega328p (8-bit microcontroller) as a brain of it, have 32Kb flash memory, 2Kb Sram, 1Kb EEPROM, 14 Digital input/output pins (6PWM), 6 Analog pins and 8Mhz internal clock.
external clock up to 20Mhz but commonly 16Mhz is used for better performance.
How to make your own Arduino:
Here we are making a simplified and powerful version of Arduino. The output will be same as original one. We will use basic components to make this board fully compatible with Arduino. Here is the list of components that will be used to make this PCB:
1) AtMega328p (SMD version)
2) CH340G Usb to TTL (For programming)
3) Micro USB socket
4) 100nF (104) capacitor
5) 22pf capacitor
6) 12Mhz crystal
7) 16Mhz crystal
8) 220-ohm resistor
9) 1k resistor
10) 10k resistor
11) 603 smd led white
12) Pin headers
13) Ams1117 3.3volt
14) Ams1117 5volt
Component’s description:
ATMega328p is the main microcontroller unit and 16mhz crystal with 22pf capacitors are used to generate proper clock.ch340g is used to program this Arduino chip using TXD and RXD pins,22pf capacitor with 12mhz crystal oscillator is used for proper clock in ch340g. Here we are using micro usb to power 5volt directly from mobile charger, 100nf capacitors as filters can reject the distortion frequencies (if generated). 1k resistor are used with TX and RX pins. 10k resistor is used as a pulldown resistor with reset tactile switch. Ams1117 regulator with some capacitors gives stable 3.3volts and 5volt output. Smd led indicates the power input.
Circuit diagram:
Circuit description:
Our Arduino board is a clone, to upload the code inside Arduino chip we need a Usb to TTL converter IC. Here in this board, we are using Ch340g, helps to upload program in Arduino using compatible software. Our board is simple but powerful and have more features. You have to install CH341 drivers from google in order to program this Arduino.
Burning bootloader:
We will upload Arduino UNO bootloader in this blank Atmega328p-au chip. To burn bootloader, follow these steps and watch our video on YouTube.
1) Connect the original Arduino Uno to your pc using cable.
2) Now upload the ARDUINO ISP code in this Arduino from examples.
3) Connect the 2nd Uno according to this schematic.
4) Just change the programmer to Arduino as ISP and from the tools option click on burn bootloader.
5) After burning bootloader safely, now we can use our own Arduino as original one.
Video:
Uploading first sketch using ch340g:
After burning bootloader successfully, we can upload any sketch in this Arduino microcontroller. Just plug the micro usb and select the board to Arduino and port accordingly.
Now set the programmer as AVR ISP. And upload the code. We can also upload the code using Android mobile. Arduino Droid offers same options on android devices as on Arduino IDE.
Try to Upload simple sketch first:
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
How to program Arduino using Android mobile phone.
Gerber files:
Download all the useful circuit diagram, Gerber files and schematics from here.
About JLCPCB:
JLCPCB is the one of the most popular PCB makers. Price is just $2 for 2,4 and 6 layer PCB. They just launched new purple solder mask, aluminum Pcb and 3d printing service in very low cost. Pcb quality is not compromised at any cost. Check them out right now from Here.https://jlcpcb.com/IAT
Sign up using this link and get $30 worth PCB coupon free, Order PCB and enjoy the service of JLCPCB.
Future Updates:
we will upgrade this board in terms of hardware by adding a Usb type c and WI-FI compatibility. Keeping the board size minimum using 4,6 layer pcb.
More Arduino circuits:
2) Arduino based Inductance meter.
3) Remote control electric board project using Arduino.
Think you enjoy my work, stay tuned. Follow us on Instagram (sagar_saini_7294) and hackaday.