Absolute Most Bare Bones Arduino - Atmega328P Using Internal Crystal on Breadboard




Introduction: Absolute Most Bare Bones Arduino - Atmega328P Using Internal Crystal on Breadboard

About: We sell DIY kits for electronics. Please check out our website: http://www.jouletime.com/

A breadboard Arduino will require an Atmega328P controller for these instructions. Note the “P” at the end of the name. You cannot use an Atmega328 because it has a slightly different device id number. It will require a different board configuration. Instructions for that are outside of this tutorial.

Go to the Arduino tutorial website to get the board file to add to your sketchbook folder, Breadboard Tutorial Site.

You download the file, Breadboard.zip. Unzip the text file, boards.txt. If it is not in a folder called “Breadboard”, then create the folder and move the text file into it.

The photo shows the ultimate bare bones system. Power, ground, and one digital out. Anything less and what is the point.

Please note the cool BoostMicro power supply. It provides a steady 5 volts even as the batteries drain. It is available from Amazon, BoostMicro - Assembled Link.

Step 1: Move the File to Your Sketchbook

Find the sketchbook folder for your Arduino programs. This folder is usually listed in the preference menu. Go to the top toolbar, select Arduino, scroll down and pick Preferences... The popup window should show the file path to the sketchbook folder.

The photos shows how this would look on MacOSX and Windows XP.

Step 2: Hardware Folder Holds New Board Configurations

Open the sketchbook folder and look inside for a “Hardware” folder. If there isn’t one, then create a new folder and name it Hardware.

You can also find the folder by searching your computer hard drive for Arduino. The files are normally in your Documents folder.

Open the Hardware folder on your desktop, and close the Arduino software.

Move the Breadboard folder into the Hardware folder.

Step 3: Re-launch Software to Get Breadboard to Show

Re-launch the Arduino software. Click on the top toolbar, select Tools, and scroll down to Boards menu. At the bottom of the list, you should see a choice for “Atmega328 on a breadboard (8 Mhz internal clock)”. Select this option.

Step 4: Use This Board to Burn Bootloader

Now when you burn bootloader, it will set the fuses to look for the internal clock instead of the external clock.

Note the images for the Breadboard tutorial on the Arduino website do not show a capacitor in series with reset. I use a 100nF capacitor to help with the bootload and serial communication process. See this link for more discussion, Capacitor on DTR/Reset.

Be the First to Share


    • Stone Concrete Cement Contest

      Stone Concrete Cement Contest
    • Pets Challenge

      Pets Challenge
    • Leather Challenge

      Leather Challenge



    6 years ago

    avrdude: Yikes! Invalid device signature.

    Double check connections and try again, or use -F to override

    this check.

    what do i do , i am using 1.0.6 on windows 10


    6 years ago


    suggestion. led needs a current limiting resistor, though it might be for demo purpose only, but often it misleads. My humble opinion.


    Reply 6 years ago

    The current on the pins is limited to around 20mA. It should be safe to skip the resistor for most LEDs.


    Reply 6 years ago

    I am no expert but everywhere i read, resistor is must, not only to save led but chip itself, I have drawn by mistake 100ma from shiftregister which says to have max current around 56ma (thus proving chip itself may not controll current).



    7 years ago on Introduction


    Is this the correct way?

    Even on the arduino tutorial this doesn't bring the board in the IDE.

    In other words Tools\Board there is no “Atmega328 on a breadboard (8 Mhz internal clock)” to select

    I am using Arduino IDE 1.0.5-r2

    Am I doing something wrong?



    Reply 7 years ago on Introduction


    Just a few questions to confirm the details.

    Did you download the zip file from the Arduino website?

    Did you unzip the file and move it into the breadboard folder?

    When you opened the Arduino software and went to the Tools\Board menu, did you scroll down to the bottom of the list? The list can be longer than can be viewed on the screen. It may not be shown unless you scroll down the list.

    Otherwise I would need a screenshoot or two to better see the problem.

    Good luck,

    - Frank