Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to "verify" your details, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.
 Entire forum ➜ Electronics ➜ Microprocessors ➜ Minimal circuit for Atmega328 processor (shows wire-wrapping)

Minimal circuit for Atmega328 processor (shows wire-wrapping)

Postings by administrators only.

Refresh page


Posted by Nick Gammon   Australia  (23,070 posts)  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

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




Tip:

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:

http://en.wikipedia.org/wiki/Wire_wrap

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).

Circuit


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):

http://www.adafruit.com/products/46
http://www.ladyada.net/make/usbtinyisp/

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

http://www.adafruit.com/products/70

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.




[EDIT]

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
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.


62,246 views.

Postings by administrators only.

Refresh page

Go to topic:           Search the forum


[Go to top] top

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