Skip to the content
PCBKitNew board
2 layers104.1 × 102.9 mmISA QuadUART, the printed circuit board in 3D

This 8-bit ISA board will provide 4 serial RS232 ports using a single 16C554 controller. 2 ports are exposed on an external bracket and 2 are on internal headers.

Size
104.1 × 102.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
42
Nets
168
Pads
422
Tracks, vias
1,288, 36
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
7 Jul 2021
Updated
9 Dec 2023

Overview

ISA QuadUART is an open-source printed circuit board by hkzlab, from the hkzlab/ISA_QuadUART2 repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 2-layer board of 104.1 × 102.9 mm with 42 parts on 168 nets, routed with 1,288 tracks and 36 vias.

It is built around the GD75232N, 74LS245SC and 74HCT138D, with the 74HCT32D among its other parts. Its parts include 17 capacitors, 11 connectors, 10 ICs and 1 crystal. It belongs with the interfaces and adapters and retro computing and games boards of this library.

Main components

4

README

README.md

ISA Quad UART Adapter (2 + 2)

Introduction

This 8-bit ISA board will provide 4 serial RS232 ports using a single 16C554 controller.

Port 1 and 2 are exposed on the bracked as DB9 male connectors. Port 3 and 4 are internal.

IRQs will be shared between port 1/3 and port 2/4.

ISA QuadUART 2

Disclaimer

I take NO responsibility for what happens if you decide to build and use this card. Your computer might crash, catch fire or be destroyed in other nasty ways. You're encourauged to take what you deem fit from this, and use it in your projects!

Configuration

This board is configured via two blocks of jumpers:

text
    .... SER4 
    ....
    .... SER3
IIII2323
RRRREEFF
QQQQ8888
3457
........ SER2
........
........ SER1

The upper block will select the address for port 3 (first row) and port 4 (third row). To select an address, you need to bridge the middle row at the specified address with the top or bottom row (depending on which port you wish to assign that address).

The bottom block selects the address for ports 1 and 2, and the IRQs for ports 1/3 and 2/4. The principle is the same.

Default configuration is as follow:

text
    |... SER4 
    ||..
    .|.. SER3
IIII2323
RRRREEFF
QQQQ8888
3457
|.....|. SER2
||....||
.|.....| SER1

Which will assign 0x3F8 to port 1, 0x2F8 to port 2, 0x3E8 to port 3 and 0x2E8 to port 4. Port 1/3 will get IRQ4 and port 2/4 will get IRQ3.

Bill of Materials

  • 4x 10uF / 25v capacitors
  • 13x 100nF / 25v ceramic capacitors
  • 1x 9-pin 10k bussed resistor network (RN3)
  • 1x 5-pin 10k bussed resistor network (RN2)
  • 1x 1.8432Mhz DIP14 or DIP8 oscillator
  • 2x DB9 right angle, male, PCB mount connector
  • 1x 1x20pin 2.54mm straight header strip (you will cut this as needed)
  • 1x 2x20pin 2.54mm straight header strip (you will cut this as needed)
  • 1x 2x20pin 2.54mm angled header strip (you will cut this as needed)
  • 4x 75C185 RS232 drivers (U5, U6, U25, U26)
  • 2x 74HCT138 (U1, U2)
  • 1x 74HCT32 (U24)
  • 1x 74HCT21 (U30)
  • 1x 74HCT245 (U29) (with some controllers, like TL16C554, I noticed improved stability by using a 74LS245)
  • 1x SC16C654, ST16C554 (U23) (all the 16C554 / 16C654 should be compatible, but to get TL16C554 working properly I had to replace U29)
  • Jumpers for board configuration
  • Keystone 9200-15 bracket
  • 1x PLCC68 THT socket

Credits

Parts

42
QtyValueFootprintReferences
13100nFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC2, C4, C7, C8, C9, C10, C11, C17, C18, C19, C20, C21, C22
410uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC1, C3, C5, C6
4GD75232NPackage_DIP:DIP-20_W7.62mm_LongPadsU5, U6, U25, U26
274HCT138Package_DIP:DIP-16_W7.62mm_LongPadsU1, U2
11.8432MhzISA_DualUART:Oscillator_DIP-14-8X1
110KResistor_THT:R_Array_SIP9RN3
110kResistor_THT:R_Array_SIP5RN2
116C554Package_LCC:PLCC-68_THT-SocketU23
174HCT21Package_DIP:DIP-14_W7.62mm_LongPadsU30
174HCT32Package_DIP:DIP-14_W7.62mm_LongPadsU24
174LS245Package_DIP:DIP-20_W7.62mm_LongPadsU29
1ADDRConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1ADDR_IRQConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1ISA BUSskiselev_footprints:Conn_Edge_PCB_ISA8J1
1Serial 1 DB9Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ7
1Serial 2 DB9Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ9
1Serial 3 IDCConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ12
1Serial 4 IDCConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ11
1UART1_SELConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ3
1UART2_SELConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ4
1UART3_SELConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ8
1UART4_SELConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ13

The 41 most common of 42 parts.

Questions

How big is the ISA QuadUART PCB?

It measures 104.1 × 102.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ISA QuadUART use?

42 parts, built around the GD75232N, 74LS245SC, 74HCT138D and 74HCT32D. 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 ISA QuadUART KiCad files?

From the hkzlab/ISA_QuadUART2 repository on GitHub, at the commit this page was made from: the board is ISA_QuadUART.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the ISA QuadUART design in my own project?

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

Similar boards

  • 2 layers104.1 × 102.9 mmISA QuadUART, the printed circuit board in 3D

    ISA QuadUART

    hkzlab/ISA_QuadUART

    ISA 8-bit Quad serial adapter

    41 parts5CC-BY-SA-4.0
  • 2 layers176.5 × 85.1 mmISA EMS, the printed circuit board in 3D

    ISA EMS

    hkzlab/ISA_EMS_4Mb

    ISA 4Mb EMS expansion board

    49 parts41
  • 2 layers125 × 98 mm3-in-1, the printed circuit board in 3D

    3-in-1

    mudmin/AnotherMaker

    This is where I will store code snippets for AnotherMaker Videos

    44 parts258
  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers200 × 150 mmMSX ONE, the printed circuit board in 3D

    MSX ONE

    jdgabbard/MSX-ONE-Computer

    MSX 1 Computer from discrete parts

    114 parts28GPL-3.0
  • 2 layers99.7 × 64.1 mmMalt, the printed circuit board in 3D

    Malt

    b3rendsh/msxdos2s

    MSXDOS smaller 16K/32K rom with IDE interface drivers and enhancements

    35 parts24
  • 2 layers100 × 80 mmMini8085Ext, the printed circuit board in 3D

    Mini8085Ext

    skiselev/minimax8085-apu-ext

    Arithmetic Processor and Extension Board for MiniMax 8085 SBC

    42 parts13