A Journey Into Unexpected Serial Ports [Hackaday]
Through all the generations of computing devices from the era of the teleprinter to the present day, there’s one interface that’s remained universal. Even though its usefulness as an everyday port has decreased in the face of much faster competition, it’s fair to say that everything has a serial port on board somewhere. Even with that ubiquity though, there’s still some scope for variation.
Older ports and those that are still exposed via a D socket are in most case the so-called RS-232, a higher voltage port, while your microcontroller debug port will be so-called TTL (transistor-transistor logic), operating at logic level. That’s not quite always the case though, as [Terin Stock] found out with an older Garmin GPS unit.
Pleasingly for a three decade old device, given a fresh set of batteries it worked. The time was wrong, but after some fiddling and a Windows 98 machine spun up it applied a Garmin update from 1999 that fixed it. When hooked up to a Flipper Zero though, and after a mild panic about voltage levels, the serial port appeared to deliver garbage. There followed some investigation, with an interesting conclusion that TTL serial is usually the inverse of RS-232 serial, The Garmin had the RS-232 polarity with TTL levels, allowing it to work with many PC serial ports. A quick application of an inverter fixed the problem, and now Garmin and Flipper talk happily.