The 0.1uF capacitors when using FTDI programmer

The capacitor is there to turn the RTS signal into a pulse, so that when the computer brings RTS low, it briefly pulls reset low, and then the pull-up resistor charges the capacitor again, bringing reset high again.

Source : http://www.gammon.com.au/forum/?id=11637

Can anyone tell me about this ? I do not understand why it needs so. And is DTR =RTS ? My FTDI programmer are using VCC, RXD, TXD, DTR,CTS and GND pins

Thanks !

Vincent19:

The capacitor is there to turn the RTS signal into a pulse, so that when the computer brings RTS low, it briefly pulls reset low, and then the pull-up resistor charges the capacitor again, bringing reset high again.

Source : http://www.gammon.com.au/forum/?id=11637

Can anyone tell me about this ? I do not understand why it needs so. And is DTR =RTS ? My FTDI programmer are using VCC, RXD, TXD, DTR,CTS and GND pins

Thanks !

Why do you need to use DTR or RTS (yes you can use either but not both) ?

When you press upload on the Arduino IDE to upload a new sketch to an attached arduino board, the IDE needs to reset the attached arduino board so the bootloader on the board will start and communicate with the IDE to allow uploading the new sketch.

Lefty

Why not ? My ftdi programmer have the DTR pins and I am required yo connect it to reset pins via 0.1uF cap..but I do not know why

Vincent19:
Why not ? My ftdi programmer have the DTR pins and I am required yo connect it to reset pins via 0.1uF cap..but I do not know why

Your ftdi programmer connects to the reset pin. With serial you have no connection to the reset so the designers of the arduino decided to use the handshaking pin as a reset, rather clever I thought.

RTS goes low, as shown here:

However we don't want reset to stay low, so the capacitor turns it into a pulse. Then 10K resistor then charges the cap back up and it becomes high, allowing the processor to run.

And that is why a wise person said "a picture is worth a thousand words".

Lefty

Does that means that I only have to connect RX, TX , gnd and vcc to MCU?

Depends if you want auto-reset or not.

If I never connect the DTR pins, I still can load my program to chip using ftdi programmer ?

If you don't connect the DTR/RTS via the capacitor you will have to manually reset the chip at the same time you upload a new sketch.

But the timing has to be right, hold down the reset, select the program from the IDE, when it says loading, count one two three, and release the reset.

on this link it shows the reset to reset connected with a cap in between and no mention of DTR CTS etc

http://openmicros.org/index.php/articles/88-ciseco-product-documentation/124-xb4a-how-to-build-arduino-compatible

why is that different ??

knuckles:
on this link it shows the reset to reset connected with a cap in between and no mention of DTR CTS etc

http://openmicros.org/index.php/articles/88-ciseco-product-documentation/124-xb4a-how-to-build-arduino-compatible

why is that different ??

Simply a misprint on that site's pin out of the 6 pin FTDI pin out, where it says RST it should say RTS. Either the RTS or the DTR signal can be used to generate the auto reset pulse, as the arduino IDE uses both.

Lefty

Grumpy_Mike:
But the timing has to be right, hold down the reset, select the program from the IDE, when it says loading, count one two three, and release the reset.

Great info!!! Will have try it . And let you know soon !

Thanks :slight_smile:

dtr is preferred over rts because its much better behaved under windows.

Great ! How about CTS? What's that ?

Vincent19:
Great ! How about CTS? What's that ?

Not required in this application and can be left disconnected.

Lefty

When will CTS being used ?

If the PC com link was set-up with the 'hardware handshacking' enabled, the CTS (clear to send) would be how the device would tell the PC it was ready to receive data if any is waiting to be sent. The comm port as used by arduino (and most all PC serial applications) use the 'no handshake' option choice to run the link at. There is also a 'software handshake' option where the two sides of a comm link send the ascii Xon and Xoff control characters to tell the other side to stop or start sending data. That is also not used in most PC applications. But both options are available for interfacing with such thing a older modems and other data communication devices.

Lefty

Vincent19:
Great ! How about CTS? What's that ?

cts, dsr, ri, etc are inputs to the pc and therefor can never be used as arduino control bits.