[SOLVED] How do I program using a FTDl232

I would like to alter the program of a nano but it is built into a unit and the usb plug is obscured. I have a FTDl232 and I can reach the rx and tx pins of the nano. Is it possible to connect and use this?
I have just connected the Power, Gnd, tx and rx pins but don't get a successful load. After a long period I get

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xb2

10 times. Do I need other pins connected?

Examine how the CH340 on a Nano clone connects to the 328P and connect the DTR output of your FT232RL to the RESET input of the 328P through a 0.1uF cap.

1 Like

Just google it, it's a common operation.

To get your Nano into upload mode you need to provide a reset pulse.

The grey wire in the image in Uploading to Pro Mini - failure - #5 by LarryD needs to be connected to reset of the Nano. I hope that your FTDI adapter has the DTR signal broken out so you can connect it to the reset.

If your SPI pins on the 6 pin header of the Nano are accessible, you can use a programmer (real one or another Arduino and in the IDE use upload using programmer.

I am using another nano to test the operation, the nano loads a blink sketch using the USB port and recognises the FT232 when plugged in but using


or with a 0.1uF cap

fails to load the sketch.
I have now tried a second 232 with no improvement.
Do I use 'arduino as ISP' programmer in the IDE?
I have tried with this and with 'parallel programmer' neither of which works.
Is there something else you could recommend?

When using an external USB-serial (UART) adapter like FTDI232, the programmer type you select is ignored, it doesn't matter what type you select.

The selected programmer type is only important when you click "upload using programmer" instead of simply "upload".

It is not clear what you mean by this, please post a link.

Other options to consider to solve your problem:

  1. Use an external ICSP programmer like USBasp. This would connect to the 6-pin ICSP header on the Nano.
  2. Use another Nano or other Arduino as an ICSP programmer. You would need to load the Arduino as ISP code into that Nano and connect the ICSP headers together.

Shouldn't one of the options I have shown above succeed?

tools/programmer has parallel programmer as one of the choices.

how do I connect the ICSP headers?

I've no idea what piece of hardware that relates to! I thought you were saying you had one of these "parallel programmers".

Perhaps with a suitable 6-way ribbon cable with a 2x3 plug at each end.

When programming a ProMini with an FTDI, the connections are "straight across" --

Note that CTS is conn'd to GND and there's no 0.1uF.

It's the word 'suitable' that I am unsure about, if I put 2 nano's alongside each other do I connect the bottom left to the bottom left and similar pins or some other option?

I am trying to program a nano, I assume the DTR on the FTDI goes to the reset on the nano? I have tried your diagram with both my FTDI's on a nano that I know works through USB and both fail to load the nano.

Yes, DTR to RST.
And you GND'd FTDI's CTS?

Yes similar to my first picture in post 5 but with CTS connected to GND the pin between vin and rst

This isn't exactly what you want, specifically focused on 'Nano', but he encounters your same trouble

He's rigged in a Reset pushbutton - and he's using the 0.1uF.

The 'Nano' already has a Reset button. Perhaps you could 'pop' it right when the IDE announces 'Uploading' ?

PE - if that doesn't work, perhaps there's a conflict (speculative, mind) where a Nano that has an FTDi (or that danged CH340) can't be programmed via some external FTDI. It can be programmed via ICSP - that's why they put it there (but it cannot be Uploaded by USB again till it's re-bootloaded).

I found an old pro mini amongst my rubbish bin and wired that up as you indicate. The end pin on the mini isn't marked CTS but GND so it has two GND's next to each other but if I wire it as you indicate it does work. I was only trying to prove that the FTDI is good and succeeded.
Now, this is interesting, I tried your suggestion to remove the DTR wire and press the reset button when it says it is loading and it works? If I connect the DTR to either of the reset pins on the nano it fails even if I press the reset button on the nano? No CTS connected.

I tried another nano and got the same result so I don't think it is the nano at fault. So..... how do I manage to press the reset when I can't reach the nano?

Does your circuit have anything hooked up to the Nano's Rx and Tx pins already?

No the nano I am testing with is one on the bench just to test the circuit before I use the nano in the unit

Rig up a pushbutton - one end to RST and the other to GND.

Yes I suppose that would be one solution. Put the button on the outside of the box with the other controls.
At present it flashes 3 leds and sounds a buzzer to time us doing circuit training.
I have a small box that looks like a guitar amp or small speaker that receives either a plug in from a phone or blue tooth and transmits music from the phone through its speaker, I want to put my nano timer in there and isolate the music with a relay from the nano (via a transistor) whilst it is flashing or buzzing. I will need to alter the programmed times but don't want to dismantle the box every time.

I wonder if it would be possible with just the atmega 328 chip ? I will look into it tomorrow.