Arduino+Duemilanove

toc =Arduino= Arduino is an open-source prototyping evaluation board. There are series of Arduino evaluation board each with its specific features. Arduino uses Atmel MCU. Selection of any particular MCU will based on the selection factors discussed before. Thus, we need to study of MCU features in detail. We selected Arduino's latest prototype board Arduino Duemilanove whose feature summary is given below.

Summary of features

 * Microcontroller || ATmega328 ||
 * Operating Voltage || 5V ||
 * Input Voltage (recommended) || 7-12V ||
 * Input Voltage (limits) || 6-20V ||
 * Digital I/O Pins || 14 (of which 6 provide PWM output) ||
 * Analog Input Pins || 6 ||
 * DC Current per I/O Pin || 40 mA ||
 * DC Current for 3.3V Pin || 50 mA ||
 * Flash Memory || 32 KB ( ATmega328 ) of which 2 KB used by bootloader ||
 * SRAM || 2 KB ( ATmega328 ) ||
 * EEPROM || 1 KB ( ATmega328 ) ||
 * Clock Speed || 20 MHz ||

Evaluation
This MCU runs at 20 Mhz with throughput of up to 20 MIPS. It definitely is enough for our application and haptics implementation as we require at least 1 MHz refresh rate.
 * Microcontroller speed (MIPS, clock speed for communications channels, etc.):**

It supports 32 KB flash memory of which 2 KB is for bootloader, therefore, there is 30 KB of memory available for storage. The available memory is enough for our project.
 * The memory sizes (program memory/ Flash, RAM, data EEPROM):**

There are total of 20 I/O pins, of which 14 are digital and 6 are analog. The 14 digital pins can be set to either be input or output. Also, 6 pins out of 14 digital for dedicated PWM output. We require at least 10 dedicated PWM and analog input pins since we are using 10 servos. Also, we would need some extra pins for collision sensors. Therefore, we need to use MUX and DEMUX to achieve our functional needs.
 * The number of I/O pins required:**

This particular MCU supports serial communication, such as through RS232. PWM requirements are discussed above already.
 * Peripherals needed (ADC, Input Capture, Output Compare, Motor Control PWM, SPI™, UART, etc.):**

The board's dimensions are 2.7x2.1 inch. This is a small PCB and is suited to practical purposes.
 * Physical Size (form factor/package):**

The operating voltage range is 7-12 V. Also, the Arduino takes 5 V input through analog input pins. We would be scaling circuit if the input voltage is not 5 V.
 * Analog Input Voltage Levels:**

Arduino uses its own functions but it is based on C language, which is our preference.
 * Programming Language:**

This evaluation board costs [|$45.99]. This is very well priced and well with in our budget.
 * Cost:**