I2C Bus

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen

Preface

Most of the digital inputs/outputs in the HX3 system are realized via I2C port circuits, either partially onboard (versions up to HX3.6) or only on external interface boards (HX3.7). I2C is a bus system where all devices are connected to the bus in parallel. The distinction is made by an address setting (by jumper, with some boards such as MenuPanel also fixed). Just for more convenient wiring with flat ribbon cables, many I2C boards have two bus connectors that are connected in parallel and are therefore equivalent; the device position in a flat ribbon cable chain does not matter.

HX3 offers a total of 96 logical switch functions or "tabs" (e.g. "Tube Amp Bypass" or "Percussion On") as well as some special functions (from firmware 5.7, e.g. "Transpose Up/Down"). The HX3.6 mainboard provides 16 internal digital inputs onboard on PL35/36 (extendable by 5 external boards Preset16 or Extend16 up to 96 tab and preset functions) plus one rotary swich input. Switches are defined as tab stops, rocker or toggle switches, buttons are momentary switch contacts, normally open. All inputs are active low, i.e. tie to ground when switch/button is operated. You may leave the switch connectors open if you plan to control by MIDI only. The HX3.7 mainboard does not offer digital inputs onboard; use external I2C bus boards instead.

To extend the pushbutton/switch inputs, the boards Preset16, Extend16 and also the older Preset12-2 are available. They are connected to PANEL I2C box header on the mainboard and connected in series or parallel via I2C bus. Each board forms a group of 16 inputs (2 x 12 for Preset 12-2). The MenuPanel is also connected to this bus; conveniently, it is placed at the end of the chain, since it has only one bus connector. It is also possible to press several 10-pin connectors onto the ribbon cable at PANEL I2C.

Each board must be assigned a unique bus address via its jumpers ($60 to $65, see imprint and table below). On older Preset16 and Preset12-2 the addresses are hardwired ($60 or $61 for Preset16 old, Preset12-2 occupies two addresses $60 and $61). Each address may be assigned only once in the network, otherwise there will be bus conflicts.

The 16 inputs of a Prest16 or Extend16 board form a group, with 5 boards these are the groups 0 to 5 corresponding to the set addresses $60 to $65. It is not necessary to number the addresses and thus the group numbers of the connected boards consecutively, there may be "gaps". HX3 does not query unoccupied addresses.

All pushbutton/switches can be assigned to any HX3 function ("Tab") via the HX3 Editor parameters Switch Remap; the parameters in the group Input Mode determine whether a switch (ON, 255) or a pushbutton with LED (OFF, 0, default) is connected to the corresponding input.

For schematics please refer to our schematics repository on our update server.

Input Monitor

A very helpful function of HX3 Manager/Editor application is the Input Monitor. You can use it to check the function of all buttons and switches. Active (pressed) buttons are marked with "ON". By clicking into the input table you will also find out to which HX3.6 tab the input or button is assigned. Conversely, when you click on an assignment in Switch Remap, the active field in the input monitor tables jumps to the assigned input.

Each digital input can be enabled/disabled or redirected in the Switch Remap section of the HX3 editor, parameters 5100 to 5195. Preset and voice buttons may also be distributed to the 96 inputs as desired. Only restriction: Buttons of a certain preset function (Upper, Lower or Common) must be located on continuous buttons within a group or board, it is not possible to distribute for example Upper Voices on 2 boards/groups.

Interface Board Addressing

Digital input boards like Preset16 or Extend16 feature a dedicated I2C LED driver port circuit which must be configured via jumpers (solder blobs in this case) to provide individual address spaces for each 16-button group. The HX3.5 and HX3.6 mainboards have an integrated I2C port module at address $62, please do not use this address on external boards. Note that each board address may only be used once.

Board Addresses for Digital Inputs
Input group 0 1 2 3 4 5
Bus address $60 $61 $62 $63 $64 $65
Jumper on Preset16, Extend16 JP1, JP2,
JP3 closed
JP2, JP3 closed JP1, JP3 closed JP3 closed JP1, JP2 closed JP2 closed
Note Fixed addresses for
old Preset16 (Upper 0, Lower 1)
or Preset12-2 (both)
Used by LegacyBoard
and HX3.5/3.6 onboard I2C
Button-Funktion Button #0..#15 Button #16..#31 Button #32..#47
("onboard")
Button #48..#63 Button #64..#79 Button #80..#95
Button top left
or first input
#0 #16 #32 (PL25 Pin 1 on HX3.6) #48 #64 #80
HX3 Editor
Assign Parameter
#5100..#5115 #5116..#5131 #5132..#5147 #5148..#5163 #5164..#5179 #5180..#5195

The number of a specific pushbutton/switch results from the group base number (16 * group/board number) plus the specified offset. So for the board with address $63 the first input would be 16 * 3 = 48.

Please note: HX3.7 does not provide any digital button inputs. Instead, additional Extend16 or Preset16 boards may be used for tabs, buttons and switches. For default tab functions, use Preset16 or new Panel16-I2C jumpered to group #2 address $62. Input group #2 ($62) was assigned for the 16 button/switch inputs on the HX3.5/HX3.6 mainboards in the past. This address may be assigned to any Preset16/Extend16 board with HX3.7 as long as no LegacyBoard is used. However, HX3.7 LegacyBoard (see below) occupies input group #2 on fixed address $62. Do not assign a board address twice.

Digital Input Boards

Onboard Inputs

Connection of buttons with LEDs on PL35 PERC/VIBON and PL36 PRESET/EFX/SPLIT or Extend16. Use an R value of 1k for blue or white LEDs, as these LEDs are very bright.

On HX3.5 and HX3.6 boards, a I2C port circuit on address $62 is integrated. The PL35 and PL36 connectors carry the 16 internal digital inputs; you can connect your own pushbuttons/switches or a Panel16 board here (see #Panel16). Many installations will get by with these 16 tabs. On HX3.7, a Panel16 I2C jumpered to address $62 replaces the oboard inputs.

Pinout of Panel16 I2C oder HX3.5/3.6 Panel16 (onboard inputs) is as follows:

Pinout PERC/VIBON/LESL
Pins Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 Pin 10
Input # #32 #33 #34 #35 #36 #37 #38 #39 +5V Gnd
Default function Perc ON Perc SOFT Perc FAST Perc THIRD Vib ON
Upper
Vib ON
Lower
Leslie
RUN
Leslie
FAST
+5V Gnd
Pinout PRESET/EFX/SPLIT
Pins Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 Pin 10
Input # #40 #41 #42 #43 #44 #45 #46 #47 +5V Gnd
Default function Preset 1
oder V1
Preset 2
oder V2
Preset 3
oder V3
Preset 4
oder V/C
Reverb I Reverb II Bass
On Leslie
Split ON +5V Gnd

HX3.7 only: As an alternative you may use the LegacyBoard or Extend16 board on address $62 for your own switch or button assembly. This is equivalent to HX3.5/HX3.6 onboard inputs.

Panel16

Note: Applies to HX3.5/3.6 onboard digital inputs (or HX3.7 with LegacyBoard/Extend16) only!

Easiest solution for a register/stop panel is using our Panel16 board connected to PL35 PERC/VIBON/LESL and PL36 PRESET/EFX/SPLIT by two 10-wire flat ribbon cables. Panel16 is not an I2C bus board, it just provides 16 buttons for complete HX3 control.

Panel16 has 4 "Common Preset" keys in the layout for standard organ installations. The "Common Preset" keys are binary coded so that more than one preset key can be active (pressed simultaneously). This allows 16 key combinations (all off to all on) corresponding to Common Presets 0 (live) to 15. Alternatively, these keys can be used to select V1-V3 vibrato or C1-C3 chorus depth. In this case, the Vibrato rotary switch on PL24 is omitted; then set System Inits parameter #1497 to 2.

Panel16 Default Button Assigment (onboard connectors or HX3.7 LegacyBoard)
Buttons
upper row
Perc ON Perc SOFT Perc FAST Perc THIRD Vib ON upper Vib ON lower Leslie RUN Leslie FAST
Buttons
lower row with vibrato buttons
V1 V2 V3 Vib/Chorus Reverb I Reverb II Bass On Leslie Split ON
Buttons
lower row with preset buttons
Preset 1 Preset 2 Preset 3 Preset 4 Reverb I Reverb II Bass On Leslie Split ON

Buttons used for Common Presets, Drawbar Voices or V1..V3 V/C may be remapped deliberately to any digital input using the Switch Remap table in the HX3 Editor application.

Preset16 and Panel16 I2C

Two daisy-chained Preset16 boards connected to PL26 PANEL. MenuPanel may be connected to last Preset16 board.
Connectors and jumper locations of Preset16-2 board (new version)

Preset16 and Panel16 I2C are a stand-alone panels with 2 rows of 8 LED buttons each. It is connected to HX3 PANEL I2C box header via a 10-pin ribbon cable. Additional Preset16 can be connected to the second 10-pin header each (daisy chain). Both 10-pin headers on Preset16 can be used (are wired in parallel). While Preset16 button layout is ideal for preset and voice selection, Panel16 I2C has just a different button color layout for standard organ tabs.

A plugged jumper on older Preset16 boards selects the upper manual, if available. If the jumper is missing, preset16 operates on lower manual. Newer preset16 boards have three jumpers (solder bridges) to set preset16 to upper or lower manual voice presets (address $60 and $61) (see table Board Addresses for Digital Inputs). Set solder pads to get one of the board addresses given in the table.

If you use two drawbars per manual, using DBX or older DB9-MPX (obsolete) drawbar cards, set System Inits parameter #1505 "2nd Drawbar Select Voice Number" to 1. This will activate the first drawbar set on preset 0, and the second drawbar set on preset 1. You can use any voice from 1 to 15 to activate the second drawbar set. Higher numbers will disable the switchover.

The board address may be arbitrary (except $62 for group 2 on HX3.5/HX3.6), because the preset buttons are assigned via Switch Remap. However, $60 and $61 are pre-configured in the firmware to remain compatible with existing installations. To achieve compatibility with previous installations, set bits 0 and 1 in *System Inits* "Various Configurations #1501, which swaps upper and lower button row of Preset16. Alternatively, move the gray button caps to the upper button row; they can be pulled off with some force. Set the Input Modes for groups 0 and 1 to pushbuttons or switches. The Switch setting can also be used with pushbuttons; in contrast to the Button setting, a voice preset is then called up as soon as the button is pressed and not when it is released, but saving is only possible with the help of the Cancel button (press > 2sec.). If necessary, define the Cancel key of the upper and lower manual in Switch Remaps and the voice preset for the second drawbar set in System Inits #1505.

Preset16 Default Button Assigment
Buttons
upper row
Live setting Voice 1
(or 2nd DB set)
Voice 2 Voice 3 Voice 4 Voice 5 Voice 6 Voice 7
Offset
Input number
# +0 # +1 # +2 # +3 # +4 # +5 # +6 # +7
Buttons
lower row
Voice 8 Voice 9 Voice 10 Voice 11 Voice 12 Voice 13 Voice 14 Voice 15
Offset
Input number
# +8 # +9 # +10 # +11 # +12 # +13 # +14 # +15
Assignable via Switch Remap, can be on any board and in any group, but continuous buttons

Extend16

Extend16 switch extension
Connection of keys with LED indicators to Extend16, PL17 and PL18.

Extend16 boards are basically Preset16 without buttons; the connection of switches or buttons (possibly with LED) is done as described above for the on-board inputs of the HX3.6. The pinout of PL17/PL16 on the Extend16 board is compatible with PL35/PL36 of the mainboard. In addition, all pushbutton inputs are routed to 3-pin connectors. Extend16 can also be used to select presets if configured accordingly and then replace the older Preset12-2.

The number of the pushbutton/switch results from the group base number (16 * group/board number) plus the specified offset. For the board with address $63 (group 3) the first input would be 16 * 3 = 48.

Extend16 Pinout PL18
PL18 Pins Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 Pin 10
Offset Input number # +0 # +1 # +2 # +3 # +4 # +5 # +6 # +7
Single inputs PL1 PL2 PL3 PL4 PL5 PL6 PL7 PL8 +5V Gnd
Extend16 Pinout PL17
PL17 Pins Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 Pin 10
Offset Input number # +8 # +9 # +10 # +11 # +12 # +13 # +14 # +15
Single inputs PL9 PL10 PL11 PL11 PL13 PL14 PL15 PL16 +5V Gnd


For more convenient wiring, the LED pushbutton inputs are also routed to 16 three-pin connectors, to each of which an LED pushbutton is connected. If you use switches or pushbuttons without LEDs, leave the L+ connector open. Series resistors for the LEDs are already included here, you can connect red, yellow and green LEDs directly to PL1..PL16. For blue and white LEDs an additional series resistor of 1kOhm should be inserted into the L+ line, otherwise the LEDs are too bright and dazzle. Pin assignment PL1..PL16:

Extend16 Single Inputs
Pin Function
BG Button Ground
BL Button and LED connection
L+ LED+ (Anode)

The board address may be arbitrary (except $62 for group 2), because the preset buttons are assigned via Switch Remap. However, $60 and $61 are preset in the firmware to remain compatible with existing installations. Set the Input Modes for groups 0 and 1 to push buttons or switches. The Switch setting can also be used with pushbuttons; unlike the Button setting, a voice preset is then called up when the button is pressed and not when it is released, but saving is only possible using the Cancel button (press > 2sec.). If necessary, define the Cancel key of the upper and lower manual in Switch Remaps and the voice preset for the second drawbar set in System Inits #1504.

Preset12-2 (obsolete)

The Preset12-2 is connected to HX3.6 PL26. The ribbon cable can be extended with an additional connector to connect the menu panel.

Preset12-2 is an interface board for up to 2 x 12 "inverted" preset keys (with optional LED indicators) as found on Hammond console organs. The Preset12-2 board is basically equivalent to two Panel16s or Extend16s, with the last 4 inputs missing. It is connected to the HX3.6 PL26 via a 10-wire ribbon cable. Pin 1 of the two 14-pin headers is preset 0 = Live (right drawbar set) = B button, pin 2 is preset 1 = Live (left drawbar set) and so on down to pin 12 = CANCEL button.

The standard organ firmware supports momentary contacts. To save a preset, press and hold the preset button/pushbutton for 2 seconds.

When using 2 Drawbar Sets per Manual by DB9-MPX Drawbar/Multiplexer and Preset12-2 board, set HX3 Editor "System Inits" parameter 1505 "2nd Drawbar Select Voice Number" to 1. Switching Drawbar Sets A#/B is only active when no Common Preset is on ("Live" mode #0). If a Common Preset (#1..#99) is selected, the right drawbar set is always active.

Pinout PL1 (LEDs)
Pin - Funktion
1: LED 1 cathode (Preset 0, "B" key drawbar set)
2: LED 2 cathode (Preset 1, "A#" key drawbar set)
3: LED 3 cathode (Preset 2)
...
12: LED 12 cathode (Preset 11, CANCEL key)
13,14: Common LED Anode (+)

The LED outputs have integrated 220 ohm resistors, resulting in an LED current of 15 mA. The long leg of the LEDs is the anode (+), the short leg is the cathode (-).

Pinout PL2 (Buttons/Switches)
Pin - Function (active low – switch to Gnd)
1: Switch 1 (Preset 0, "B" key drawbar set)
2: Switch 2 (Preset 1, "A#" key drawbar set)
3: Switch 3 (Preset 2)
...
12: Switch 12 (Preset 11, CANCEL key)
13,14: Common Gnd (0V)

To achieve compatibility with existing installations, set bits 0 and 1 in *System Inits* "Various Configurations #1501. This will restore the correct voice preset order. Set the Input Modes for groups 0 and 1 to pushbutton or switch. The Switch setting can also be used with pushbuttons; in contrast to the Button setting, a voice preset is then recalled as soon as the button is pressed and not when it is released, but saving is only possible using the Cancel button (press > 2sec.). If necessary, define the Cancel key of the upper and lower manual in Switch Remaps and the voice preset for the second drawbar set in System Inits #1505.

Preset12-MPX (obsolete)

The old Preset12-MPX boards for HX3 mk2/mk3 can also be used for HX3.6 together with two sets of non-MPX drawbar boards. However, they do not provide a variable preset number for the second drawbar set. Instead, the second drawbar set is hardwired to Voice Preset 15. So you must change the second drawbar set number in parameter #1505 to 15, not 1 if you are using Preset12-MPX.

See Anschluss der Preset-Platine Preset12-MPX (german) for details.

To achieve compatibility with existing installations, set bits 0 and 1 in System Inits "Various Configurations #1501. This will restore the correct voice preset order. Set Input Modes for groups 0 and 1 to pushbutton or switch. The Switch setting can also be used with pushbuttons; in contrast to the Button setting, a voice preset is then recalled as soon as the button is pressed and not when it is released, but saving is only possible using the Cancel button (press > 2sec.). If necessary, define the Cancel key of the upper and lower manual in Switch Remaps and the voice preset for the second drawbar set in System Inits #1505.