Output extender mounted in rack
Output extender module mounted in the rack box project.

A common problem, at least for me, when using I/O devices is running out of ports. When I was using the parallel I/O device in my rack box project, I ran out of outputs. I solved that by making this output extender. It’s quite simple; it uses a multiplexer circuit to multiplex (duh) 3 outputs and turn them into 7. It does have some limitations though…

Table of content


Demultiplexer 74HC138
3-line to 8-line decoder/demultiplexer 74HC138 pin-out.

I used the 3-line to 8-line decoder/demultiplexer circuit 74HC138. It has, as implied by the name, 3 inputs and 8 outputs. And the outputs are inverted, which means that they are low when turned on. That was perfect for my purpose, since all my modules had open-collector outputs, which operates the same way.

There are however some limitations to this approach; multiplexing the outputs means that only one of the multiplexer outputs can be on at any given time. For some applications this may be a problem, but it wasn’t for me; since I only used the outputs to send signal pulses to other modules. So if I wanted to pulse an output on the multiplexer I needed to turn on 1, 2 or 3 of the outputs on my parallel I/O device. The outputs on the 74HC138 multiplexer is rated for 25 mA, which was more than enough for my needs.

I initially said that I turned 3 outputs into 7, but the 74HC138 multiplexer has 8 outputs. So what happened to the last output? Lets have a look at the function table and find out.

Function table

Function table 74HC138N
Function table for the 74HC138N multiplexer circuit.

This is function table for the 74HC138 multiplexer, it explains the relation between the inputs and the outputs. Looking at it we can see that in order to turn off all outputs we need to set Enable 3 low. So you can either:

  • Use E3 and the inputs to get 8 outputs, that gives a input/output ratio of 2.
  • Or use only the inputs and get 7 outputs, which gives a input/output ratio of 2.33.

So that was what I did; I used only the three inputs, set Enable 3 constantly high and disregarded output 1.

Please leave a comment or tweet if you have any questions or feedback on this project.

Image gallery

Parts list

Project: Digital output extender module with multiplexer by Thomas Jensen is licensed under CC BY-SA 4.0 with attribution required.

Similar projects

  •   Created Aug 02, 2006
  •   Last modified 2 weeks ago
  •   Project status: Scrapped