Revision as of 12:16, 23 March 2012

FTDI-atmega Development Board

The FTDI-atmega Development board is a general purpose development board. The PCB has an USB connector and a 20-pin IO connector. The brains of the PCB is an ATmega168 chip.
The FTDI-atmega development board comes completely assembled and ready to use. It can be ordered from the Bitwizard Catalog.

Arduino Pinout

When using the Arduino IDE, the layout of the header is as follows:

1

GND

GND

A3

A2

A1

A0

13

12

11

10

9

8

7

6

5

4

3

2

V+

V+

20

Unlike a regular arduino, there are 2 onboard LED's, connected to pin A4 and A5. You can use those LED's with digitalWrite(A4,HIGH) for led 4, or A5 for led 5. This means pin 13 is free for regular use.

Pin 0 and 1 are used for the COM interface just like a regular arduino.

Pin 3, 5, 6, 9, 10 and 11 support PWM (analogWrite), just like a regular arduino.

Note that the FTDI_ATmega runs at 20MHz, and the arduino runs at 16MHz. It should be possible to tell the arduino environment that your chip runs at 20MHz, as some people run their arduino at 20MHz.

Jumper settings

SV1 (next to the AVR): ICSP-Enable.
1-2: ICSP enabled, SS connected to reset (programming the MCU over the 6-pin connector is enabled)
2-3: Default: SS connected to pin PB0 (MCU can function as an SPI slave or master, or as an ICSP programmer)

SV4 (next to the LEDs): Power supply selection.
No jumper: 3V3 > 90mA, extra regulator needs to be mounted.
1-2: Runs on 5V from USB
2-3: Runs on 3V3 from the FTDI chips internal regulator.

Use as a programmer

The ftdi_atmega can be used as a programmer for ICSP programming other Atmel processors.

The Arduino way

The ftdi-bitbang programmer-driver for avrdude is not included in the standard avrdude program. The reason is that the patch uses the ftdi library FTD2xx and not the open source libftdi.

In the avrdude bug tracking system another patch is doing the rounds, but that one is really slow because it doesn't exploit the ftdi's synchronous mode.

A precompiled avrdude version can be downloaded here: http://www.bitwizard.nl/avrdude.zip . The zipfile contains "quick and dirty" instructions to replace the avrdude binary in /usr/bin with a script so that when "arduino IDE" calls it, the program gets programmed into the board.