Search code examples
androiduploadusbarduinoftdi

What's going on after DTR/RTS is sent to an FTDI-based Arduino board?


I'm working over a sketch to enable uploading from an Android device to an Arduino board, and it works for Duemilanove (FTDI-based) and Arduino Uno (ATmega-based) when testing for PC/Arduino using rxtx (pure Java).

But it does not work when using the USB-Android library as the setDTR/setRTS methods are not yet implemented.

FTDI Android drivers allow the sending of setDTR/setRTS signals, but it fails to send/read data after it.

So the problem is in the Android USB API and I can't figure out what's wrong..

What happens for FTDI-based Arduino boards after DTR/RTS are toggled?

I believe that the device is reset and waits for bootloader commands (STK500) for ~50-250 ms. Am I right?


Solution

  • The answer is that the board resets. The schematic is made in the way it resets the board (RTD/DTR is wired to the microcontroller reset pin somehow).