< cd ..

~/projects/entropic-synth · published

Weather Music Machine

[HARDWARE]

An Arduino synth that plays the weather: transistor noise fires the notes, live space weather and the air in the room shape the sound.

The synth: Arduino MKR WiFi 1010 and stripboard circuit in a red 3D-printed enclosure

A synth on an Arduino MKR WiFi 1010, made for a C programming lab at Metropolia University of Applied Sciences in Helsinki. Its codename is entropic-synth.

Avalanche noise from a transistor decides when notes play. Live space weather from NOAA and a BME280 sensor (air pressure and room temperature) decide how they sound. Pitch is digital, a sawtooth from the DAC. Tone and volume are analog, through an LM13700 filter and VCA.

What plays what

  • Geomagnetic activity (Kp) picks the scale: pentatonic when it's quiet, natural minor when it's unsettled, whole tone in a storm.
  • Air pressure sets the key.
  • Room temperature sets the brightness. A fingertip on the sensor is enough to hear it.
  • The noise triggers replay the solar wind: the last hour of wind speed and density advances one minute every few triggers.

It also works offline: without a network it replays a bundled hour of solar wind.

Three modes

A three-way switch picks the mode, and the RGB LED shows which one is on.

  • Drone (blue): a continuous tone. Live wind speed sets the base pitch, the replayed speed plays the melody and the density swells the volume.
  • Rain (green): silence, and a note on every trigger. Wind speed sets how far the notes leap, and busier triggering sounds brighter.
  • Sequencer (red): an 8-step loop that starts as an arpeggio. Wind speed sets the tempo, and each trigger rewrites one step.

The hardware

The analog side runs on ±12 V: a BC547 avalanche noise source into an LM393 comparator, then the LM13700 filter and VCA and a TL074 output buffer to a 3.5 mm jack. An MCP4728 DAC drives the filter cutoff and VCA level. Everything that touches the Arduino stays at 3.3 V.

It's hand-wired on stripboard in a 3D-printed case. The schematic (KiCad), stripboard layout, enclosure (STEP) and Arduino code are all in the repository, under the GPL v3.