Skip to the content
2 layers78.7 × 70.5 mmSerialReceiver, the printed circuit board in 3D

SerialReceiver

zledtriac/74hc-uart1

An asynchronous serial transmitter and receiver with 74hcxxx ICs

Size
78.7 × 70.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
46
Nets
69
Pads
219
Tracks, vias
487, 23
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
24 Aug 2022
Updated
12 Jan 2023

Overview

SerialReceiver is an open-source printed circuit board by zledtriac, from the zledtriac/74hc-uart repository on GitHub, published under the MIT licence. It is a 2-layer board of 78.7 × 70.5 mm with 46 parts on 69 nets, routed with 487 tracks and 23 vias.

It is built around the 74HC191S, 74HC132D and 74HC595, with the 74HC74D among its other parts. Its parts include 10 resistors, 9 capacitors, 6 ICs, 6 connectors and 5 diodes.

Main components

4

README

hardware/transmitter/README.md

Transmitter

This is the transmitter. It's only consists of 6 ICs. Actually 5 because U6 the 74HC244 IC can be left out, but with the current configuration it can be operated manually for demonstrations.

The transmitter transmits the data with 1 start bit, 8bit data without parity and 1 stop bit on the end, with 9600 baud rate.

Operation

The transmitter has 3 pin headers for selecting the mode of operation (J3, J5, J6), before powering the transmitter up, please check the jumper positions, because the transmitter can't operate in a circuit if the transmitter is in manual operation mode.

The transmitter needs a 5V power supply to work, the power pins can be found on the Control header (J4) pin 1 - VCC, pin 2 - GND. After powering up the transmitter, due to the random behaviour of the set-reset latch made with the U5D and U5C NAND gate (74HC132) and of the U3A and U3B (74HC74) D flip-flops, it is possible that the cicuit will transmit a random data on the output.

If this behaviour can cause issues in the target device, it is recommended to build an output enable circuit after the U3B pin 9 output, which can be controlled by a switch, delay circuit or from software if the transmitter is connected to a CPU.

The Control header (J4) has two other pins for control, pin 5 - !WR, and pin 8 - Busy. The !WR is an active-low input and this input starts the data transmission. The Busy is an output which will be held high while the transmission is going (Short pulse section on Figure 1.), or while the !WR input is held low (Long pulse section on Figure 1.).

To send data, first set the data on the Data header (J1) then send a low pulse on the !WR pin. This will trigger the Input trigger circuitry. In this stage the output of the U5D will turn high, but since the U3A D flip-flop is not set, the inverted output of the U3A D flip-flop is also high, this will set the output of the U4A NAND gate to low, this will enables the load pins of the U1 (74HC165) shift register and the U2 (74HC191) counter IC, so the data will be loaded into the U1 shift register and the U2 counter IC will be set to 0. There is an extra bit made by the U4B NAND gate and the U3B D flip-flop, in the loading process it will set to one, this extra bit is the START bit. Since the U3A D flip-flop's clock input is connected to the main clock signal, the U3A D flip-flop will set and the inverted output of the U3A D flip-flop will turn to low. After this, every clock pulse will shift out the data from U1 (74HC165) shift register, and increment the U2 (74HC191) counter until U2 (74HC191) counter reaches 8. When the U2 (74HC191) counter reaches 8, the counting will stop and if the !WR input is high, it will reset the Input trigger circuitry, and after this, one clock pulse is needed to reset the U3A D flip-flop. So when the next write pulse comes in, the whole process will repeat.

Manual operation

To use the circuit in a manual operation mode, set the jumper on the J3 pin header to bridge the 1-2 pins, and on the J5 pin header to bridge the 2-3 pins. This will enables the U6 (74HC244) output so the data set by the SW1 dip switch will be put on the DATA input, and it will connect the SW2 button to the !WR input. After the data set on the SW1 dip switch, the data sending can be initiated by pressing the SW2 button.

please note that if the circuit is in manual operation mode, the DATA input will be driven by the U6 (74HC244) output and the !WR input will connected to the SW2 button, so it can't be used in other circuits!

Oscillator

The oscillator is made out of two schmitt-triggered NAND gate of the U4 (74HC132) IC. With the 10nF C7 capacitor and the 10kOhm R5 plus the 10kOhm RV1 trimmer potentiometer this oscillator can be adjusted between 6kHz and 12kHz. The oscillator's frequency is equal to the baud rate, so for the 9600 baud rate set the oscillator to 9.6kHz. For the tuning, a simple digital multimeter with frequency measuring capability is enough.

Parts

46
QtyValueFootprintReferences
7100nFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC2, C3, C4, C5, C6, C8, C9
41kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R5, R6, R7
310kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R4
3LEDLED_THT:LED_D3.0mmD1, D2, D3
215VDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD4, D5
22N7000Package_TO_SOT_THT:TO-92_Inline_WideQ1, Q2
274HC191Package_DIP:DIP-16_W7.62mmU2, U3
1100uFCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC7
110kPotentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV1
120kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR10
14k7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8
1510Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR9
1560pFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC1
174HC132Package_DIP:DIP-14_W7.62mmU1
174HC595Package_DIP:DIP-16_W7.62mmU4
174HC74Package_DIP:DIP-14_W7.62mmU5
174LS244Package_DIP:DIP-20_W7.62mmU6
1CONTROLConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalJ2
1Clock selectConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4
1DATAConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalJ1
1HDSP-4830_2Package_DIP:DIP-20_W7.62mm_SocketBAR1
1LED enableConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5
1Mode selectConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1RXConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ3
1R_Network08Resistor_THT:R_Array_SIP9RN1
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW1

The 42 most common of 46 parts.

More from zledtriac/74hc-uart

1
  • 2 layers78.7 × 70.5 mmSerialTransmitter, the printed circuit board in 3D

    SerialTransmitter

    zledtriac/74hc-uart

    An asynchronous serial transmitter and receiver with 74hcxxx ICs

    42 parts1MIT

Similar boards

  • 2 layers93 × 58.4 mmV0b, the printed circuit board in 3D

    V0b

    smaldragon/BNUY-ROM

    A famicom discrete logic mapper

    39 parts3Unlicense
  • 2 layers301 × 262.6 mm1 Sistema FINAL, the printed circuit board in 3D

    1 Sistema FINAL

    felipesantiagoach-ops/cdp1802-8bit-computer

    8-bit microcomputer based on the RCA CDP1802, the first CMOS microprocessor. Three stages designed in KiCad: two built and tested (assembly programs, UART, Tiny BASIC, Elf/OS) and a final design with an ADC, I²C/SPI…

    207 parts
  • 2 layersPocket, the printed circuit board in 3D

    Pocket

    zuiko21/minimOS

    Scalable OS for 6502/65816

    53 parts23MIT
  • 2 layers208 × 110 mm8 16 computer 2, the printed circuit board in 3D

    8 16 computer 2

    halfburnttoast/TCPU816-v1

    Version 1.1 of my 8-bit, TTL computer.

    120 parts21
  • 2 layers114 × 130 mmAymbedded, the printed circuit board in 3D

    Aymbedded

    ladmanj/aymbedded

    PCB for embed the AY-3-8910 and class-D amplifier into the ZX Spectrum+ case 2023/2024 Jakub Ladman (ladmanj at volny cz)

    40 parts1
  • 2 layers172.7 × 63.5 mm8088sbc, the printed circuit board in 3D

    8088sbc

    74hc595/8088sbc

    Minimal 8088 single board computer

    59 parts34BSD-3-Clause
  • 4 layers158.8 × 104.1 mm8-Bit CPU, the printed circuit board in 3D

    8-Bit CPU

    frenchie/8-Bit-Computer

    An 8-Bit Computer

    323 parts20
  • 2 layers21 × 36 mmIr uart, the printed circuit board in 3D

    Ir uart

    werediver/ir-uart

    IR UART 9600 baud adapter

    23 parts3CERN-OHL-P-2.0

Questions

How big is the SerialReceiver PCB?

It measures 78.7 × 70.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SerialReceiver use?

46 parts, built around the 74HC191S, 74HC132D, 74HC595 and 74HC74D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SerialReceiver KiCad files?

From the zledtriac/74hc-uart repository on GitHub, at the commit this page was made from: the board is hardware/receiver/SerialReceiver.kicad_pcb and its schematic hardware/receiver/SerialReceiver.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SerialReceiver design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).