I required a programmer to program bare AVRs (ATtiny85s and ATtiny84s,) so, In my infinite spendthriftyness, I bought this FTDI breakout from Sparkfun. What is this? Well, I assumed it was an AVR programmer. I was incorrect. It can reprogram AVRs, however it cannot burn bootloaders or change fuse settings as is (the version from ladyada can, and with precious little modifications.) Being the same price, I made the wrong choice.
Anywho, here’s how you get it to work. I also ordered (fortunately) a ATmega328p from Sparkfun with the Optiboot Bootloader. So, essentially, it’s like they yanked the chip out of a new Arduino Uno. Not bad for $5.50. So we take this, plink it down on a breadboard like shown below, then get to wiring it up.
The folks at sparkfun were nice enough to put a sticker on the ‘328p labeling the pins. Hook it up to the power (VCC, AREF, VREF) and ground (GND) busses. Take a (over 500 ohms) resistor, and plug it in from RST to the ground bus. Take a resonator, and connect the middle lead to ground, and the other two leads to XTAL 1 and XTAL2. Now we’re ready for the part that took me eons EONS to figure out: how to wire up the damn FTDI adapter.
It has six sockets. DTR; RXI; TXI; 3V3; CTS; GND. I looked all over for a clear explanation of what goes where, and never found it. I assume everyone is expected to just know or use trial-and-error. Don’t fret, here’s exactly how.
Connect DTR to arduino RST pin, with a capacitor (100nF, 22nF, it’s important one’s there, the value not so much.)
Connect 3V3, to power bus, GND to ground bus (you already knew this.)
Connect CTS to the power bus (this might have not been obvious.)
Connect TXD to Arduino pin 2, and RXI to Arduino pin 3 (NOT Pins 11 and 12, oddly.)
You should be ready to rock and roll. Now you can take the next step, and use this as an In System Programmer, and burn bootloaders and otherwise program other chips. VERY useful.
[GuardianOfLight] ArduinoISP tutorial coming soon…