Introduction: How to Connect a FT232RL Programmer to the Arduino ATMEGA328 for Uploading Sketches

In this mini Instructable you will learn how to connect the FT232RL chip to the ATMEGA328 microcontroller to upload sketches.

You can see an Instructable on this stand-alone microcontroller here.

Step 1: Parts List

Picture of Parts List

1 x FT232RL chip (got mine here)

1 x ATMEGA328P-PU microcontroller (got mine here)

Wires

USB cable

0.1 uf capacitor

Step 2: Connections for Uploading Sketches

Picture of Connections for Uploading Sketches

This instructable was made in a hurry and I think the connections in the image are wrong. Should be RX -> pin 3 and TX to pin 2.

FT232RL -> ATMEGA328

DTR via 0.1 uf capacitor > pin 1

RX -> pin 3

TX -> pin 2

VCC -> pin 7

GND -> pin 8

ATMEGA328

Pin 7 (+) -> pin 20 (+)

To upload sketches is the same as usual.

Make sure you select the right port.

If your ATMEGA328 is running at 8Mhz select “Tools → Board” and select “Atmega 328 on a breadboard (8MHz internal clock)”.

If your ATMEGA328 is running at 16Mhz select “Tools → Board” and select “Arduino Uno”.

Step 3: Tip

Picture of Tip

I have soldered the capacitor and the wires to my FT232RL chip so now it's very easy to use.

It is good practise to solder male or female header pins to pin 1, 2, 3 and to + and - so you can still upload and change the program on the microcontroller without having to remove the chip.

Step 4: Final Note

This mini Instructable was a response to a comment made in another Instructable named “$2 Arduino. The ATMEGA328 as a stand-alone. Easy, cheap and very small. A complete guide. “

Did you like this Instructable, click the Favorite button and subscribe.

See you in the next Instructable.

Thanks,

Tom Heylen

Comments

feddar (author)2016-09-17

feddar1-6-x.zip, 1-5-x.zip or 1-0-x.zip). I tried all 3 and none work.

I have managed to bootload using your other instructible, but that's it. This is what I get when I try to upload:

Warning: Board breadboard:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB

Sketch uses 928 bytes (3%) of program storage space. Maximum is 30,720 bytes.
Global variables use 9 bytes of dynamic memory.
/Users/fed/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C/Users/fed/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-A50285BI -b57600 -D -Uflash:w:/var/folders/lb/5zdjdm6153jcx_5nq32tt7gw0000gn/T/buildd5ae82e677127ac286f51de66781d807.tmp/Blink.ino.hex:i

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "/Users/fed/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf"
User configuration file is "/Users/fed/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/cu.usbserial-A50285BI
Using Programmer : arduino
Overriding Baud Rate : 57600
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file "/var/folders/lb/5zdjdm6153jcx_5nq32tt7gw0000gn/T/buildd5ae82e677127ac286f51de66781d807.tmp/Blink.ino.hex"
avrdude: writing flash (928 bytes):

Writing | ###########################################avrdude: stk500_recv(): programmer is not responding
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

grayl (author)2016-06-15

What are we running on the computer on the other side of the USB connection, the arduino isp?

Hoanpham (author)2016-05-06

I used the wrong library and struggled few hours ( 1-6-x.zip, 1-5-x.zip or 1-0-x.zip). Arduino IDE window caption display the current library as "1.0.5", then I select 1-0-x.zip, and follow the steps to burn bootloader, then upload sketch. Now all is working ok. Thank you.

ramazang (author)2016-04-14

thank you sooooo much

Hoanpham (author)2016-04-08

Awesome, especially male or female header pins to pin 1, 2, 3, vcc, gnd. Thank you.

AXR AMAR (author)2016-04-06

Nice !!

About This Instructable

8,781views

40favorites

License:

Bio: I like to make stuff in my free time. Especially programming, cooking, electronics etc. Lately I'm making tutorials about stuff I made the last ... More »
More by tomheylen:Long range, 1.8km,  Arduino to Arduino wireless communication with the HC-12.How to connect a FT232RL programmer to the Arduino ATMEGA328 for uploading sketches$2 Arduino. The ATMEGA328 as a stand-alone. Easy, cheap and very small. A complete guide.
Add instructable to: