Skip to content

Instantly share code, notes, and snippets.

@rubeniskov
Last active February 25, 2025 15:49
Show Gist options
  • Save rubeniskov/1b6daeed54efa052042f73c6abe46d38 to your computer and use it in GitHub Desktop.
Save rubeniskov/1b6daeed54efa052042f73c6abe46d38 to your computer and use it in GitHub Desktop.

How to programming Arduino through ICSP using a FTDI 232R

Add the follow entry to your avrdude config

vi ~/avrdude.conf
programmer
  id    = "arduino-ft232r";
  desc  = "Arduino: FT232R connected to ISP";
  type  = "ftdi_syncbb";
  connection_type = usb;
  miso  = 3;  # CTS X3(1)
  sck   = 5;  # DSR X3(2)
  mosi  = 6;  # DCD X3(3)
  reset = 7;  # RI  X3(4)
;

ArduinoIDE

If you want to show this programmer in your ArduinoIDE

Add the following entry into your ArduinoIDE programmers.txt config

MacOS

sudo vi /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/programmers.txt 
# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
# Note: pins are numbered from 1!
ftdi.name=FT232R connected to ISP
ftdi.protocol=arduino-ft232r
ftdi.program.tool=avrdude

Restart ArduinoIDE and you should see in programmer list a new entry

ARDUINO-ID-FTDI-PROGRAMMER

Connection

Arduino Uno/Leonardo

Arduino Pro Mini 168p

Upload using avr in terminal

avrdude -v -V -pm168p -carduino-ft232r -Uflash:w:${FILENAME_HEX}:i

Troubleshooting

MACOS

You probably have installed FTDI to be detected as UART, then you have to unload the kext to free the device

http://koblents.com/Ches/Original-Work/Month-Nov-2015/171-Unloading-FTDI-drivers-on-a-Mac-for-libftdi/

UNLOAD

sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext

RELOAD

sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext

ioreg -lp IOUSB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment