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
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
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
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
8 Comments
Question 2 years ago
Dear Mr. tomheylen, I have some knowladge about Arduino. I tried to upload Arduino program to ATMEGA328P . I followed your instruction carefully. But couldn't upload the program because of some error.I used CP2102 adapter. It is working. That is the one, I'm using to upload program to Arduino mini. The error massage :
Please help.
4 years ago
Thanks. It was very helpful to me.
7 years ago
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.
7 years ago
What are we running on the computer on the other side of the USB connection, the arduino isp?
7 years ago
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.
7 years ago
thank you sooooo much
7 years ago
Awesome, especially male or female header pins to pin 1, 2, 3, vcc, gnd. Thank you.
7 years ago
Nice !!