so the usb/fdti chip simply converts usb data signals into TTL signals which are interpreted by the UART, correct? if thats the case could you not just recreate TTL signals through a headphone jack audio signal?
Audio Signals are AC-coupled, they are not very well suited for NRZ-Codes used by RS232 ( NRZ: http://en.wikipedia.org/wiki/Non-return-to-zero
This is the reason why I used Manchester Coding ( also use by Ethernet http://en.wikipedia.org/wiki/Manchester_coding
). After some time it turned out that not every PC audio output has the same polarity, therefore I had to switch to differential manchester coding.
The circuit to interface the MC to the PC is in my opinion as minimalistic as possible:
Not all MCs have the same voltage switching level from 0 to 1. They seem to be for the Atmega168 quite similar but may differ to the Atemga328. So the voltage devider should be addapted.