[HH] arduino help: write protect, USB FTDI, ICSP, all connect to reset

Tom Metro tmetro+hhacking at gmail.com
Wed Mar 28 22:36:35 EDT 2012


Greg London wrote:
>> ...the designer is using AC coupling. Perhaps that's obvious. When DTR 
>> goes low, it'll briefly pull down the micro's reset pin.
> 
> The AC coupling I understand.

OK, good. Just to flesh out the rest of the thought to anyone for whom
the usage isn't obvious, the designer presumably used AC coupling there
because they anticipate DTR staying low for some extended period, yet
they want the micro to boot immediately after it is toggled. If the
signal was DC coupled (directly wired) the reset pin would be held low
causing the micro to be stuck in the reset state.

I'm guessing this was done so you can download a program and and exit
the downloader without having to care what state DTR remains in. Pulling
the USB plug might also cause DTR to remain low perpetually, so in a
"program and unplug" scenario, you'd avoid having the micro stuck in reset.


> If I use the DTR or RTS to reset the arduino,
> that means that DTR should only go low rarely?

That's the impression I got.


> If its used by the programmer to reset the arduino after
> its programmed the chip, I assume DTR doesn't toggle
> too often.

It was implied that the Sketch downloader tool intentionally toggles DTR
upon completion of the download, so I would presume it is under
programmer control.


> I don't know exactly how USB gets faked out into fakey rs232,
> so I'm not sure how much  DTR or RTS toggles as part of USB
> traffic.
> 
> I assume...[the FTDI chip]...doesn't toggle [DTR] just because some
> data parity was bad and it wants a resend or something.

Supposedly the host-side USB driver plus the FTDI chip combine to behave
as if the host has a built-in UART and provides the application with a
serial port compatible API. I'm sure there are limitations in that
emulation, but to the extent that it works, I'd expect DTR to behave
just as it would with a real serial port.


> I've used my PC as a dumb terminal to an Arduino, and
> I assume that DTR doesn't toggle much while that connection
> is active either.
> 
> Reading the wikipedia entry on DTR...
> it sounds like its the way to tell the modem to hang up...

I don't remember how you'd force a DTR toggle with a typical dumb
terminal. It may just happen coincident with opening/closing the port
(unless you delve deeper and use ioctls or the like).


> I have read some people disconnectiong the USB FTDI DTR/RTS
> pin from the atmega reset...

Did they say why? Given lots of people are using these FTDI chips with
the DTR attached this way, there should be plenty of reports of flaky
behavior, if that's what is happening.

 -Tom




More information about the Hardwarehacking mailing list