Intro: ArrDrownHo! - Easily Convert AVR to Arduino
Cap'n ArrDrownHo! is the lovechild of Ardweeny and Boarduino and he's here to commandeer your AVR ships. ArrDrownHo! inherits pros of both and cons of neither. Pick up an AVR chip and start prototyping instantly on a breadboard! Want to replace that costly Arduino in your project with a cheap AVR, but don't know how? Use the simple plug-and-play ArrDrownHo! piggybacked onto the AVR to act as interface for programming and provide power.
I'll let the features of ArrDrownHo! do the convincing:
- On-board power regulator: Accepts 7-18V to power your AVR safely
- Serial communication pins: To connect USB-to-serial boards for communication with PC and uploading Arduino sketches
- 6-pin ICSP: To upload code or burn bootloader using a programmer
- On-board 16MHz crystal/resonator: For precise timing. Both crystal and resonator are comptible with board.
- Selectable power source: Choose power from 5V regulator, FTDI board or AVR programmer
- Breadboard and perfboard/veroboard compatible
- Tiny 1.6cmX4cm (0.65"X1.6") package: Takes only 1 extra row on a breadboard.
- Home fabrication friendly: No plated through holes!!!
- Power indicator LED
I made this when I wanted a simpler way to work with AVRs. Boards like Boarduino and RBBB used plated through holes which I couldn't make at home. Ardweeny required soldering pins to AVR's legs and provided very few features. So I combined the two and took the best of both worlds.
Here's a pretty bad video of it in action:
This can only be used directly with ATmega8, ATmega168 and ATmega328.
To burn bootloader or Arduino sketches, a programmer is required. You can check out my Instructable on how to make one.
For serial communication or uploading Arduino sketch to an AVR(with bootloader), a USB-to-serial converter like FTDI or ATmega8u2 breakout board is required.
Edit: Modified board so resonator can also be used for timing! If using crystal, middle pin for resonator can be ignored. If using resonator, no need to solder capacitors C1 and C2.
Step 1: Materials Required
- LM7805 power regulator x1
- 10uF 25v electrolytic capacitor x1
- 100uF 50V electrolytic capacitor x1
- 1N4001 diode x1
- 1K ohm resistor x1
- 10K ohm resistor x1
- LED 3mm x1
- 0.1uF ceramic capacitor(code: 104) x2
- 12-22pF ceramic capacitor(code: 12-22) x2
- 16MHz crystal x1
- Male header strip(can be replaced with longer ones) x1
- Female header x1
- Jumper x1
- Very thin wire for vias
- Double sided copper clad board
- Stuff needed for fabricating board like etchant, drill, saw etc.
- Soldering Iron
Step 2: Fabricate the Board
Download the eagle files on the Intro page of this Instructable. The board is double sided and plated through holes are optional. So you can send it to fab house or make it yourself. Print, etch, cut, drill and you're done. Apply tPlace silkscreen using toner transfer.
Step 3: Solder Vias
This step is required only if you fabricated the board yourself. If the board has plated through holes, you can skip this step.
Insert a thin wire in all the vias marked in the image and solder it on both sides. Cut off excess.
Keep in mind to keep all solder joint's height on bottom side as less as possible, except for male and female headers, Why? Check out the last step "Step 8: Imperfections in design" for explanation.
Step 4: Solder Resistors
This is a slightly unconventional hack for reducing number of vias and save space. Again, this is not required for boards with plated through holes.
The 2 resistors have to be soldered in a vertical position. Make sure the base and the long lead are aligned as shown in the images. Solder on the bottom side as usual. But solder the long lead on the top side as well. This will act as a via.
Step 5: Solder the Rest
Start soldering all of the components except for male header pins. The images should provide enough information on polarity and soldering instructions for each component.
Cutt of 2x1 female headers for external power supply input.
Step 6: Solder Male Header Pins
Some male headers have to be soldered on the top side and some on bottom. Solder joint height does not matter for these. But try to slip the plastic as far back as possible so maximum length is available at the bottom side and only a bit(but enough to create a good solder joint) emerges out of the top side. Or you can use longer headers for a better contact.
3 pin male header for power selection.
3x2 male header for ICSP connector.
6 pin male header for USB-to-serial board connector
3 pin and 4 pin male headers on one side
6 pin male header on opposite side
Step 7: Using ArrDrownHo!
Using ArrDrownHo! is extremely easy. Just insert AVR into breadboard and push ArrDrownHo! on top of it, making sure pin-1 of AVR matches with RST pin of ArrDrownHo!
If uploading Arduino sketch, the Arduino nomenclature for pins are provided on the board edges. You can refer to ATmega8 and ATmega168/328 pin mapping diagrams as well. If your AVR does not have a bootloader, connect programmer(match the dot) and burn bootloader from within Arduino IDE. Now either upload your sketch using "Upload Using Programmer" option or connect a USB-to-serial board and simply select "Upload".
Selecting power source:
Use a jumper to select the power source. If you are providing power through voltage regulator, use jumper to connect rightmost 2 pins. If you are using power from FTDI board, use jumper on 2 leftmost pins. Remove jumper if powering using programmer. Do not keep jumper connected if programmer is set up to provide power. If you need to provide power using another source while using programmer, remove the jumper inside the programmer(available on most of 'em) which cuts off power supply in it's VCC line.
Step 8: Imperfections in Design
The foremost is that to make it possible to fabricate at home, it has 12 vias. 2 more vias are created by soldering one lead of resistors on top and bottom sides, because I had run out of space to add more vias.
Another imperfection is that the soldering on bottom side has to have as little joint height as possible. Shorter joints means less distance between AVR and ArrDrownHo!'s bottom. This is so the male headers get more insertion length into the breadboard creating a better contact. With a bit of careful soldering, I managed to get all soldering joints done with height under 1mm. You can use longer male headers for better contact with breadboard.
There is no button for resetting the chip. The only way to do it manually is grounding the RST pin for a moment.
Both of these imperfections can be removed with SMD version of ArrDrownHo! which is under works currently. I have even more features in pipeline for it. Stay tuned...