Here are some MIDI encoders designed for retrofitting older organ consoles for use with virtual pipe organ software such as Miditzer and Hauptwerk. The code is freely available to modify or to use "as is". Since the programs are written in C with plenty of documentation they should prove highly accessible for others to modify. An ICSP connection provides easy connection of a PICKit 3 or equivalent programmer. A complete MPLAB project file allows programming via the Microchip MPLAB IDE. Where HEX files are available, those files may be loaded to a UBW32 utilizing the UBW32's bootloader. This allows programming (and reprogramming) without purchasing a dedicated programming device.

This is the latest project for midifying a single manual with up to 11 pistons and three analog inputs. Together with users on the Miditzer forum, we've been aiming at a project which uses a single USB connection, keeps all wiring local to a single manual, uses a single programming file, and is simple to configure and build.
The UBW32 is a PIC-32 based design from Brian Schmalz. It is available from www.sparkfun.com. Photos will follow soon.
Above is a UBW32 from www.sparkfun.com on a proto board which provides space for the connectors that are needed to connect eight keyboard scanners (or 4 banks of 4 MidiBox DINs each). The inline connectors are for 4 potentiometers and for five status outputs. Since taking this photo I added a +5v power supply and switching transistor to the empty area at the upper right of the proto board. That's dedicated to switching a solid-state relay which controls AC power to an audio amplifier to prevent "thumps" when the organ console is powered up. This is the board I am currently running in the Rodgers 321A organ console.
The two collections of files include project files for the MPLAB X (beta) IDE. This is a free Integrated Development Environment from Microchip. Also required is their C32 Compiler. I'd suggest downloading the evaluation version which will drop some optimizations after the trial period and continue to run in the LITE mode. The third piece of the puzzle is the Microchip Applications Library (MAL) which includes the USB software built into these projects. While it's possible to program the UBW32 utilizing its boot-loader, I've been using the PICkit 3.
Check the photo below for the farm-boy approach I took to the first trial connection using the Microchip USB Starter Kit II on their I/O Expansion board. In this photo the PIC32 encoder is standing in for that top-left board which is the PIC18F4620-based encoder. The string is similar to what we used to call "binder twine". Hmmm....
These projects are self-documenting, ha! ha! Seriously, if there are questions I'll be happy to respond. Just send an email. I haven't taken the time yet to write step-by-step instructions, but it's something I have on my to-do list. I'm sometimes willing to add a feature or make modifications to the programs if you need a particular function or configuration.

The MidiCore4 program has been refined and circuit boards have been laid out and ordered for an Organ Console Encoder and Keyboard Input Readers. The Console Encoder will handle up to eight keyboards or combinations of keyboards, pedal boards, stops, and pistons. There's one Keyboard Scan board per keyboard or for every 64 switches. There are connections for four pots and outputs for five of the Hauptwerk status indicators. I am willing to make the circuit board layouts available to individuals who request them, but would prefer being in the loop so that whenever possible orders can be combined for better pricing.
New features added 10/26/2010:
- Swell pedal linking/swapping for operating two virtual
swell pedals from one console pedal
- Translation tables for 64 stops and 64 pistons
A few notes about how Hauptwerk, Reaper Audio, and other software is configured for our VPO. This setup is a bit dated but may be helpful for anyone using the EMU/Reaper combination.