Buildning a small Arduino clone
Here I will build a really small Arduino clone. A MCU a Atmega168 is used. To save space and solder the device is preloaded with the Arduino bootloader, before the other components are mounted. 1 - Program the bootloader. -The Mega168 is placed in the socket on a Arduino Duemilanove, replacing the original Mega328. -An Avrisp mkII programmer is attached to the programming header on the Duemilanove, to this card I also connect an external power supply. -Windows XP is booted in Virtualbox on my Ubuntu system. -The Avrisp is connected to the computer. Devices/USB/Atmel Avrisp mkII in Virtualbox gives the virtual XP machine access to the programmer. -AVR Studio is launched, then we follow the instructions here: http://www.arduino.cc/playground/Learning/Burn168. In AVR Tools, the following is made: -Click "Tools/Program AVR/Auto Connect". On the main tab, select device "ATmega168", click "Read signature" and check that it matches. -Click "Settings" in the Programming Mode and Target Settings" and set "ISP Freq" to 100.0Hz, then click "Write". -Goto Program tab. Click the dotted box to the right of "Input HEX file" in the "Flash"-box. Select "ATmegaBOOT_168_diecemila.hex" (in the folder "Program/Arduino-00xx/hardware/arduino/bootloaders/atmega"). -Change to Fuses panel. Set fuses to 0xF8 (extended), 0xDF (high) and 0xFF (Low)). Click "Program". -Change to Lockbits tab, set fuses to 0xCF and click "Program". -Change the ISP-frequency to 500kHz, then back to Program tab, click Program button in the Flash box. With a Linux system and Avrdude, the Bootloader can be loaded with the following command: avrdude -p m168 -c avrispv2 -P usb -U flash:w:/arduino-0022/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex -Disconnect the power supply, remove the programming connector and move the usb-cable from the Avrisp to the Duemilanove. -Start the Arduino IDE, load the example Blink Led and upload it to the board. Make sure the board is set to Duemilanove with ATMega168 in the Tools/Board menu. If the L-led blinks, all is ok. -Disconnect the Duemilanove, remove the Mega168. -Step 2, building the device. Here is a simple, cheap and ugly Arduino clone: The schematic is taken from the Breaduino project, http://www.appliedplatonics.com/breaduino/