[Home] [Downloads] [Search] [Help/forum]

Register forum user name Search FAQ

Gammon Forum

[Folder]  Entire forum
-> [Folder]  Electronics
. -> [Folder]  Microprocessors
. . -> [Subject]  Minimal circuit for Atmega328 processor (shows wire-wrapping)

Minimal circuit for Atmega328 processor (shows wire-wrapping)

Postings by administrators only.

[Refresh] Refresh page

Posted by Nick Gammon   Australia  (23,002 posts)  [Biography] bio   Forum Administrator
Date Sun 15 May 2011 12:18 AM (UTC)

Amended on Sun 28 Jul 2013 02:07 AM (UTC) by Nick Gammon

Here is an example of an Atmega328 processor wired up on a circuit board with a minimal amount of circuitry:


Also see: http://www.gammon.com.au/forum/?id=11637 (How to make an Arduino-compatible minimal board)

The crystal shown is a 16 MHz resonator which doesn't need capacitors. You could also use a 16 MHz crystal and a couple of 22 pF capacitors.

Two of the capacitors are 0.1 uF for decoupling the power line (to reduce noise). There is also another 0.1 uF capacitor and a 10K resistor which provides a reset "pulse" when the RTS line is brought low during bootloading.

There is also an optional LED and current-limiting resistor (about 120 ohm) for testing.

The 6 pins on the left are the FTDI programming pins (black wire to black mark on board). The other two pins are for supplying +5V power (plus to red, minus to black).

The Atmega328 chip costs about $US 6.50. The other parts are a few cents each. A suitable prototyping board might be a couple of dollars.

This particular one was wire-wrapped but you could solder it just as easily (or use a prototyping breadboard):

Tools for wire-wrapping are here:

Used were:

  • WSU-30 wire-wrapping tool (about $US 32 from Digikey)
  • Wire-wrapping wire in three colours
  • Single-inline wire-wrap sockets for the capacitors, etc.
  • Dual-inline sockets (2 x 14 pin) similar to the one in the photo
  • Extra-long pin header strip for the FTDI connection

More information about wire-wrapping:


There is no voltage regulator, that could be added without too much extra trouble. Without it you just hook it up to a 5V supply (probably 3 x 1.5 volt batteries would be fine).


Below is the circuit for the board:

The chip pinouts are:

When I took the photo I hadn't added the ICSP (In Circuit Serial Programming) header. That lets you reprogram a chip which doesn't have a "bootloader" on it. If it has a bootloader then the FTDI interface is all you need, hooked up to a FTDI-to-USB cable.

To use the ICSP header you need a something like this USBtinyISP ($US 22.00 in kit form):


To use the FTDI header you need a a FTDI cable like this one ($US $20.00 ready to go):


The chip can be programmed using the Arduino IDE, in the same way as an Arduino.

Power consumption

Power consumption was measured at:

  • Awake: 19 mA
  • Awake with the LED disconnected: 17 mA
  • Asleep: 131 uA (that is, 0.131 mA)

"Sleep mode" can be entered to save a considerable amount of battery drain. The processor can be woken up by an interrupt, for example connecting a switch to one of the interrupt pins.

If low battery consumption is important you can reduce it by using a slower clock.

If you change the resonator over to an 8 MHz one (rather than 16 MHz) the figures are:

  • Awake: 13.8 mA
  • Awake with the LED disconnected: 11.4 mA
  • Asleep: 131 uA (that is, 0.131 mA)

So asleep it consumes the same amount, but awake the slower speed uses less power.

Also see http://www.gammon.com.au/forum/?id=11149 for how to save even more power by using the Power Reduction Register. Using that I got the sleep mode down to 25 uA.


1. Also see this about more power saving techniques: http://gammon.com.au/power

2. Added a diode to the reset circuit. Without it the reset line may spike up to 10V when RTS goes high, potentially putting the chip into "high voltage programming" mode.

Screenshot of this phenomenon:

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


Postings by administrators only.

[Refresh] Refresh page

Go to topic:           Search the forum

[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at HostDash]