Saturday, 17 August 2013 16:51

Minimal Arduino with 8MHz internal clock

Build your own DIY Arduino board with only one passive component, it is very easy and simple. This is probably the most minimal ATmega328 based Arduino.
Part list
  • ATmega328
  • 28 pins IC socket
  • 10K resistor
  • Strip board 
Shematic diagram and PCB
Minimal Arduino is similar to my previous DIY Arduino board, schematic and PCB as shown in Fig 1.
Fig 1. Minimal Arduino schematic diagram and PCB
Burning the bootloader
You must burn the bootloader onto the ATmega328.You can do this using an Arduino board as an in-system program (ISP).
  • Upload the ArduinoISP sketch onto your Arduino board
  • Download this hardware configuration archive:
  • Create a "hardware\breadboard" sub-folder in your Arduino sketchbook folder if you don't have the "hardware\breadboard" folder
  • Extract the archive to "hardware\breadboard" sub-folder as shown in figure below
    Fig 2. Breadboard hardware configuration archive
  • Restart the Arduino software. You should see "ATmega328 on a breadboard (8 MHz internal clock)" in the Tools > Board menu
    Fig 3. Select  board
Wire up the connection as shown in figure below
Fig 4. Using an Arduino board to burn the bootloader onto an ATmega microcontroller
Select Tools > Programmer > Arduino as ISP
Fig 5. Select programmer
Select Tools > Burn Bootloader to start burning bootloader
Fig 6. Burn Bootloader
You may facing problem (Expected signature for ATMEGA328P is 1E 95 OF) as shown in figure below. This problem occured because of using diffrent ATMega328 chip
  • ATMega328-PU chips signature = 1E 95 14
  • ATMega328P-xx chips signature = 1E 95 0F
 Fig 7. Error while burning bootloader
To resolve the signature issues, replace 0x1E 0x95 0x0F with 0x1E 0x95 0x14 as shown in figure below. It is advise to comment the previous signature and add a new signature to the avrdude.conf file. Restart the Arduino software & start burn the bootloader again
Fig 8. avrdude configuration file
You may facing another problem due to the ATMega328 program with external clock previously. To resolve this issue, use an crystal & two capacitors as the clock source temporary.
Fig 9. Error while burning bootloader due to missing clock
If all goes smoothly, you are ready to upload sketch
Upload sketch
Thre are few ways to upload sketch
  1. Using a new USB-to-serial convertor
  2. Using FTDI USB-to-serial convertor from Arduino board, you remove the microcontroller from the Arduino board
  3. Using the Arduino board, remove the old microcontroller and place your new microcontroller to the Arduino board
  4. Using the Arduino as an ISP, the Arduino must preloaded with ArduinoISP sketch as mentioned above
Using FTDI USB-to-serial convertor from Arduino board, notice that the microconroller is removed from the Arduino board
 Fig 10. Using an Arduino board to upload sketches onto an ATmega microcontroller
Using Arduino as an ISP, this is the same connection to burning bootloader. Make sure you had select "Arduino as ISP" as the programmer as shown in Fig. 5
Fig 11. Using an Arduino as ISP
  • After making the connections, select  "ATmega328 on a breadboard (8 MHz internal clock)" in the Tools > Board menu as shown in Fig. 3
  • Click on Upload icon to start uploading sketch
You may facing wrong microcontroller issue, you can follow the method as shown in Fig. 8 to fix the problem
Wrong microcontroller found 
Read 46175 times Last modified on Sunday, 12 June 2016 10:56
Back to Top