Arduino использует чип FTDI для организации последовательного соединения между компьютером и микроконтроллером. Потому-то мы и можем программировать Arduino без применения какого-либо внешнего программатора.

Если мы посмотрим на схему Arduino, то увидим, что выводы RX и TX (выводы 0 и 1 платы), как и ожидалось, подключены к чипу FTDI. Это значит, что мы можем задействовать сами выводы FTDI для своих целей (не только для программирования микроконтроллеров).