Arduino Bootloader DIY vs Professional

Published by MKDas on

Arduino is an open-source electronics platform based on easy-to-use hardware and software. This is also one of the most common and popular electronics proto-board with plug & play connectivity with Atmega328p micro-controller. But one of the drawback is you have to use the total board with your system or project. If you want to use only the Atmega328p micro-controller then you have either remove the MCU from the Arduino board or you need a bootloader. In this article, we are going to learn about this bootloader.

Disclaimer: Electricity is always dangerous. Proper skill is required to work with electricity. Do work with your own risk. The author will not be responsible for any missus or harmful act. Most of the projects published here are opensource; anything copying and directly posting on your website and then claiming it as your is a prohibited and nonsensical act. A project can be open-sourced, but to make a working product needs lots of efforts. As products make money from a business, products are not free, but knowledge will always be free. If you want to grow your business using our products, you should pay for that. Thanks.

What is an Arduino bootloader?

Microcontrollers are usually programmed through a programmer unless you have a piece of firmware in your microcontroller that allows installing new firmware without the need of an external programmer. This is called a bootloader. If you want to use the full program space that means flash of the chip or avoid the bootloader delay, you can burn your sketches using an external programmer. But using a bootloader is much easier than using a programmer. Once the bootloader is burnt to the MCU, only serial data is required to upload the sketches which is much easier to do. Even a simple USB to serial converter can do that.

Now, to burn the bootloader, you’ll need to buy an AVR-ISP, USBtinyISP or ParallelProgrammer. These are not quiet easy way. But you can do this job using a simple bootloader circuit like this:

Bootloader Circuit diagram:

Arduino Bootloader circuit

The circuit is very simple. All you need an Arduino board and the micro-controller Atmega328p along with a crystal of 16MHz, two 22pF ceramic capacitors and a 10K resistor. Once the circuit is made, upload a sketch to your Arduino first.

Then upload this sketch to a normal Arduino UNO. Once uploaded, goto tools and select:

After selecting the programmer as Arduino as ISP, burn the bootloader. Make sure the MCU atmega328p is connected as the circuit diagram. It will take some time to burn bootloader.

Once the bootloader is burnt to the micro-controller, you are free to use any program from your Arduino IDE to upload to the micro-controller. To do that reset the programmer to default Arduino mkll programmer, select the port and upload….!!!!

What’s next?

Besides using this previous circuit diagram, you can use one of our product Arduino Bootloader. This bootloader is very easy to use and also having ICSP programming option. You can keep your micro-controller in your control circuit and upload the Arduino sketch through this bootloader.


If you are interested to use this product, you can buy the Gerber file and print PCB from any manufacturer. Or if you want to get the PCBs from China you can order to us. We can directly ship the item to your address from China.

Gerber File:

JLC PCB window

Buy the Gerber file with PayPal: $5.0 only

Note: Once the payment is verified, the Gerber file will be sent to your given email address.


Arduino bootloader is free and open-sourced, but making a complete product type user-friendly board needs lots of efforts. You can use the free circuit but if you want to use the complete one or make your own you should pay for that. Because you are getting benefits from that.

Anyway, I hope you enjoyed the article. If you need any help please let me know. Thanks.


Mithun K. Das; B.Sc. in EEE from KUET. Blog:


Leave a Reply

Your email address will not be published. Required fields are marked *