Keyboard Scanner sub-module
for music synthesizers.



This module is intended for use in conjunction with the parallel port adapter and a PC. It allows the PC to scan the synthesizer keyboard to which it is connected, then to drive DCOs or VCOs via D/A converters. It essentially contains the required parts to scan 32 keys, so two or more will be required for larger keyboards.

As shown in the diagrams, it is wired so each group of 8 keys is accessed via an external select line, though a little cutting and jumpering using the alternate select lines of the 74LS138s, the keys can be selected as groups of 16 as is required by the parallel port adapter.

Alternately, the enthusiastic may choose to connect these to a dedicated microcomputer such as the z80 based TEC-1 or other similar small systems, in which case the select lines would probably be used as is, or in conjunction with an additional 74LS138.

A little on how it works:

The schematic of the Keyboard Scanner. Click for a larger version

For a general description of how it works, please see the parallel port adapter.


The component overlay. Connections can be determined from the circuit diagram.

Before you start assembly, check the board for etching faults. Look for any shorts between tracks, or open circuits due to over etching. Take this opportunity to sand the edges of the board if needed, removing any splinters or rough edges.

When you are happy with the printed circuit board, construction can proceed as normal, starting with the links first, followed by the diodes, the IC sockets if used, then moving onto the taller components.

Take particular care with the orientation of the polarized components such as the electrolytics and ICs.

When inserting the ICs in their sockets, if used, take care not to accidentally bend any of the pins under the chip. Also, make sure the notch on the chip is aligned with the notch marked on the PCB overlay. Note that sockets introduce a point for future failure. I only use sockets when I expect to try several ICs for test purposes.

As mentioned, you may wish to modify the board to add a fourth address line.

  • On the first and third chips, isolate pin 5 (E2 active LOW enable pin). You will need to jumper the 0V line around the cuts in the tracks
  • On the second and fourth chips, isolate pin 6 (E3 active HIGH enable pin). Do this by cutting the track between pin 16 of the chip and the large unused pad.
  • Join all of the isolated pins together, i.e. chip 1, pin 5 joins to chip 2, pin 6 joins to chip 3, pin 5 joins to chip 4, pin 6. If you are using more than one scanner PCB, continue this right through the remainder of the boards. This new set of connections are A3, the fourth address line.
  • New select lines are made by joining the E1 active LOW enable pins in pairs, i.e. the pad marked E0 is connected to the pad marked E1, and these form the new E0 select line. The pad marked E2 is connected to the pad marked E3, and these form the new E1 select line, and so on across the remainder of the PCBs.


If we consider each set of contacts on the keyboard as a switch, we will find that we have at least one isolated contact per key, that makes contact when the key is pressed. This is what we wire each corresponding diode to. KEY00 goes to the contact for the lowest note, KEY01 to the second lowest and so on. Note that these are not marked on the PCB. Ideally, the contact you will be wiring to is the center contact of a single pole double throw switch arrangement. When pressed, this contact will touch a second normally open contact. These normally open contacts need to be wired together right across the length of the keyboard. In many cases this will already be done for you in the form of a keying bus. This bus is then connected to an input on the parallel port so that it can be read. If your keyboard has a second, normally closed contact, these can be connected together to form a second bus, assuming they aren't already wired this way. This bus is then connected to a second input on the parallel port so that it can be read. Theoretically, this second bus would give us the opportunity to read keyboard velocity, dependent on the scanning frequency.


  • The first run of the PCB mistakenly labels the A2 address line as A3. It is indeed A2.
  • Fast 74xxxx CMOS chips with the same pin configuration can be used in the circuit.
  • If your keyboard uses individual key-switches instead of buses, it would be possible to wire the scanner as a matrix - i.e. the 1st and 33rd keys would both be connected to the first output of the first 74LS138. It is important to note that only the 1st would actually connect to KEY00. A second diode would need to be added between the 33rd key and pin 15 if the 74LS138 to maintain isolation, and so on for the remainder of the keys. The bus spanning keys 00 to 31 would then go to one input on the parallel port while the bus spanning keys 32 to 63 would then go to a second input on the parallel port.
  • Being a TTL based digital circuit this board requires 5 volts.
  • This board has not yet been tested, though I may be prepared to sell a couple to people with sufficient skill to do their own trouble shooting, if they wish to evaluate it. Demand will determine how many are produced in the future. Despite what the listing on the PCBs for sale page says, I DO have some in stock.
  • Please email me if you find any errors.

74LS138, 74HC138 etc4
cgs25 PCB1

Parts list

This is a guide only. Parts needed will vary with individual constructor's needs.

If anyone is interested in buying these boards, please check the PCBs for Sale page to see if I have any in stock.

Can't find the parts? See the parts FAQ to see if I've already answered the question. Also see the CGS Synth discussion group.

Article, art & design copyright 2001 by Ken Stone

Modular Synth Home