Make a permanent circuit board for your project to save space.

f01c1623cf700b92e10ccd12dd420eb5.jpeg

When you make a project using Arduino, it usually contains a lot of jumper connections on the breadboard and the project will not be a permanent one. If you want to make any other project using that Arduino, you will have to remove all the connections made on it and to rebuild the same project, you need to start over again.

Shrinking Arduino projects makes them smaller in size, appealing, and permanent. So in this post, I will be showing how to shrink Arduino projects and make life easier!

How Does It Work?

The basic idea of shrinking an Arduino project is to make a permanent circuit board for it. This is done by programming an Atmega chip using an Arduino. To program an Atmega using Arduino, first of all, we need to make a DIY programmer and burn bootloader. To use your Arduino to burn a bootloader onto an Atmega, you need to follow a few simple steps.

Steps to Shrink Arduino

  1. Open the Arduino IDE
  2. Open the ISP sketch (from Examples) and upload the sketch to your board by selecting the correct Board and Serial port
cb3163d3b1efa688ad93c43e511802b2.jpeg

3. After successful uploading of the sketch(ISP), wire your Arduino board to the target board(atmega8/16) as shown in the diagram below.

(Note for the Arduino Uno: you’ll need to add a 10 uF capacitor between reset and ground. After uploading the ISP sketch)

365163995234e5e0d8b793e26035d3f5.jpeg

ARDUINO PIN  |  ATMEGA8/16 PIN

SS (Pin 10)  |  RESET (Pin 1)
MISO (Pin 11)  |  MISO (Pin 17)
MOSI (Pin 12)  |  MOSI (Pin 18)
SCK (Pin 13)  |  SCK (Pin 1)
VCC (Pin 7)  |  AVCC (Pin 20)
Gnd (Pin 8)  |  Gnd (Pin 22)

4. Select the Tools > Board menu that corresponds to the board on which you want to burn the bootloader. I am using Atmega8 as target microcontroller to shrink Arduino, so I will choose board as Arduino NG or older w/ Atmega8.

1f6d44cc7bafba42ecc73a79f13d710f.jpeg

5. Select Arduino as ISP from Programmer menu.

6. Check that everything is connected properly and click Burn Bootloader > Arduino as ISP command.

2aaa6bc85814180bcf8fd494a799e647.jpeg

7. After a while, you will see the message “Done burning bootloader”. Then you can upload your codes using the Arduino IDE to your Atmega8 chip.

8. Try uploading File>Examples>Basics>LED blink sketch to Atmega8 via Arduino and if the LED blinks then your board works properly. NOTE: While uploading the sketch via ISP, instead of simply uploading the sketch, select upload using programmer(Ctrl+shift+U).

bdbc6fdc911aaa13cd64fb80ff8a675f.jpeg

9. Unplug the Arduino programmer and plug your standalone Arduino(Atmega8 chip) to an external power supply(5v).

c40171f0f8cfa46d1407451c681596c8.jpeg

This is a breadboard version of the programmer. Here, you need to make all the connections on the breadboard again and again whenever you want to program your chip. So I made a permanent programmer board.

51b17ac125012aa7751003a8e6887ae7.jpeg

PCB Layout for the programmer

2dd35a3bc8a0cde826bd09d4e09bbfb1.jpeg

Here is one of my Arduino projects that I shrunk.

67c28ed811d8adc8beb3a7a74e5e1ca3.jpeg

Arduino boards are versatile tools for making electronics projects. Now you can shrink Arduino projects very easily. I hope you find this useful!

67c28ed811d8adc8beb3a7a74e5e1ca3 (1).jpeg

Arduino boards are versatile tools for making electronics projects. Now you can shrink Arduino projects very easily. I hope you find this useful!

Mayoogh Girish
Mayoogh Girish is a electronics engineer, and a DIY Maker by passion. He is interested in open source technology.