Virtual Pipe Organ Keyboard and Console Scanner, USB MIDI  interface

USB Keyboard Interface for digital organs, complete with Virtual Pipe Organ Software System and MIDI software compatibility.

Complete with Virtual Organ Software - just connect keyboards and play!

OrganPCB.jpg (52020 bytes)Pipeorgan.jpg (246541 bytes)


KEYS2USB module scans and interfaces up to 3 keyboards, + pedalboard and stops

Single USB connection to host computer - use with Hauptwerk etc or with my VPO software

No need for additional power supplies or midi adaptors - this avoids more 'birdsnest' around your console!

I have designed this USB device for my own organ after many years of using an AT-bus  parallel interface.

My Virtual Pipe Organ software can be configured to use any soundfonts, from Baroque to Wurlitzer, and provides on-screen stop configuration, voicing and fine tuning - no need for any other software in order to enjoy dozens of freely downloadable soundfonts !


OrganSW.jpg (178056 bytes)


This is an interface for connecting bare keyboards directly to your computer (USB connector).   A single PCB card is all that is needed to link a PC to up to 3 keyboards, pedalboard and stops.  I have always distrusted the hardware midi interface method, as it only sends 'events' and if an 'event' is lost, you can easily suffer from stuck notes.   Midi is also a relatively slow interface  by today's standards (this is not helped by any Midi-USB Adaptor, the speed is still that of the Midi hardware).  The communication between the computer and your console, using this interface, is very much faster, and totally error-free.  The latency is so small that it is imperceptible, no matter what demands are made on the system.  Since the computer is continually updated with the STATE of the console contacts, it knows at all times which keys are being pressed and which are not.  This differs from the normal midi system, where only contact CHANGES are received by the computer.  It is rather like not knowing whether a light is on or off until it actually switches.

The complete state of your console is transmitted every 2mS*,      thus up to 4 x 64 = 256 'events' can be transmitted in 2mS !  (cf hardware Midi taking around 256mS (a quarter of a second) to send so many events !! )  

*scan rate can be changed, if necessary, higher or lower.

MAESTRO SOFTWARE, which I initially developed in 1999,  provides a classical or any other type of organ.    Many organ soundfonts (sf2 files) are freely available to download on the web.  This software is fairly basic, but it allows you to associate any soundfont preset/patch with any of your stops, either clickable on-screen or operating from your console.   Each stop can be regulated and fine-tuned on-screen.  Pistons are user-programmable to operate as either general or departmental,  to cancel,  set or add stops, and there are 16 complete user memories. 

For those who prefer to use other Virtual Pipe Organ software, eg Hauptwerk,  GrandeOrgue, Miditzer etc,  there is a MIDI compatible output device driver available, to provide such programs with 4 midi input channels, to correspond to up to 3 keyboards, pedalboard, stops and pistons.   Latency is not increased, so you get midi inputs without suffering any midi hardware issues.  The system can also be combined with keyboards that already have Midi interfaces,  to add a pedalboard and stops etc. 

KEYS2USB  scans 4  matrices, each of up to 64 notes/contacts.  Typically these might be Great, Swell, Pedal,  Stops & Pistons.  But since the Pedals use only 32 notes/contacts,  the other 32 might well be used for Stops & Pistons,  thus leaving another department available for a Choir keyboard.......     The software shown above has stops and pistons clickable on-screen, so hardware stops are not a necessity.  A good compromise  might be to have some real pistons for each keyboard,  but use on-screen stops.

Additionally the KEYS2USB module provides an 8 bit output port, to which your PC can send data - typically this might include serial streams to update a large number of Stop status indicators, or to operate motorised stops.  There are limitless possibilities and  I am happy to provide instructions to get you started.  The output port can be updated at approx. 16 bytes/mS.  A single serial stream can be sent at approx. 8kbit/sec,  so 100 stop indicators and/or actuators can be updated in just over one hundredth of a second.

Keys2USB  Specification

Dimensions:   75mm x 160mm x 20mm assembled circuit card, 5 mounting holes,  with mounting spacers

Outputs:      4  Departments x  8 matrix address lines for keyboards & stops.

                    1 x 8 bit output Port for operating stops, indicators etc.  The output port connector can supply limited  +5v dc power, from the host computer.

Inputs:          1 x 8 bit input Port for all keyboard & stop matrix input

Connectors:  6  x  10 pin ribbon cable plug headers

                     1   USB socket for connection to host PC

Diagnostics:  2 leds to indicate USB communication status.

Power:          30mA approx,   supplied by the USB connection from host PC. (no external power supply needed)

Sundries needed:

Ribbon cables,  fitted with connectors, to plug into KEYS2USB:

     Set of 5 cables,  3 x 300mm for keyboards and/or stop indicators,  1 x 1.5m for pedalboard,  1 x 2m for common data input - this cable receives data from every keyboard.   (+socket connectors - terminal strips)

Diodes - 1 needed per contact ,  set of 64 diodes for one keyboard, if not already present

Contact wire -  for home-made contacts (construction suggestions available)

                  4m length - sufficient for at least one keyboard of 61 notes

Reed Switches and magnets -  Ideal for pedal contacts, to avoid dust and dirt !

                A pedalboard would require 32 reed switches and magnets, plus 32 diodes

Virtual MIDI Port Driver (Software) - Only needed for use with 3rd party software that expects to see MIDI input devices.  

Contact:   for more details, cost and availability -

web counter

web counter