Let’s get serial!

During my telnet visits to the Parrot AR.Drone i wondered what all the serial ports (/dev/ttyPA0..2) are for. And now I know which one is used by what and where i can find them on the board.

The pinout for a USB cable can be found at the official Parrot website….here.

/dev/ttyPA0 is used by the bootloader and the kernel and can be found on the “USB” port (Pin 4 is RX and Pin 6 is TX) and greets us with:

Restarting system.
Parrotboot for target MYKONOS, built on Apr 21 2010
NAND: layer initialization
NAND: found 8 bits nand 0xf1
UBI: layer initialization (version 1)
UBI: found volume with id 2147479551
UBI: found volume with id 0
UBI: found volume with id 2
UBI: failed to open volume with ID 1 (Bad file handle)
Attempt booting on UBI volume with ID 0…
Booting Linux…

This serial interface should allow us to attach a GPS module (with a TTL level serial interface) directly, without the need of a new kernel! GPS here we come! :-)

/dev/ttyPA1 is used to interface with the motor controllers. There must be some de-multiplexer between the serial port and the 4 motor controllers. I actually managed to randomly start a motor by typing garbage into this.

/dev/ttyPA2 connects to the navboard and continously spits out navdata from all sensors.