Student Creates Discrete UART Receiver with LEDs for Visualization
Receives data rates up to 28.8 kilobaud!
Nearly all electronics produced today contains at least one integrated circuit. Unfortunately, these ICs are unassuming plastic packages with a few pins that obscure significant amounts of engineering and circuit design. For that reason, Joël de Kanter, a student in Switzerland, created the receiver half of a UART using discrete components as a school project.
UART stands for universal asynchronous receiver-transmitter and is often just called "serial" due to its ubiquity. It is a popular communication standard because of the low pin count. You only need to share transmit, receive, and common ground between the two devices. Each side uses a separate clock to capture the data packet.
Even though "UART" implies the ability to send and receive, Kanter's project only implements the receiver portion. Incredibly, the circuit uses only passive components and discrete transistors. Yet, it implements all the logic blocks needed while performing up to 28.8 kilobaud (with an external clock).
The schematic shows the overall design. An RC oscillator generates the clock used by the 10-bit shift register, a parity checker, and (of course) LEDs. The LEDs help visualize the flow of data through the receiver — something you cannot see when looking at an IC!
If you look closer at the shift register, you'll notice Kanter drew it with data latches. However, looking at the project, you will see that even the latches use discrete components! Even though this approach leads to a little "rinse and repeat," it does not diminish the visual aesthetic or dedication to understanding how a UART's receiver works!
Check out this project page to learn more about this Discrete UART receiver. You can also download Kanter's thesis and schematic from this Dropbox. The thesis is written in German. However, machine translators like Google Translate do a decent job translating (to English.) Or, as Kanter suggests, just learn to speak German!