Pinouts
Introduction
Pinouts of some chips (all DIP) and connectors I use often. Chips are viewed from top. I'm not responsible for errors. Sources: GIICM, datasheets, Google.
7400 series chips
Gates
7400 – Quad 2-input NAND gates
- Y = NOT (A AND B)
+--\__/--+ 1A |1 14| VCC 1B |2 13| 4B 1Y |3 12| 4A 2A |4 11| 4Y 2B |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
7402 – Quad 2-input NOR gates
- Y = NOT (A OR B)
+--\__/--+ 1Y |1 14| VCC 1A |2 13| 4Y 1B |3 12| 4B 2Y |4 11| 4A 2A |5 10| 3Y 2B |6 9| 3B GND |7 8| 3A +--------+
7404 – Hex inverters
- Y = NOT A
+--\__/--+ 1A |1 14| VCC 1Y |2 13| 6A 2A |3 12| 6Y 2Y |4 11| 5A 3A |5 10| 5Y 3Y |6 9| 4A GND |7 8| 4Y +--------+
7408 – Quad 2-input AND gates
- Y = A AND B
+--\__/--+ 1A |1 14| VCC 1B |2 13| 4B 1Y |3 12| 4A 2A |4 11| 4Y 2B |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
7410 – Triple 3-input NAND gates
- Y = NOT (A AND B AND C)
+--\__/--+ 1A |1 14| VCC 1B |2 13| 1C 2A |3 12| 1Y 2B |4 11| 3C 2C |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
7427 – Triple 3-input NOR gates
- Y = NOT (A OR B OR C)
+--\__/--+ 1A |1 14| VCC 1B |2 13| 1C 2A |3 12| 1Y 2B |4 11| 3C 2C |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
7432 – Quad 2-input OR gates
- Y = A OR B
+--\__/--+ 1A |1 14| VCC 1B |2 13| 4B 1Y |3 12| 4A 2A |4 11| 4Y 2B |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
7486 – Quad 2-input XOR gates
- Y = A XOR B
+--\__/--+ 1A |1 14| VCC 1B |2 13| 4B 1Y |3 12| 4A 2A |4 11| 4Y 2B |5 10| 3B 2Y |6 9| 3A GND |7 8| 3Y +--------+
Shift registers
7495 – 4-bit universal shift register
- inputs: LD/SH, D, P, SHCLK, LDCLK
- outputs: Q
- parallel load (Q=P): LD/SH=H, LDCLK=↓
- shift (D→Q0→…→Q3): LD/SH=L, SHCLK=↓
+--\__/--+
D |1 14| VCC
P0 |2 13| Q0
P1 |3 12| Q1
P2 |4 11| Q2
P3 |5 10| Q3
LD/SH |6 9| SHCLK
GND |7 8| LDCLK
+--------+
74164 – 8-bit serial-in parallel-out shift register
- inputs: RST, D, E, CLK
- outputs: Q
- reset (Q=L): RST=L
- shift (D&E→Q0→…→Q7): RST=H, CLK=↑
+--\__/--+
D |1 14| VCC
E |2 13| Q7
Q0 |3 12| Q6
Q1 |4 11| Q5
Q2 |5 10| Q4
Q3 |6 9| RST
GND |7 8| CLK
+--------+
74165 - 8-bit parallel-in serial-out shift register with complementary outputs
- inputs: SH/LD, D, P, CLK1, CLK2
- internal state: Q0…Q6
- outputs: Q7, Q7
- parallel load (Q=P): SH/LD=L
- shift (D→Q0→…→Q7): SH/LD=H, CLK1=L, CLK2=↑
+--\__/--+ SH/LD |1 16| VCC CLK1 |2 15| CLK2 P4 |3 14| P3 P5 |4 13| P2 P6 |5 12| P1 P7 |6 11| P0 Q7 |7 10| D GND |8 9| Q7 +--------+
74166 – 8-bit parallel-in serial-out shift register with reset
- inputs: RST, SH/LD, D, P, CLK1, CLK2
- internal state: Q0…Q6
- outputs: Q7
- clear (Q=L): RST=L
- parallel load (Q=P): RST=H, SH/LD=L, CLK1=L, CLK2=↑
- shift (D→Q0→…→Q7): RST=H, SH/LD=H, CLK1=L, CLK2=↑
+--\__/--+ D |1 16| VCC P0 |2 15| SH/LD P1 |3 14| P7 P2 |4 13| Q7 P3 |5 12| P6 CLK1 |6 11| P5 CLK2 |7 10| P4 GND |8 9| RST +--------+
D flip-flops
7474 – Dual D flip-flop with set and reset
- inputs: RST, SET, D, CLK
- outputs: Q, Q
- if RST=L and SET=H: Q=L
- if RST=H and SET=L: Q=H
- if RST=H and SET=H and CLK=↑: Q=D
+--\__/--+ 1RST |1 14| VCC 1D |2 13| 2RST 1CLK |3 12| 2D 1SET |4 11| 2CLK 1Q |5 10| 2SET 1Q |6 9| 2Q GND |7 8| 2Q +--------+
74173 – 4-bit 3-state D flip-flop
- inputs: RST, CLKEN, CLK, D, OE
- outputs: Q
- if RST=H: internal data=L
- if RST=L and CLKEN1=L and CLKEN2=L and CLK=↑: internal data=D
- if OE1=H or OE2=H: Q=Z
- if OE1=L and OE2=L: Q=internal data
+--\__/--+ OE1 |1 16| VCC OE2 |2 15| RST Q0 |3 14| D0 Q1 |4 13| D1 Q2 |5 12| D2 Q3 |6 11| D3 CLK |7 10| CLKEN1 GND |8 9| CLKEN2 +--------+
74174 – 6-bit D flip-flop with clear
- inputs: RST, D, CLK
- outputs: Q
- if RST=L: Q=L
- if RST=H and CLK=↑: Q=D
+--\__/--+
RST |1 16| VCC
Q0 |2 15| Q5
D0 |3 14| D5
D1 |4 13| D4
Q1 |5 12| Q4
D2 |6 11| D3
Q2 |7 10| Q3
GND |8 9| CLK
+--------+
74273 – Octal D flip-flop with clear
- inputs: RST, D, CLK
- outputs: Q
- if RST=L: Q=L
- if RST=H and CLK=↑: Q=D
+--\__/--+
RST |1 20| VCC
1Q |2 19| 8Q
1D |3 18| 8D
2D |4 17| 7D
2Q |5 16| 7Q
3Q |6 15| 6Q
3D |7 14| 6D
4D |8 13| 5D
4Q |9 12| 5Q
GND |10 11| CLK
+--------+
74374 – Octal D flip-flop with 3-state output
- inputs: OE, D, CLK
- outputs: Q
- if OE=H: Q=Z
- if OE=L and CLK=↑: Q=D
+--\__/--+
OE |1 20| VCC
Q1 |2 19| Q8
D1 |3 18| D8
D2 |4 17| D7
Q2 |5 16| Q7
Q3 |6 15| Q6
D3 |7 14| D6
D4 |8 13| D5
Q4 |9 12| Q5
GND |10 11| CLK
+--------+
Buffers/transceivers
74125 – Quad 3-state noninverting buffer with active low enables
- inputs: OE, A
- outputs: Y
- if OE=H: Y=Z
- if OE=L: Y=A
+--\__/--+ 1OE |1 14| VCC 1A |2 13| 4OE 1Y |3 12| 4A 2OE |4 11| 4Y 2A |5 10| 3OE 2Y |6 9| 3A GND |7 8| 3Y +--------+
74245 – 8-bit 3-state noninverting bus transceiver
- inputs: EN, DIR
- bidirectional: A, B
- if EN=H: A,B = Z
- if EN=L, DIR=L: A=B
- if EN=L, DIR=H: B=A
+--\__/--+
DIR |1 20| VCC
A1 |2 19| EN
A2 |3 18| B1
A3 |4 17| B2
A4 |5 16| B3
A5 |6 15| B4
A6 |7 14| B5
A7 |8 13| B6
A8 |9 12| B7
GND |10 11| B8
+--------+
Multiplexers
74151 – 8-to-1 data selector/multiplexer with complementary outputs
- inputs: EN, S (S2=MSB), D
- outputs: Y
- if EN=H: Y=L
- if EN=L: Y = D specified by S
+--\__/--+ D3 |1 16| VCC D2 |2 15| D4 D1 |3 14| D5 D0 |4 13| D6 Y |5 12| D7 Y |6 11| S0 EN |7 10| S1 GND |8 9| S2 +--------+
74153 – dual 4-to-1 data selector/multiplexer with separate enables
- inputs: EN, S (S1=MSB), A
- outputs: Y
- if EN=H: Y=L
- if EN=L: Y = A specified by S
+--\__/--+ 1EN |1 16| VCC S1 |2 15| 2EN 1A3 |3 14| S0 1A2 |4 13| 2A3 1A1 |5 12| 2A2 1A0 |6 11| 2A1 1Y |7 10| 2A0 GND |8 9| 2Y +--------+
74157 – quad 2-to-1 data selector/multiplexer
- inputs: EN, S, A
- outputs: Y
- if EN=H: Y=L
- if EN=L: Y = A specified by S
+--\__/--+
S |1 16| VCC
1A0 |2 15| EN
1A1 |3 14| 4A0
1Y |4 13| 4A1
2A0 |5 12| 4Y
2A1 |6 11| 3A0
2Y |7 10| 3A1
GND |8 9| 3Y
+--------+
74158 – quad 2-to-1 data selector/multiplexer, inverting
- inputs: EN, S, A
- outputs: Y
- if EN=H: Y=H
- if EN=L and S=L: Y = NOT A0
- if EN=L and S=H: Y = NOT A1
+--\__/--+ S |1 16| VCC 1A0 |2 15| EN 1A1 |3 14| 4A0 1Y |4 13| 4A1 2A0 |5 12| 4Y 2A1 |6 11| 3A0 2Y |7 10| 3A1 GND |8 9| 3Y +--------+
74257 – quad 2-to-1 data selector/multiplexer, 3-state
- inputs: EN, S, A
- outputs: Y
- if EN=H: Y=Z
- if EN=L and S=L: Y=A0
- if EN=L and S=H: Y=A1
+--\__/--+
S |1 16| VCC
1A0 |2 15| EN
1A1 |3 14| 4A0
1Y |4 13| 4A1
2A0 |5 12| 4Y
2A1 |6 11| 3A0
2Y |7 10| 3A1
GND |8 9| 3Y
+--------+
Demultiplexers
7442 – 1-of-10 decoder/demultiplexer, inverting
- inputs: S (S3=MSB)
- outputs: Y
- if S≤9: Y specified by S will be L and other Y will be H
- if S>9: Y = H
+--\__/--+ Y0 |1 16| VCC Y1 |2 15| S0 Y2 |3 14| S1 Y3 |4 13| S2 Y4 |5 12| S3 Y5 |6 11| Y9 Y6 |7 10| Y8 GND |8 9| Y7 +--------+
74138 – 1-of-8 decoder/demultiplexer, inverting
- inputs: EN, S (S2=MSB)
- outputs: Y
- if EN1=L or EN2=H or EN3=H: Y=H
- if EN1=H and EN2=L and EN3=L: Y specified by S will be L and other Y will be H
+--\__/--+ S0 |1 16| VCC S1 |2 15| Y0 S2 |3 14| Y1 EN3 |4 13| Y2 EN2 |5 12| Y3 EN1 |6 11| Y4 Y7 |7 10| Y5 GND |8 9| Y6 +--------+
74139 – dual 1-of-4 decoder/demultiplexer, inverting
- inputs: EN, S (S1=MSB)
- outputs: Y
- if EN=H: Y=H
- if EN=L: Y specified by S will be L and other Y will be H
+--\__/--+ 1EN |1 16| VCC 1S0 |2 15| 2EN 1S1 |3 14| 2S0 1Y0 |4 13| 2S1 1Y1 |5 12| 2Y0 1Y2 |6 11| 2Y1 1Y3 |7 10| 2Y2 GND |8 9| 2Y3 +--------+
Other
74283 – 4-bit binary full adder with fast carry
- inputs: A (A4=MSB), B (B4=MSB), CIN
- outputs: S (S4=MSB), COUT
- S, COUT = A+B+CIN (S1 = A1 XOR B1 XOR CIN, etc.)
+--\__/--+ S2 |1 16| VCC B2 |2 15| B3 A2 |3 14| A3 S1 |4 13| S3 A1 |5 12| A4 B1 |6 11| B4 CIN |7 10| S4 GND |8 9| COUT +--------+
74393 – Dual 4-bit asynchronous binary counters with reset
- inputs: RST, CLK
- outputs: Q (Q3=MSB)
+--\__/--+ 1CLK |1 14| VCC 1RST |2 13| 2CLK 1Q0 |3 12| 2RST 1Q1 |4 11| 2Q0 1Q2 |5 10| 2Q1 1Q3 |6 9| 2Q2 GND |7 8| 2Q3 +--------+
Memory chips
6116 – 2k×8-bit static RAM
- inputs: CE, OE, WE, A
- bidirectional: D
+--\__/--+ A7 |1 24| VCC A6 |2 23| A8 A5 |3 22| A9 A4 |4 21| WE A3 |5 20| OE A2 |6 19| A10 A1 |7 18| CE A0 |8 17| D7 D0 |9 16| D6 D1 |10 15| D5 D2 |11 14| D4 GND |12 13| D3 +--------+
6264 – 8k×8-bit static RAM
- inputs: CE1, CE2, OE, WE, A
- bidirectional: D
+--\__/--+ NC |1 28| VCC A12 |2 27| WE A7 |3 26| CE2 A6 |4 25| A8 A5 |5 24| A9 A4 |6 23| A11 A3 |7 22| OE A2 |8 21| A10 A1 |9 20| CE1 A0 |10 19| D7 D0 |11 18| D6 D1 |12 17| D5 D2 |13 16| D4 GND |14 15| D3 +--------+
62256 – 32k×8-bit static RAM
- inputs: CE, OE, WE, A
- bidirectional: D
+--\__/--+ A14 |1 28| VCC A12 |2 27| WE A7 |3 26| A13 A6 |4 25| A8 A5 |5 24| A9 A4 |6 23| A11 A3 |7 22| OE A2 |8 21| A10 A1 |9 20| CE A0 |10 19| D7 D0 |11 18| D6 D1 |12 17| D5 D2 |13 16| D4 GND |14 15| D3 +--------+
628128 – 128k×8-bit static RAM
- inputs: CE1, CE2, OE, WE, A
- bidirectional: D
+--\__/--+ NC |1 32| VCC A16 |2 31| A15 A14 |3 30| CE2 A12 |4 29| WE A7 |5 28| A13 A6 |6 27| A8 A5 |7 26| A9 A4 |8 25| A11 A3 |9 24| OE A2 |10 23| A10 A1 |11 22| CE1 A0 |12 21| D7 D0 |13 20| D6 D1 |14 19| D5 D2 |15 18| D4 GND |16 17| D3 +--------+
27512 – 64k×8-bit EPROM
+--\__/--+ A15 |1 28| VDD A12 |2 27| A14 A7 |3 26| A13 A6 |4 25| A8 A5 |5 24| A9 A4 |6 23| A11 A3 |7 22| OE A2 |8 21| A10 A1 |9 20| CE A0 |10 19| D7 D0 |11 18| D6 D1 |12 17| D5 D2 |13 16| D4 GND |14 15| D3 +--------+
39SF512 – 512k×8-bit flash
+--\__/--+ NC |1 32| VDD NC |2 31| WE A15 |3 30| NC A12 |4 29| A14 A7 |5 28| A13 A6 |6 27| A8 A5 |7 26| A9 A4 |8 25| A11 A3 |9 24| OE A2 |10 23| A10 A1 |11 22| CE A0 |12 21| D7 D0 |13 20| D6 D1 |14 19| D5 D2 |15 18| D4 GND |16 17| D3 +--------+
39SF010 – 1024k×8-bit flash
+--\__/--+ NC |1 32| VDD A16 |2 31| WE A15 |3 30| NC A12 |4 29| A14 A7 |5 28| A13 A6 |6 27| A8 A5 |7 26| A9 A4 |8 25| A11 A3 |9 24| OE A2 |10 23| A10 A1 |11 22| CE A0 |12 21| D7 D0 |13 20| D6 D1 |14 19| D5 D2 |15 18| D4 GND |16 17| D3 +--------+
Misc chips
Zilog Z80
- inputs: WAIT, INT, NMI, RST, BUSRQ, CLK
- bidirectional: D
- outputs: A, M1, MREQ, IORQ, RD, WR, RFSH, HALT, BUSAK
+--\__/--+ A11 |1 40| A10 A12 |2 39| A9 A13 |3 38| A8 A14 |4 37| A7 A15 |5 36| A6 CLK |6 35| A5 D4 |7 34| A4 D3 |8 33| A3 D5 |9 32| A2 D6 |10 31| A1 VCC |11 30| A0 D2 |12 29| GND D7 |13 28| RFSH D0 |14 27| M1 D1 |15 26| RST INT |16 25| BUSRQ NMI |17 24| WAIT HALT |18 23| BUSAK MREQ |19 22| WR IORQ |20 21| RD +--------+
Motorola MC6850
- ACIA (Asynchronous Communications Interface Adapter)
- pins:
- input – chip select and read/write control: E, CS0, CS1, CS2, R/W, RS (register select)
- input – other: TXCLK, RXCLK, RXDAT, DCD (data carrier detect), CTS (clear to send)
- bidirectional: D
- output: TXDAT, IRQ, RTS (request to send)
- registers:
- status (read): R/W=H, RS=L
- receive data: R/W=H, RS=H
- control (write): R/W=L, RS=L, E=↓
- transmit data: R/W=L, RS=H, E=↓
+--\__/--+ GND |1 24| CTS RXDAT |2 23| DCD RXCLK |3 22| D0 TXCLK |4 21| D1 RTS |5 20| D2 TXDAT |6 19| D3 IRQ |7 18| D4 CS0 |8 17| D5 CS2 |9 16| D6 CS1 |10 15| D7 RS |11 14| E VCC |12 13| R/W +--------+
Misc connectors
Raspberry Pi GPIO
- 20×2-pin male header on PCB
- even-numbered pins are closest to the edge of the PCB
+------+ 3V3 |1 2| 5V SDA/GPIO |3 4| 5V SCL/GPIO |5 6| GND GPCLK0/GPIO |7 8| GPIO/TXD GND |9 10| GPIO/RXD GPIO |11 12| GPIO/PCM_CLK GPIO |13 14| GND GPIO |15 16| GPIO 3V3 |17 18| GPIO MOSI/GPIO |19 20| GND MISO/GPIO |21 22| GPIO SCLK/GPIO |23 24| GPIO/CE0 GND |25 26| GPIO/CE1 ID_SD/GPIO |27 28| GPIO/ID_SC GPIO |29 30| GND GPIO |31 32| GPIO/PWM0 PWM1/GPIO |33 34| GND PCM_FS/GPIO |35 36| GPIO GPIO |37 38| GPIO/PCM_DIN GND |39 40| GPIO/PCM_DOUT +------+
RC2014 bus
40-pin 0.1″ in-line female pin header on backplane
1 A15 2 A14 3 A13 4 A12 5 A11 6 A10 7 A9 8 A8 9 A7 10 A6 11 A5 12 A4 13 A3 14 A2 15 A1 16 A0 17 GND 18 5V 19 M1 20 RST 21 CLK 22 INT 23 MREQ 24 WR 25 RD 26 IORQ 27 D0 28 D1 29 D2 30 D3 31 D4 32 D5 33 D6 34 D7 35 TX 36 RX 37 NC 38 NC 39 NC 40 NC
HD44780 LCD module
- 16 pins in-line
- use DB7…DB4 for 4-bit mode
- VO=contrast
- see also RC2014 devices I've built!
1 VSS ground
2 VDD supply voltage for logic (5V)
3 VO operating voltage for LCD (variable)
4 RS H=data, L=instruction
5 R/W H=read, L=write
6 E chip enable
7 DB0 data bus line
8 DB1 data bus line
9 DB2 data bus line
10 DB3 data bus line
11 DB4 data bus line
12 DB5 data bus line
13 DB6 data bus line
14 DB7 data bus line
15 A LED+
16 K LED-