Research project on the development of new tools for musical expression at the University College Ghent

Godfried-Willem RAES


Technical Description

A computer controlled 6-octave reed organ with touch control, swells and individual registration. The starting point for this construction was an old Emile Kerkhoff (1887-1956) suction reed organ, of which we only kept the reeds and the key springs. A new electric compressor was added (a small Laukhuff Ventola, rated for 80mm H2O pressure (800 Pa) and 3000 l/min) replacing the bellows. The instrument has 4 sets of reeds for the bass side and 4 sets of reeds on the treble side. In addition it is equipped with 1 octave (13 reeds) of reeds for a subbass. These sound the notes 12 -24. The picture shows the note valves for this subbass with the box resonator removed. Taking the registers into account, the real sounding ambitus ranges from midi note 12 to 113, or an impressive eight and a half octaves!

Two swells are provided, as well as a reflective tremulant mechanism. In total the organ has 305 reeds. Although the instrument is signed and labeled Kerkhoff, we have doubts with regard to the real builder. It may very well be an American made Beckwith reed organ (Type: Grand Orchestral Action G, 6 octaves 18 stops). Embossed in the back of the triplex soundboard, it carries the series number 54938.

As usual in our automated instrument designs, we designed a sturdy welded frame made in stainless steel for the entire magnet and electromechanical assembly. As a reminder: we favor AISI304 stainless steel not only for its visual qualities and freedom of maintenance, but also because it is a nonmagnetic material. Other than in our first robot reed organ, here we decided to leave the original keyboard in place. As a consequence, it becomes possible to play the organ in the traditional way even in combination with automated playing. For registration and expression control however, we did not foresee a manual alternative. We used tubular solenoids, 20mm in diameter, to activate the keys here serving as levers to reduce the required force to push the pallets down. This saved us the work of replacing all pallet springs with lighter ones as we did in <Harma>. Since the magnets are wider then the distance between keys/pallets (13.5mm), we had to mount them on alternating rows. This became another reason for not activating the pallets directly. The eight registers are each divided in a bass and a discant unit. So we provided also control for these 8 registers. Although we first wanted to implement this using solenoids with variable voltage , such that gradual changes ('expression') would become possible, some experimentation revealed that the small benefit was not worth the effort and increase in complexity. Gradual opening of the register shutters did just not produce the expected result. However, gradual opening of the dynamic shutters appeared to be an interesting feature worth implementing. Our first attempt using soft shift linear solenoids to this end were not successful because these solenoids did not produce enough pulling force to guarantee a smooth action. Therefore we finally decided to use linear stepper motors with a threaded shaft. This approach makes a smooth action possible at the expense however, of some extra noise caused by the audible stepping frequency. Although this mechanism is relatively low in action, the big advantage of it is that it draws no current to keep position, but only so on movement. The whole traject from closed to fully opened takes about 500ms.

The design of the tremulant was quite adventurous in some respects. At first it appeared that we had about four options:

The radial compressor used for the wind supply is equipped with a wind regulating slide mounted on the inlet of the windchest. This slide can also be controlled and allows for faster wind pressure changes than can be achieved by regulation the rotation speed of the motor. This slide is driven by a stepping motor coupled to a dented belt. In the midi implementation this slide is mapped on the standard windcontroller (nr. 1), whereas the motor speed is mapped on controller 7, the general volume controller.
The note range of the instrument is 29 to 101 expressed in midi note commands. Taking into account the registers (32', 16', 8', 4' and 2'), the real range becomes 17 to 113. Although in the design phase we considered making the instrument fully polyphonic, we finally decided to limit polyphony on this automate to 32 notes. For a full 73 note polyphony would have implied the construction of a hefty 45 A / 12 V power supply. Even though possible, the compressor would never have enough wind to make all the reeds sound. Thus we decided to forsake full polyphony. Even at 32 notes held simultaneously (particularly in the bass...) the wind supply is barely powerful enough. The finished instrument has following dimensions: depth 490mm, width 1165mm, height 1000mm. The weight is ca. 60kg.

<HarmO> is controlled by no less than 13 PIC microcontrollers (6 for the notes and the registers, 3 for the linear stepper motor controllers, 2 for the compressor motor, 1 for the lights, the motor control signals and the tremulant) and takes midi input directly. Of course the instrument can play standard midi files. <HarmO> was designed from the beginning on with velocity control, based on precise timing of an initial high voltage pulse to activate the note solenoids. The effect of velocity control or touch sensitivity is of course by far less effective than it is on our player piano or on the organs equipped with conical windchest valves such as <Bomi>. The speed wherewith the valves open in a reed organ being generally much faster than the rather slow build up of a sound from the reeds. However, any touch sensitivity a reed organ played by a human might have, is also implemented and at least surpassed in this robot. In fact in this robot reed organ, we realized a major improvement over the first similar but smaller reed organ robot, <Harma>. The fact that this robot is tuned to 440Hz, rather than the 435Hz on <Harma>, makes it more suitable for integration in our robot orchestra.

In 2015 we added a new feature to the wind regulation mechanism: it now is 'intelligent' in that it will automatically adapt windflow to to notes affectively played as well as to registers drawn and volume setting requested. It is no longer possible for users to make the mistake to let the motor turn at full speed (high volume setting) when no notes are being played. The firmware for the wind motor control was revised a few times, the last revision is dated 27.11.2022.

The circuit overview looks like this:

Circuit details as well as a very detailed building log can be found in the service manual at the very end of this page.

Design and construction:




Tessituur: 29 (Fa) - 101 (Fa) [ 6oktaven ]

Hiervoor werd uitgegaan van een oud harmonium -volgens het label althans- gebouwd door Emile Kerkhoff, een ambachtelijk wat aan lager wal geraakte orgelbouwer gevestigd in Brussel. De gehele bouw lijkt als twee druppels water op een Beckwith instrument, type 'Grand Orchestral Action G, 6 octaves 18 stops'. Wellicht heeft Kerkhoff niet veel meer zelf gebouwd dan de kast rond het instrument... Het instrument is voorzien van acht onafhankelijke reeksen doorslaande tongen en werkt met zuiglucht, zoals het gros van de naar Amerikaans model gemaakte 'reed organs'. Vier registers voor de bas en vier voor de diskant. Als extra is het harmonium uitgerust met een subbasregister bestaande uit 13 rieten geplaatst in een afzonderlijke bakje dat als resonator dienst doet. Rekening houdend met de registers, strekt de eigenlijke muzikale tessituur van dit instrument zich uit over acht en een half oktaaf (12-113). De balgen en windlade verwijderden we integraal en werden vervangen door een kompressor met motorbesturing, een Laukhuff Ventola zuigblazer. (3000 l/minuut, bij -80 mm H2O druk). Daar dienden we wel een goede geluidsdemper voor te ontwerpen want geruisloos zijn deze Ventola blazers bepaald niet...

De kracht vereist om de paletten rechtstreeks, dus zonder de hefboom gevormd door de toets en het eigen gewicht van de toets, in te drukken maten we als 2.45 Newton (250 gF). Bij de bouw van <Harma>, ons eerste robot harmonium, hadden we de kracht van de veren ongeveer gehalveerd teneinde kleine Laukhuff elektromagneten te kunnen toepassen. Het nadeel van dat opzet was dat het instrument makkelijk neiging heeft tot lekken wanneer druk in de lade wordt opgebouwd zonder dat noten gespeeld worden. Dit euvel wilden we hier vermijden. Buisvormige elektromagneten met een diameter niet groter dan 13mm (wat vereist zou zijn om de magneten uitgelijnd met de paletduwers te plaatsen) en een dergelijke kracht (2.45 N) worden niet gefabriceerd. Daarom maten we de kracht nodig om de toetsen in te drukken en kwamen uit op 1.2 tot 1.5 Newton. Heel wat minder dus, wat uiteraard te wijten is aan de werking als hefboom en aan het eigengewicht van de toetsen.

Hartafstand tussen de bedieningspallen voor de rieten was 13.54mm, waardoor we de magneten om en om (in twee rijen) dienden te monteren. Wanneer we de bedieningsmagneten om en om monteren, mogen ze dan hooguit 27mm breed zijn. De gebruikte types zijn 20mm breed. Voor deze montage plooiden we een inox plaat van 2 mm dikte in een assymetrische U-vorm. In de onderzijde daarvan werden de 73 gaten voor de montage van de elektromagneten geboord. Om de automaat goed te kunnen afregelen, werd de gehele elektromagnetendrager zo gemonteerd op de zijdelingse steunen, dat de hoogte ligging heel nauwkeurig kan worden ingesteld.

De registers zijn telkens gedeeld in bas- en diskant. Voor de automatisering daarvan gebruikten we elektromagneten met dubbele spoelen van de firma Laukhuff. Er zijn 4 registers aan de baskant en 4 aan de sopraankant. Daarbovenop komt nog het subbasregister. Voor de automatisering van de zwelkasten, werden twee lineaire stappenmotoren van Nanotec toegepast. De toepassing van soft-shift lineaire magneten hadden we oorspronkelijk voorzien, maar daarvan dienden we uiteindelijk af te zien vanwege de te geringe kracht die deze komponenten kunnen leveren (8 tot 13 Newton, terwijl we eigenlijk meer dan het dubbele nodig bleken te hebben). Bovendien vormde ook het vermogen nodig om een bepaalde positie aan te houden (21 Watt) een bezwaar. Lineare stappenmotoren met een schroefgang-as houden hun positie wanneer ze volledig stroomloos worden gemaakt. De snelheid van deze mechanismen is echter heel wat lager dan bij soft-shift magneten. Het hele trajekt met de lineaire motoren neemt ca. 500ms in beslag, terwijl dit bij toepassing van soft-shift magneten slechts 45ms zou duren.

De radiale kompressor is voorzien van een regelschuif, gemonteerd aan de inlaat van de windlade. Deze regelschuif werd eveneens geautomatiseerd en daarvoor ontwierpen we een mekanisme met een stappenmotor en een getande riem. Hierdoor wordt een snellere regeling (ca. 200ms voor het gehele trajekt) van de winddruk mogelijk dan wat voorzien is via sturing van het toerental van de motor zelf. De windregelschuif werd gemapt op midi kontroller nr.1, terwijl de motor snelheid gestuurd kan worden middels midi kontroller 7.

Voor de elektronische besturingen van de toonkleppen gebruikten we onze eigen en beproefde ontwerpen voor muziekautomaten, meer in het bijzonder, de schakelingen ontwikkeld voor onze player pianos en later in talloze andere robots toegepast. Daardoor kon ook aanslaggevoeligheid worden geimplementeerd. Hoogst ongebruikelijk voor een harmonium, maar we hadden het al eerder gedaan bij de bouw van <Harma>, <Qt>, <Bomi> en <Bako>. <HarmO> kan rechtstreeks via midi zowel als UDP/IP worden aangestuurd. Ook de winddruk is heel nauwkeurig regelbaar, waardoor crescendos perfekt mogelijk zijn. Dit effekt is trouwens op een andere wijze ook te bereiken door gebruik te maken van de beide eerder genoemde zwellers.

Een klein grapje hebben we onszelf bij de bouw van deze automaat toch gepermiteerd: een klopgeest werd ingebouwd... Ook die klopgeest kan via midi kommandos aan de praat worden gebracht.

Niet minder dan dertien mikroprocessoren, elk voorzien van eigen en onderling verschillende firmware, staan in voor de interne besturingen van de diverse onderdelen van deze robot.

Tot de revizie die <HarmO> onderging in 2015 dienden komponisten die voor deze robot wilden schrijven er terdege mee rekening houden dat de winddruk geregeld moest worden in funktie van de gewenste dynamiek enerzijds, maar ook in funktie van het luchtverbruik. We dienden er telkens wee op te wijzen dat het luchtverbruik voor lage tonen heel wat groter is dan voor de hoge. De vroeger meest voorkomende fout in midi bestanden, bestond erin de druk bij aanvang van de track of partij in te stellen op een vaste waarde. Hierdoor echter werd druk opgebouwd zonder rekening te houden met het al dat niet spelen van tonen. Dit leidde niet alleen tot volkomen overbodig lawaai van de motor, maar ook vaak tot lekken in de toonkancellen. De enige goede metode bestond erin, na het inbrengen van de muzikale partij, de windkontroller instellingen (nr.7) voor de gehele track te bepalen in funktie van de notentekst en de gewenste dynamiek en expressie. In 2015 evenwel voegden we een microprocessor toe in <HarmO> die de motorsturing volledig afhankelijk maakt van het effektieve luchtverbruik en van het gewenste volume. Een aantal extra midi controllers werden aan de implementatie toegevoegd. De meeste recente upgrade van de firmware voor deze functie werd uitgevoerd op 27.11.2022.

Tech-Specs -----------------------------------------------Technische specifikaties:

Aanvang bouw: september 2009

Operationeel sinds december 2009, volledig afgewerkt begin 2010.
Laatste software upgrade: 27.11.2022

Size------------------------------------------------------------------------------Afmetingen van het afgewerkte instrument:

  • diepte: 500 mm
  • breedte 1165 mm
  • hoogte 1080 mm
  • Gewicht: 115 kg


  • 230V / 5A - 50/60Hz

Insurance value (for organisors):

25.000 Euro

Rental / concerts:

This instrument can be rented from Logos Foundation. A technician from logos will allways accompany the automate. The tariff is 750 Euro a day. Transportation is possible with a normal not too small liftback car.


Midi Implementation

Midi Implementatie:

The midi channel for <HarmO> is set to 9 (if counting channels from 0, otherwise, 10)

  • Note ON/ Note Off notes 29 to 101 with velocity byte. (real sounds: 17 - 113) The velocity byte steers the speed wherewith the keys are depressed. This has no effect on sound volume but affects legato versus staccato playing.
  • The ghost beaters are mapped on midi notes 0 and 1 and have velocity implemented. Note off is not required here.
  • 1: Wind controller: 176 + channel, 1, value (This controls the wind slide) The full traject takes some 250ms to complete. This controller can be used for moderately fast modulation of the amplitude within the limits set by controller 7. The usefull traject goes from 24 to 100.[temporarely disabled - 2021]
  • 7 : Volume controller: 176 + channel,7, value (This controls the frequency for the compressor motor and thus the maximum windpressure). The default value for wind pressure value is 64. (Motor frequency 44 Hz)
  • 66: Motor ON/OFF: 176 + channel, 66, value (0 or any value between 1 and 127). The green LED on the motor controllerboard will lite up when controller 66 is on.
  • 67: One-shot controller used to reset the motor controller if it stopped working due to a failure. [for expert use only]. To restart the motor after this acknowledge, controller 101 can be used.
  • 68: Windpressure mode of operation. When set to 0 (the default] the motor control will be 'intelligent', that is, motor speed will automatically adapt to the register settings as well as to the notes played. When set to 1, the motor will run only at a speed determined by controller #7 (volume controller). As a warning, the blue led on the motor controller board will light up when this controller is set to any other value than zero.
  • 69: not implemented in HarmO
  • Registration makes use of controllers:
  • 70: bass reg 1 (On/Off) ( 2' cor anglais, frontal swell ) (real notes 53 - 76)
  • 71: bass reg 2 (On/Off) (8' diapason, frontal swell ) (real notes 29 - 52)
  • 72: bass reg 3 (On/Off) (16' bourdon, back swell ) ( real notes 17 - 40)
  • 73: bass reg 4 (On/Off) (4' principal , back swell) (real notes 41 - 64)
  • 74: sub bass register (On/Off) (32' real notes 12 - 24)
  • 75: treble reg 1 (On/Off) (4' cremona, frontal swell) (real notes 65 - 113)
  • 76: treble reg 2 (On/Off) (8' forte, frontal swell) (real notes 53 - 101)
  • 77: treble reg 3 (On/Off) (16' clarinet, back swell) (real notes 41 - 89)
  • 78: treble reg 4 (On/Off) (8' oboe, back swell) (real notes 53 - 101)
  • 79: frontal swell (0-127, value 0 closes the shutter completely, so pp. )
  • 80: back swell (0-127), value 0 closes the shutter completely, so pp.)
  • 82: Tremulant (0-127) analog output voltage for doppler tremulant speed control. (0- 18Hz) Note that the tremulant is only effective for notes higher than midi 67. Also for best effect the back swell has to be opened and any one or more of the register controllers 77 and 78 have to be selected.
  • 100: selection of lookuptable for the airflow control This controller is for research purposes only. The default value is 16. This value should only be set to different values by users that are thoroughly familiar with the coding in the firmware of the motor microcontroller. Unthougthfull use can crash the microcontroller. Check the firmware in HarmO_motor.bas before using this.
  • 101: This controller, for expert use only, switches the motor controller on or off, irrespective of the setting for controller 66. It can be used after an error occurs with the motor controlller that is reset with controller 67, to switch the motor back on without resetting other controllers.
  • 123: AllNotesOff: 176 + channel, 123, 0. No controllers are affected by this command.
  • Program change command (192 + channel, patch)
      Program changes with patch numbers between 122 and 127 let users select different lookup tables for the velocity scaling of this instrument. The lookup tables can be changed using sysex commands. Pincode: horm. The optimum velocity scaling will be obtained by sending a program change nr.122 command.
  • Lights: mapped on notes 119-127
    • 127 = yellow/amber light under Vorsetzer mechanism (LED strip). Light intensity mapped on the velocity byte.
    • 126-122 = orange/yellow LED spots frontal on the Vorsetzer mechanism
    • 121 = bright red light on tremulant mechanism
    • 120 = white LED spot underside. Note that this light, by design, always switches between dim and full on. It cannot be fully off. [2021: now replaced with a red light!]
    • 119 = frontal blue light, floor oriented
note: features printed in white are still to be implemented on the date of this writing.


Repertoire (all repertoire playable on <Harma> can also be played on <HarmO>:

Johann Sebastian Bach:

Goldberg Variationen (available on CD in a limited edition LPD-001 ('minus 1')

a specific version for <HarmO> is available as well.

  Das Wohltemperierte Klavier  
Ludwig Van Beethoven Waldsteinsonate  
Tango's La Cumparsita Tango  
  El choclo Tango  
  Jealousy Tango  
Godfried-Willem Raes <Harm> for Harma 2001

<Hidden (c) Harms>

MP3 encoded recording of this piece (on Harma)



  <Vibes> for Vibi, Piperola and Harma 2001
  <Trio Paradiso>, for Vibi, Harma and Klung 2001
  <Paradiso>, for automat orchestra and backing vocals 2001
  <Tekne>, for automat orchestra and devils dance 2002
  <Eary Lis Trimbl>, for automat orchestra and musicians 2002
  <Flexes>, for automat orchestra and musicians 2003
  <Wandern>, for radar controlled automat orchestra and a nude dancer 2003
  <Pic Harm>, for picradar controlled Harma and a nude dancer 2005
  <Gestrobo Study #HarmO>, for invisible instrument HarmO and a nude dancer 2010
Kristof Lauwers <Sonata>, for automat orchestra 2002
Sebastian Bradt <Dedication Harma> 2004
  <Early Messages> 2004


(Terug) naar logos-projekten: projects.html

Back to logos projects

Terug naar Logos' index-pagina


back to main index

Naar Godfried-Willem Raes personal homepage...

back to Godfried's page

Manual to the M&M robot orchestra for composers Naar katalogus instrumenten gebouwd door Godfried-Willem Raes

back to catalogue of instruments by Godfried-Willem Raes

Go to Godfried-Willem Raes' homepage

Service manual & detailed circuit and maintenance documentation

Following information and documentation is not intended for the general public.

Radial compressor: August Laukhuff, Ventola type 612380. Motor 130 Watt, aussenlaufer. Star connected for 3-phase operation with Siemens motorcontroller. Windpressure 800 Pa, 3000 l/min when operated on 50 Hz. Rotation speed at 50Hz: 2800 rmp. Machine number: 6082-8129. Price: 1.309,12 Euro (11/2009)

Tubular solenoids (73): Black Knight 121-420-620-620 (100% duty cycle voltage 12V, diameter 20mm, push type). Resistance: 20ω

Register solenoids (8): Aug.Laukhuff Trakturmagnet, 300810, 24V (10 Newton, 10mm traject) Price: 39,86 Euro (11/2009)

Subbass register solenoids (2): Aug.Laukhuff Ventilmagnet, 24V

Linear stepper motors (2): Nanotec L5609X2008- M6x0.5 (Farnell order nr.: 474-3234). Shaft: ZSM6-0.5-200 spindle, M6x0.5 (Farnell order nr.: 837-5682). Corresponding motor controllers: Nanotec SMC42-2,0-1 (Farnell order nr.: 474-3131). Wiring details:

Windvalve inlet motor: Burroughs Sonceboz type nr. 1251 0228, rated 0.6A/phase and 0.5 Ohms/phase. Bipolar stepper motor. Dented belt: 78mm length, Gates powergrip. Connected to the 24V power, the motor draws 1.2A when running with a 186Hz clock. At 240Hz, it draws 840 mA. This seems to be the optimum clock frequency for this motor.

Doppler tremulant motor: Canon, 6V type R17CN-EQCB, diameter 41mm, fully screened, made in Taiwan.

Circuit boards overview:

Power supply:

2 Siemens Sitop Smart 24 V/10 A, nr.6EP1334-2AA01 (Output voltage adjustable from 22.8 to 28 V) Farnell order nr.: 121-6632

1 Mascot 8921 12 V PSU, desktop 290 W, 20A ( http://www.mascot.no ) Farnell order nr.: 118-3937

1 5 V/ 1 A, encapsulated module.VxI 14438/000 (http://www.vxipower.com). Farnell order nr.: 118-6397

3 analog panel meters are provided for power supply monitoring. Therefore Kyuritsu KM-48 voltmeters, rated 10 V DC, are used. For monitoring the 12 V, a 1% series resistor of 5 k was used such that a reading of 8 V on the original scale now corresponds to 12 V. For the two 24 V supplies, the 1% series resistor becomes 20 k. The meters Ri being 10 k and sensitivity 1 mA.

6 boards for the note pallets:

All note solenoids have a common positive voltage connection. The second wires come together in Weidmueller 6-pole connectors (one for each set) to the note/velo boards. To get access to the reeds and the springs, first disconnect all these connectors. Next, remove the U-shaped stainless steel protectors. Then loosen the bolts joining upper and lower part of the instrument. The solenoid assembly, the vorsetzer, can be lifted up vertically from the soundboard containing the reeds. Always keep components in a horizontal position! When the vorsetzer is taken out, always take care to place it on two stand off blocks such that the mechanism never comes to rest on the solenoid pushers.

The positive voltage can be adjusted on the power supply (Mascot) printed circuit board with the multiturn trimmer. The voltage should be adjusted such that when no velocity pulses are applied, the solenoids develop just enough force to hold the keys down. Initially we found 8V to be a suitable minimum setting. The maximum allowable voltage here is +12V. The negative voltage (the first Sitop power supply) should be adjusted between 20V and 28Volts. Initially we had it set to 24V. Changing this voltage will change the velocity scaling of the instrument. The second Sitop power supply is adjusted to 24V positive and feeds the stepping motors.

The circuitry on the midi input board and the PIC with the motor control worked out like this:


Wiring tables for the six PIC 18F4620 controller boards:

Board 1:

board output connector pin mapping remarks PIC pin
1 2 reg, ctrl 70 - 2' gnd- -24V 3
2 3 reg, crtl 71 - 8' gnd- -24V 5
3 4 reg, ctrl 72 - 16' gnd- -24V 7
4 5 reg, ctrl 73 - 4' gnd- -24V 9
5 7

reg, ctrl 74, 32' subbass

gnd- -24V 37
6 8

light, note 127, Yellow LED strip under pushers

keys bottom 12V 36
7 9 note 29 pulse/hold 34, 33
8 10 note 30 pulse/hold 30, 29
9 12 note 31 pulse/hold 28, 27
10 13 note 32 pulse/hold 24, 23
11 14 note 33 pulse/hold 22, 21
12 15 note 34 pulse/hold 15, 16
13 17 note 35 pulse/hold 17, 18
14 18 note 36 pulse/hold 19, 20

Board 2:

board output connector pin mapping remarks PIC pins
1 2 note 37 hold/velo 4, 3
2 3 note 38   2, 5
3 4 note 39   6, 7
4 5 note 40   8, 9
5 7 note 41   10, 37
6 8 note 42   36, 35
7 9 note 43   34, 33
8 10 note 44   30, 29
9 12 note 45   28, 27
10 13 note 46   24, 23
11 14 note 47   22, 21
12 15 note 48   15, 16
13 17 note 49   17, 18
14 18 note 50   19, 20

Board 3:

board output connector pin mapping remarks
1 2 note 51  
2 3 note 52  
3 4 note 53  
4 5 note 54  
5 7 note 55  
6 8 note 56  
7 9 note 57  
8 10 note 58  
9 12 note 59  
10 13 note 60  
11 14 note 61  
12 15 note 62  
13 17 note 63  
14 18 note 64  

Board 4:

board output connector pin mapping remarks
1 2 note 65  
2 3 note 66  
3 4 note 67  
4 5 note 68  
5 7 note 69  
6 8 note 70  
7 9 note 71  
8 10 note 72  
9 12 note 73  
10 13 note 74  
11 14 note 75  
12 15 note 76  
13 17 note 77  
14 18 note 78  

Board 5:

board output connector pin mapping remarks
1 2 note 79  
2 3 note 80  
3 4 note 81  
4 5 note 82  
5 7 note 83  
6 8 note 84  
7 9 note 85  
8 10 note 86  
9 12 note 87  
10 13 note 88  
11 14 note 89  
12 15 note 90  
13 17 note 91  
14 18 note 92  

Board 6:

board output connector pin mapping remarks pic pin
1 2 note 93 hold/pulse 4, 3
2 3 note 94   2, 5
3 4 note 95   6, 7
4 5 note 96   8, 9
5 7 note 97   10, 37
6 8 note 98   36, 35
7 9 note 99   34, 33
8 10 note 100   30, 29
9 12 note 101 hold/ pulse 28, 27
10 13


note 121

bright red (LED assembly, oriented to tremulant)

11 14 reg, 8' forte gnd- -24V 21
12 15 reg, 16' gnd- -24V 16
13 17 reg, 8' clarinet gnr- -24V 18
14 18 reg. 4' oboe gnd- -24V 20

Detail of the three different ways these boards are populated, depending on the functionality:

Board 7 - Midi-hub board: (PIC 18F2525), board version 2006.This board originally controled the radial compressor motor, now it does the swell motors and the tremulant DC-motor. The board is mount under the windchest on a piece of polycarbonate.

board output connector pin mapping remarks wire color pic pin
  X17-1 - GND   -
1 X17-2 ctrl 7 motor speed (0-10V)   13
2 X17-3 ctrl 82 tremulant (0-10V) this mosfet has a small cooling fin. DC motor Canon (6V) 12
  X17-4 - +10 V from motor ctrl.   -
  X11-1   GND   -
3 X11-2 ctrl 66 wind motor ON/OFF   5
4 X11-3   spare (optional sensor input front swell)   4
  X11-4   + 24 V from motor ctrl.   -
  X12-1   GND black/white -
5 X12-2   frontal swell enable gray 3
6 X12-3   frontal swell clock green 2
  X12-4 - nc   -
  X15-1 - GND green/yellow -
7 X15-2   frontal swell direction purple 25
  X15-3   back swell enable brown 24
8 X15-4   nc   -
  X16-1 GND     -
2 X16-2 =X17-3 tremulant (0-10V pwm)



  X16-3 + power tremulant positive supply +12V pink -
9 X16-4   back swell clock orange 16
10 X16-5   back swell direction yellow 15
  X16-6 input sensor input back swell white 7

Board 8 - Pulse board (PIC 18F2525) [board version rev.3, april 2005, modif..21.12.2009]

This board controls the ghost beaters, the windslide (ctrl.1), the ghost beaters and the lites. This board is located on the same polycarbonate plate as the midi-hub board and is located in the back of the mains power entry. The board did in its original design not have a programming connector, but in this version we constructed a 'flying' 6-pin connector such that in circuit debugging and programming becomes possible as for all other processor boards in <harmO>.

board output connector pin mapping remarks wire color pic pin
1 X1-1 note 0 pulse beater 24V grey 4
2 X1-2 note 1 pulse beater 24V purple 3
3 X1-3

enable windslide motor


no BYV32 diode !


green 2
4 X1-4

windslide motor clock


no BYV32 diode !


brown 5
5 X2-1

windslide motor dir


no BYV32 diode !


blue 6
6 X2-2

analog input (R-sensor)

AN4 in PIC specs

no BYV32 diode

no mosfet!

nc 7
7 X2-3 ICP - external connector avoid use yellow 28
8 X2-4 ICP - external connector avoid use green 27
9 X3-1 ICP - external connector avoid use blue 26
10 X3-2 lite yellow. note 126 12V led spot brown 25
11 X3-3 lite yellow. 125 12V led spot orange 24
12 X3-4 lite yellow , 124 12V led spot yellow 23
13 X4-1 lite yellow, 123 12V led spot green 22
14 X4-2 lite yellow, 122 12V led spot blue 21
15 X4-3 lite blue , 119 front lite above mirror 12V led large spot blue 16
16 X4-4

ac solid state relay

lite 120, white

white LED spot (230V) yellow 15
pwm X11 controller 81

analog pwm out


The 'flying' connector for in circuit debugging and programming is shown in the picture below:

Power supplies:

Programming information and settings for the Siemens Sinamics G110 motor controller:

Parameter nr. setting comment
P0003 - User Access level 3
  • 1= standard
  • 2 = extended
  • 3 = expert
P0004 - access control filter params 0 allow access to all parameters of P0003 = 3
P0005 - display parameter 21 display motor frequency
P0010 - commisioning params 0

must be set to 1 to change motor params.

For access to P4 params and normal operation, must be set to 0

P0100 - Europe/ US 0 = default value (Europe, 50Hz)
P0210 - voltage 230V mains voltage
P0304 - nominal motor voltage 230V motor specs. (star connected)
P0305 - motor current 0.56A motor specs.
P0307 - motor power 0.130 kW motor specs.motor specs. (name plate says 75W, but current is 0.55A at 230V)
P0310 - nominal motor frequency 80Hz 50 Hz after motor specs., but otherwise we cannot speed up...
P0311 - nominal motor rpm 2800 motor specs.
P0700 - ctrl. via control panel or digital I/O 2 use digital inputs for ctrl.
P1000 - select frequency setpoint 2 set analog setpoint (1= operator panel f-ctrl)
P1080 - min.. motor frequency 10 Hz  
P1082 - max. motor frequency 80Hz the practical maximum freq. will be ca. 60Hz
P1120 - ramp up-time 2"  
P1121 - ramp down time 4"  
P3900 - end quick commisioning 1 resets P0010

With these settings we obtain the following midi correspondence:

midi value for ctrl.7 motor frequency musical result
1 10 Hz pppp
30 28 Hz p
40 35.5Hz mp
50 40 Hz mf
60 44 Hz mf
80 50 Hz f
100 56 Hz ff
127 60 Hz fff

Note that when no notes are being played, wind pressure should always be reduced to the smallest practical value. Also, required wind pressure is a function of the number of notes playing as well as of their pitch, since lower reeds require a lot more wind than the high ones. With wind pressures higher than midi value 60, leaks can occur when no notes are played. Since 2015 all these problems have been adressed with a new intelligent motor controller. The remarks are still valid, but are now solved in the firmware.

Metal parts sizing and drawings:

View from the bass side:


Technical revisions and maintenance notes:

To be done:

Literature and bibliography:

Robody picture with <HarmO>

last update: 2022-11-27 by Godfried-Willem Raes