Populating and Programming an Arduino Pro Mini

I decided to try making an Arduino Pro Mini at home. Being done, it's not worth it. You can buy one for a dollar more than you can make them, and it took awhile to populate. Although, it's "fun."

This project was also a chance for me to test the Spying-Stalactite I built.

I've enjoyed it. It allows me to reflect on my strategy while populating boards. It's simply a drop down with some high-powered LEDs (~2500 lumen), heatsink, and coolant fan. It has a hole for my iphone to do the recording. Cheap and simple. Although, I need to diffuse the light, as you might see by the video that it washes out the details of the project. Also, I'll add a few more lights and do away with the tungsten lamp, since the iphone is constantly in a white-balance battle as I move infront of the mixed lightsources.

I populated this board; everything came out fine (although, it was much more difficult trying not to block the camera with my head). I popped it into Atmel studio and it read out the device voltage and signature. Of course, I bricked it, as I seem to do a lot.

My next project is a Fuse Doctor. :)

I had ordered the boards from OSHPark and had planned on making three. So, I populated another and took some time programming it. I've outlined my steps below:

1. Hook up the AVRISP MKII

2. Open Atmel Studio. Go to Tools --> Device Programming.

3. Setup:

Tool: AVRISP mkII

Device: ATmega328P

Interface: ISP

Click apply

4. Read Target voltage (it should be ~5V). Read Device Signature.

6. Open boards.txt that comes with Arduino (\Desktop\arduino-1.0.3\hardware\arduino\boards.txt).

7. Scroll down to the area marked:

8. Pull the programming information for the board from this area. Now, I've bricked a few boards, but I think I've figured this one out. When programming this board with the MKII and Atmel Studio, you should follow this order.

1. Set the fuses.

Extended: 0xFD

High: 0xDA

Low: 0xFF

(Double check the board file to make sure I didn't make typos)

Hit "Program"

2. Upload Bootloader.

The bootloader for the 5v, 16mhz Arduino Pro Mini (which is what I built) is ATmegaBOOT_168_atmega328.hex(Desktop\arduino-1.0.3\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex). It's important to note that the 3.3v and 5v versions use different bootloaders.

Go to the Memories tab

Hit the browse ellipsis.

Select the "ATmegaBOOT_168_atmega328.hex"

(Double check the boards file to make sure I'm not screwing you up).

Hit program.

3. Set Lock Bits.

Go to the "Lock bits" tab.

Check the boards.txt file for Lockbit number

Lockbit: 0xCF

(Double check the boards.txt. I don't take blame for bricked boards :P).

Hit "Program"

9. Upload the Blink Sketch; the LED by the reset button should blink.

10. Let me know how it went. If you bricked a chip using these instructions, let me know so I can modify them quick.

Now that I'm used to the camera and stalactite, I plan to annotate my next board for tips on working with 0402s.