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