161 Customizable UART Character
161 : Customizable UART Character
- Author: Tiny Tapeout 02 (J. Rosenthal)
- Description: This design implements a single character UART transmitter using registers made from D-flip flops and multiplexers.
- GitHub repository
- Most recent GDS build
- Wokwi project
- Extra docs
- Clock: 300 Hz
- External hardware: Arduino, computer with serial monitor connected to the Arduino
How it works
This circuit implements a shift register with 17 bits: four idle bits, one start bit, eight data bits, one stop bit, and three more idle bits. The circuit supports transmitting a user-selected ASCII character from 0x40 (@) to 0x5F (_), including capital letters from the Latin alphabet.
How to test
Connect an Arduino serial RX pin to the eight output pin (Output). In the Arduino code, set the serial baud rate Serial.begin(); in the *.ino file to 300. Set the PCB clock frequency to 300 Hz as well. Set SW7 to OFF (“Load”). Set SW2 to ON and SW3-6 to OFF. Set SW7 to ON (“TX”). Set SW8 to ON (“Output Enable”). Connect the Arduino via USB to your computer and run the serial monitor. If there’s no output from the Arduino serial monitor, try toggling SW7 OFF and ON again. You should see the character ‘A’ appearing repeatedly in the serial monitor.
||segment a (Load/TX)
||segment f (Output Enable)
||UART Serial Out