Introduction: Arduino on a Breadboard With a FT232RL

After building a couple of projects with my UNO I wanted to play around with RF, but for this I needed a second board. A bit of research later I decided that 'Arduino on a Breadboard' was the way to go.

I'm not going to go into how to build the breadboard as there's plenty of tutorials on the net, this is more about the pain (at least for me) in getting it to work.

I sourced a FT232RL on Ebay, together with an ATMEGA328P-PU with the bootloader preloaded and built it as per the diagram. My diagram is no different to many out but it is a good idea to put the led on pin 13, which not all show.

When you first power the board via the FT232RL make sure you get a few flashes from the LED, if you don't, then this means the chip doesn't have the boot loader loaded (as I have read, but this wasn't a problem for me)

I'm using Windows 7 64bit and Arduino IDE 1.0.5. When I plugged the USB in windows picked up the comm port and I thought everything was ok. I opened the Blink sketch and proceeded to download it to the board. No matter what I tried I always got the following error message:

avrdude: stk500_getsync(): not in sync: resp=0x00
or
avrdude: usbdev_open(): did not find any USB device "usb"

I tried every board in the list, with and without 'Shift' Upload but nothing would work. The comm port was correct as the FT232RL always flashed 3 times. I even tried moving the comm port from 4 to 9 as people said this solves the problem, but it made no difference to me (not that I thought it would). I read try setting RTS on Close on the port settings and pulling leads on the reset pin and RX pin may work, not for me.

I read that the FTDI driver may be the problem, so I tried 2.08.30 which is the latest version and got the same problem. I then uninstalled the driver and tried 2.08.24 which everybody said was the way to go, but for me it made no difference.

I then read about OptiLoader and decided to give that a try. Again I tried every new board it gave me but still no joy.

By now I had wasted the best of a week trying every possible combination and I was at the point of nearly purchasing a USBTinyISP as I thought the only thing was to maybe re flash the chip. With all this testing I kept pulling the USB as I have read you will never get the sketch loaded until the chip has been reset. I had left the board powered for several minutes and then read someone suggesting try hitting upload and when it starts uploading hit shift upload. It worked, I couldn't believe the Blink program was running.

Feeling quite proud of my achievement I thought time reduce the 1 second delay. I changed the sketch, reset the board by unplugging the USB and tried the upload sequence again. It didn't work, I thought not to worry its a timing issue, eventually I will get it right. How wrong I was and I'll not tell you how many times I tried it.

So after thinking about what happened I tried to think of what was different when the upload worked and I remembered I had left the board plugged in for some time. So I reset the board and left it powered for 5 minutes. I then uploaded the sketch (without the shift key) and it worked ... progress!! I repeated the process this time only waiting 4 minutes and that also worked. To cut a very very long story short I managed to get it down to 3min 20sec, anything under this just gave the stk500_getsync error.

So to sum up, my USB is on comm 9 running 2.8.24.0 of the FTDI driver. The IDE is using the '[OptiBoot] Duemilanove or Nano w/ AtMega328'. At some point I may try the latest driver again, but finally its working, so I'm leaving it for now.

Hopefully my findings will help others or maybe its just me and I have duff FT232RL, but if anybody knows why I have to wait 200 seconds before I upload a sketch I would appreciate it.