2000-2002-2006-2010, 2017

Version 2.2

automated nature sounds by Godfried-Willem Raes

This instrument is a computer controlled assembly of percussion and 'effect' instruments. All sound sources incorporated in this instrument are non-pitched and share a vague reference to nature sounds: we encounter thunder, rain, woodpeckers, wind, a bird, storm, lightning, crackling wood, squeaky sounds... In this respect it could be considered a realization of the first category of sound sources in Luigi Russolo's Intonarumori. Also soundwise, this futurist reference is pretty obvious. A bird was donated by Moniek Darge, and lives since on a little piece of grass underneath <ThunderWood>. It got company from a cricket in 2006.

The instrument can be played by standard MIDI commands, using commercial sequencers or our GMT software but is also capable of listening to pure algorithmic commands.

The first working version of this instrument was finalized on July 18th of 2000. Later, the lightning was added. The storm-wind module, as well as the bird sound, was designed and finished in august 2002. Thunderwood has undergone a complete revision in 2006, whereby it can be controlled by midi directly. Some light effects, as well as the squeaky sounds were added in 2010. High resolution pictures are available on request.

<ThunderWood> was originally made and designed to be a part of the <Slag-Werk> project realized by Godfried-Willem Raes for 'Web Strikes Back' at the occasion of the Tromp biannual, October 2000 in Eindhoven, the Netherlands. It is since a standard robot component in the Logos Robot orchestra.

Technical details:

The <ThunderWood> robot uses dedicated hardware, designed for musical automata such as player pianos, percussion instruments, organs and even bowed instruments. Details can be found in our course on experimental music as well as in the descriptive webpages on our many other robots on this same website. A general article 'Expression Control in Musical Automates' covers the many aspects of the design in depth.

The hardware for <ThunderWood> consists of following components and printed circuit boards:

1. a midi input/hub board, housing a single PIC controller (18F2525 type) in charge of the motor driven components and the heavy bi-directional solenoids used for shaking the brass thundersheet and the bamboo wind chimes..

2. A pulse driver board, using a PIC microcontroller, type 18F2525. This PC board houses the power MOSFETS used to steer the solenoids used for activating the one-shot sound sources. (Woodpeckers, bird, cricket).

3. Squeaker and LED light control board. This board uses another 18F2525 microcontroller taking care of the PWM control of the two squeakers as well as the high power LED lights. This board makes use of high side drivers using P-channel power MOSFETS. The circuit is build as a stand alone unit with its own integrated power supply. The circuit looks like:

The physical circuitry as well as the sound mechanism mounted on the base of the automate look like:

There are 4 woodblocks in the instrument, each provided with a number of solenoids driving the beaters. The lowest woodblock has 5 beaters, the second lowest 4 beaters, the second highest 3 beaters and the highest block got only 2 beaters. The woodblocks are handmade from dark tropical wood and hollowed out. The slit, also functioning as a cavity resonator, is underneath the blocks.

In addition the instrument has as set of low sounding bamboo windchimes, the latter are activated the same way as the brass thundersheet, suspended in top of the instrument..

A wind-machine was added to the instrument also. This engine uses a strong DC motor (700W / 12V - 210V DC) since this made precise speed control easy to implement. The motor rotates a perforated stainless steel cylinder taken from an old laundry machine. Over the cylinder a piece of heavy canvas hangs, causing the wind-noise production proportional to motor speed. In the picture to the left, the canvas is removed to better reveal the mechanism. The motor is controlled using one of the hardware PWM outputs available from the PIC controller. Kevlar, polyester or Tyvek, or even architects paper may be used instead of canvas to produce the wind noise. All of these materials wear out after intensive use and should be replaced regularly for a good sound.

A ratchet , controlled by a synchronous AC motor with speed reduction mechanism (gear box) makes the crackling wood sounds in this instrument. As can be seen from the picture, the wood tongues are taken from an old metric size. This device is switched on/off via a relay.

A rainmaker was implemented by filling an RCF 300Watt loudspeaker [a 20cm woofer with glassfiber cone as used in RCF's Monitor 8 enclosures] with fine grains or pellets. The speaker is mounted underneath the instrument. Over the speaker we mounted a resonator taken from a Turkish darbukkah drum. [cf.. picture] This resonator is mounted upside down. The assembly is placed such that the cone is horizontal. The speaker is driven just as if it were an ordinary solenoid and causes a rain sound when driven with a series of slow pulses. To damp any remaining speaker noises (caused by the square waves) be did provide a simple LC low pass filter (cut off frequency at 77 Hz). Maximum allowable DC current through the speaker coil should be limited to 1.5A at 12V maximum. With the low pass filter, we can power this part of the circuit from 45V directly. Needless to say that the capacitors in the circuit as shown need to be bipolar types!

4. The power MOSFETS we used for controlling these solenoids are Harris RFP10N12L (or the more modern equivalent IRL640), since these switch on TTL levels and are capable of dissipating 60 Watts. Cooling is not required, since the current flows only in bursts for very short times. The current rating is 17A and their Uds limit is 200 V. The rather high gate capacitance (1200 pF) is not a real problem since switching speeds in this application are inherently pretty slow. For this reason we did not fit a resistor between gate and ground in the driver circuit. Note that it is impossible to operate the instrument before sending the required power on/off command (midi controller 66).

5. The Storm component of <Thunderwood> was realized with a small cavity resonator coupled to a linear cone made off brass. The fan used (Rotron Manufacturing Corporation) to implement it was taken from an old aircraft and hence its motor runs off a 3-phase 208 V at 400 Hz frequency power supply.
We designed a 3-phase generator using a 16-bit PIC 24EP128MO202 motorcontroller to generate the required voltages. The speed of rotation can be controlled by sending the velo byte that goes with a note on command. Note that suction wind is used , and therefore the horn and the cavity resonator are mounted on the side of the fan. The strongly one-directional windflow from the blowing side does not yield good musical results! Cavity resonators work best when driven with a highly turbulent airflow. The original circuit was replaced in 2017 with this new design, wherein we implemented some new features, such as braking, controlled by the release byte of a note off command: This is what the physical board for this circuit looks like:

5. For the DC motor controlling the wind machine, one of the hardware PWM's provided on the 18F2525 on the hub board PIC is used. This motor (a Thomson brushed DC type) runs off the unstabilized 35 V power supply thus limiting the maximum speed to safe values. Of course here also a power mosfet is used in a conventional DC motor control arrangement.

6. The bird sounds were added to <ThunderWood> in august 2002. The mechanism uses a small pump driven by a solenoid. The bird sound is produced by a special anticonical high pitched organ pipe. A mechanism making use of a threaded rod passed and rotated through a piece of hardwood, driven by a DC motor with speed reduction gears, was realized in a first attempt, but needed too much maintenance (rosin!) to be reliable in this automate. The pump mechanism implemented now, uses velocity control for the air burst, but cannot make long sustained sounds. The solenoid used is a Lucas Ledex type, as used in our player piano. It is connected to the 48V power supply. The return spring is build into the pump. This mechanism served as a prototype for <Puff>. The bird itself, a mere visual feature, is a donation from Moniek Darge...

7. Cricket: this sound source was added at the occasion of the complete revision of the <ThunderWood> electronics in 2006. The mechanism is a modified small motorbike horn with a metal membrane. It does not produce a realistic cricket sound, as it is way too loud (imagine a fff cricket of a prehistoric kind...), but can very well be used for short click sounds. It is mounted above the solenoid driving the wind chimes.

8. As an extra (visual) feature during the rebuild in 2006, we added an orange rotating flashlight, reflecting on the thundersheet. This light can be controlled with midi controller 70.

9. The power supply for this instrument is rated for 650 Watts. Thunderwood was not designed for mobile use and therefore cannot be operated from batteries.

The power supply is kept very simple and consists of three hefty building blocks, mounted on the base of the automate on the right and the left side. Two small size SMPS modules take care of the required +5 voltages for the processor boards. Note that this power supply delivers a bunch of different voltages. Very thick wiring was used for the lower voltages since we are dealing with pretty high currents here. (At times up to 20 Amps!). The somewhat strange looking power supply with the toroidal transformer can be explained because we modified an existing Velleman power amplifier supply with split voltages, to serve for this new purpose, by connecting both windings in parallel. As the capacitors in 2012 exploded, we changed the circuitry and disposed of the original circuit board altogether.


Any decent sequencer program can be used to write and edit music for <ThunderWood>. We favor Sonar (the new name for Cakewalk). If you are a programmer-composer and using <GMT> under Power Basic, you can use all specific hardware control functions and procedures provided in our DLL libraries. A midi command converter was written in <GMT> by Kristof Lauwers and the author. The midi mapping and implementation is as follows:

Midi mapping:

  • Lightning (white stroboscope): note 0. Velocity not implemented. (Note On, Note Off)
  • Low woodblock: 5 beaters: notes 1,2,3,4,5 - velocity implemented. Note off not required
  • Tenor woodblock: 4 beaters: notes 6,7,8,9 - velocity implemented. Note off not required
  • Alto woodblock: 3 beaters: notes 10,11,12 - velocity implemented. Note off not required
  • High woodblock: 2 beaters: notes 13,14 - velocity implemented. Note off not required.
  • Ratchet: Note 15 - Note On and Note Off. Velocity not implemented.
  • Rain machine: Note 16 - Note On and Note off, send rapid random sequences and velocities.
  • Bamboo windchimes: note 17 (backward/forward shaking). Note off not required
  • Thundersheet: note 19 (backward/forward shaking). Note off not required
  • Squeaky 1: note 21. Brass resonator. Velo implemented as well as note after-pressure. Note off is required.
  • Bird sound: Note 22. - velocity implemented. Note off not required.
  • Squeaky 2: note 23. Wood resonator. Velo implemented as well as note after-pressure. Note off is required
  • Windmachine: note 24 - Note On and Note off, windspeed controlled with the velocity byte.
  • Note 25: Stormwind. The velocity controls the speed and hence the central pitch of the noise-band. To switch the storm wind off, a note off command is required. The speed of rotation can be modulated using a key pressure command for note 25. Note off with release can be sent to control braking. The release value steers the braking time.
  • Note 26: Giant Cricket - velocity implemented. Note off not required.
  • Notes 120-125: High Power LED lights. The velo byte steers the flashing speed. At 127, the lights are fully on.
    • Note 120: Green light
    • Note 121: Red light (2)
    • Note 122: Yellow light
    • Note 123: Amber light
    • Note 124: implemented but as yet unconnected
    • Note 125: Blue light
    • Note 126: Green LED light strip on the bottom. (on/off only)
  • Orange rotating light: controller 70. Values 0-127 for speed and brightness.
  • Controller #66: power on/off switch.
  • Controller #123: all notes off.

All commands have to be send to the <Thunderwood> midi channel: 5 (0-15) or 6 for those who count 1-16.

Program change 0, 122-127 select different velocity lookup tables applicable to the woodpeckers and all other sound generating devices except the squeaky sounds. The velocity scaling lookup tables can be programmed using sysex commands. 0 is the original, non-reprogrammable mapping. It is recommended to always use 122, which contains an optimized mapping.

For those preferring to see the mapping in 'staff' notation:

Sound Samples:

Compositions for <ThunderWood>:

  • <Woody> by Godfried-Willem Raes.
  • <WoodStoch> by Kristof Lauwers
  • <MachineWall 1,2,3,4,5...> by Moniek Darge
  • <Gestrobo> by Godfried-Willem Raes
  • <TechnoFaustus> by Godfried-Willem Raes (for robot orchestra)
  • <RobotGarden> by Moniek Darge and Kristof Lauwers
  • <Baklava> by Godfried-Willem Raes (for bass clarinet and robot orchestra)
  • <Wandering Quadrada Space> by Godfried-Willem Raes (with radar invisible instrument)
  • <PicRa studies> by Godfried-Willem Raes (with midi radar sensors)
  • <Features> Namuda study by Godfried-Willem Raes (with doppler sonar invisible instrument, V2010)

Collaborators on this project:

  • Moniek Darge
  • Bert Vandekerckhove
  • Kurd Vandevelde
  • Kristof Lauwers
  • Johannes Taelman (PIC firmware midi-hub board, 2006)
  • Lara Vanwynsberge


  • width: 1050 mm
  • height: 3200 mm (mounted, unassembled 1650 mm)
  • depth: 640 mm
  • weight: 120 kg
  • power consumption: 650 Watts / 230V AC
  • data input: MIDI port.

Insurance value: 9.500 Euro.

Note for organizers: this instrument is very high and cannot be mounted lower than the height given. Make sure the space you provide allows for the height of this instrument: 3.2 meters. During transportation, the upper part can be taken off, such that transportation requires a van with an internal height of only 1m65. <ThunderWood> is mounted on 4 autonomous wheels with brakes, so it can easily be positioned and repositioned. However, the automate should never be put flat but always stay in a vertical position. <ThunderWood> is not suitable for open air performances, since the electronic circuitry is fully exposed and not weather protected.

Back to Web Strikes Back Back to logos' main index page To homepage Godfried-Willem Raes To previous version

The <Thunderwood> robot can be heard on the Logos Public Domain CD <Automaton> (LPD007).  as well as, in combination with many more automatons, on LPD008 <M&M>, a CD recorded by the Logos Robot Orchestra.

Last update: 2017-05-30


Repair and maintenance notes:

  • 18.07.2000: First working version ready and presented at the Tromp Concours in Eindhoven for the 'Web strikes back' event. At that occasion, this robot as well as Klung, Springers, Troms a.o. were listening to commands sent to them via the internet. A special app was developed by us to this purpose. For audio feedback to the users logged in, the app contained samples of the robot sounds, thus circumventing the problem of internet bandwidth and latency.
  • 22.04.2004: Windmachine motorcircuit: IRF540 burned out. Replaced with same type. Uref checked on DAC board. Measures 9V (the schematic mentions 10V), but that should not be a problem.
  • 23.08.2006: Start redesigning Thunderwood making use of PIC controllers, replacing the laptop PC used hitherto.
  • 04.09.2006: Midi hub board assembled and arranged for use in Thunderwood. Wind motor board with power DAC removed.
  • 05.09.2006: Centronics input board and note driver board removed. Pulse board soldered and assembled for the woodpecker section.
  • 06.09.2006: All new boards assembled and placed in ThunderWood. Start addition of a rotating flashlight. A cricket might be added as well. PIC firmware to be written now...
  • 07.09.2006: Rotating flashlight welded in and connected. Operation through controller 70. Cricket added as well..
  • 09.09.2006: Wave samples added on site. Cricket, wind, storm, bird to be done..
  • 10.09.2006: Textile for windmachine replaced: it was Tyvek in the first version, now we tried with white polyester cloth as used for mans shirts. (Width 27cm).
  • 12.09.2006: PIC firmware version 1.0 placed in both microcontrollers.
  • 13.09.2006: Test and evaluation session under GMT.
  • 09.10.2006: wiring bug on storm motor board killed. IRL640 mosfet replaced. Software bug in PIC code 3-phase generator killed as well. Now PIC firmware version 1.1 on midi hub board.
  • 10.10.2006: Midihub board PIC reprogrammed. Now we implemented sysex lookup tables for the thundersheet as well as for the windchimes and the rain engine. Program change command must be used to change lookup tables once programmed.
  • 25-26.05.2007: <Thunderwood> presented in Vilnius at Jauna Muzika Festival. Returned on may 2nd. Windchimes need some repair.
  • 21.05.2008: Thunderwood made ready for concert in Amsterdam. Chimes repaired, mechanism checked.
  • 15.03.2009: Controller 66 got omitted in the manual, so we added it.
  • 27.06.2010: Thunderwood joined the party at Alden Biesen.
  • 30.06.2010: Start up failure. Ctrl.66 not working... repair required. Power supply module for the 48V revised. (Thundersheet, chimes and rain power).
  • 01.07.2010: Apparently we seem to have a failure of the PIC microcontroller on the midihub board. The woodpeckers, the cricket and the bird work as normal, once we override the startup relay.
  • 18.07.2010: New PIC programmed for the hub board. Now everything works as before again. As to the cause of the failure, we remain in the dark.
  • 28.09.2010: Start design of two extra squeaky sounds to be mapped on notes 21 and 23. Since the mechanisms are derived from motorbike horns, the chassis metal is connected to ground. This dictates the use of P-channel MOSFETS for the control.
  • 29.09.2010: Firmware for the new squeakies written either for the 18F2520 or 18F2525. Note pressure implemented in the firmware. P-Channel mosfets (NDP6020P) as well as high brightness LED modules ordered from Farnell. The PC board can be a modified midi-hub board.
  • 01.10.2010: Debugging of the new module. It seems to suffer from PIC resets due to the odd behavior of the Traco power supply module with suddenly switched high current loads. New assembly mounted in Thunderwood, a present for its 10th anniversary. Awaiting feedback from the users now....
  • 27.05.2011: Firmware in the 18F2520 chip on the squeaker board improved and updated: now periodic flashing is implemented on the lights. (The velo byte controls the flashing speed). Note-off implementation checked and improved.
  • 08.10.2011: Strobo-light repaired. Failed after coming back from Carnavale Veneziane. Xenon bulb and fuse replaced.
  • 14.12.2012: Apparent failure of the +45V power supply. Seems similar to the failure we had on 30.06.2010. The green :LED on the squeeker board also seems blown up. Opening the power supply module revealed the cause: the 10mF/50V electrolytic capacitor had exploded, also burning the traces on the PC-board. We replaced the rectifier bridge and fitted a 2mF/200V electrolytic. We at the same time replaced the somewhat shaky snap-on connector with a screwed type. The circuit diagrams were updated to reflect the new wiring and component selection. Green LED replacement is still on hold now. Otherwise <Thunderwood> is up and running again.
  • 20.03.2013: The stroboscope circuit once again seems to fail. Repair required.
  • 20.04.2013: <Thunderwood> survived the trip to Glasgow very well! We expect him back in Ghent on Monday 22nd of April. The thundersheet mosfet's have to be checked however!
  • 23.04.2013: Thundersheet checked: no mosfet failure, but the French-made 'Weidmueller compatible' connector to the midi-hub board apparently could not withstand the short-circuit current of the power supply capacitor. We replaced it with an original Weidmueller 4-pole type and everything works fine again. Stroboscope and green power LED still to be checked.
  • 19.10.2015: Robot fully rechecked after its transportation and concert at Dok19. Apparently the green LED went to heaven...
  • 19.05.2017: One of the power MOSFETS in the stormwind motor went to heaven...Repair or redesign the circuit? Looks like a redesign using a PIC 24F motor controllers would be the best repair. This was the old circuitry:
  • 20.05.2017: Redesign of the motor control for the stormwind.
  • 21.05.2017: Design of a suitable PCB for the stormwind controller.
  • 22.05.2017: Start writing firmware for the motor driver
  • 23.05.2017: PCB motor driver finished and produced. Here is the film: The scale is 200%. Further work on the development of the firmware.
  • 24.05.2017: Hardware test for the storm-motor board. Further work on the firmware. We suffer serious problems with EMC and glitches causing unreliable behaviour at times. Maybe the choice of using a 100kHz base frequency for the PWM was not such a good idea.
  • 25.05.2017: Further work on optimalisation of lookups and ranges for the stormwind module.
  • 26.05.2017: Braking implemented. Firmware seems to run reliably now. Deglitching and snubber networks on the PCB added, as the glitches even invalidated midi data!
  • 27.05.2017: Construction of small red copper heatsinks for the power MOSFET's on the storm controller and construction of a new mounting plate for the PCB. Extensive testing session. The MOSFET's do get pretty hot indeed... Maybe we should replace them with IPP60R180C7XKSA1 types having much lower Rds_on values as well as faster switching times. Separation transformer (TIM60 by Block) for the required 180V power supply ordered from Farnell. Current consumption for the storm module measured: 0.1A at 115V ac before the rectifier under normal operation. Maximum power consumption ca. 28 W, with motor at full speed.
  • 28.05.2017: Wiring for the storm module documented: Motor wiring: pin1 = green-yellow, pin2 = pink-brown, pin3 = grey-white. Start construction of the chassis holding plates for the high voltage power supply.
  • 29.05.2017: Final mounting and wiring of the new Storm module. Bug discovered in the mapping of the lights. Green strip now reacts on note 122. We better map it on note 126. Recheck firmware! It would be good -for aesthetic reasons, to make the lights mutually exclusive. The green LED on the squeaker board died and needs a replacement.
  • 30.05.2017: Lights controlled by the storm board made to work mutually exclusive. Weidmueller 2-pole connectors ordered from Farnell. Note 123 is now red LED light, both steered by the squeaker board and the storm board.

Components, references & relevant data-sheets:

IR2104 H-bridge driver

IR2104 application notes

BUK454 power MOSFET, data sheet

IPP200N25N3G, MOSFET datasheet

IPP60R180C7XKSA1 datasheet

Firmware for the PIC 24EP128MO202 microcontroller (storm module) : source code , hex-dump

Firmware for the PIC 18F2520 microcontroller (Squeaks board): source code, hex dump