Skip to content

Latest commit

ย 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒฑ๐Ÿ”Š The Sound Machine

An Arduino-powered literary machine inspired by Roald Dahl's 1949 short story The Sound Machine, translating soil moisture into an imagined audible mood for plants.

The Sound Machine is an electronic-literature project built around a simple fictional premise:

What would a machine sound like if it allowed us to hear the condition of a plant?

A soil-moisture sensor measures the hydration level of a plant. An Arduino Nano converts that reading into a percentage and selects a corresponding prerecorded sound from a DFPlayer Mini and microSD card.

A well-watered plant may laugh.

A dry plant may complain, groan, or scream.

Plant
  โ”‚
  โ–ผ
Soil moisture sensor
  โ”‚
  โ–ผ
Arduino Nano
  โ”‚
  โ”œโ”€โ”€ Moisture level
  โ”‚
  โ”œโ”€โ”€ Display / analog meters
  โ”‚
  โ””โ”€โ”€ Sound selection
          โ”‚
          โ–ผ
     DFPlayer Mini
          โ”‚
          โ–ผ
       Speaker

The machine does not claim to record actual plant voices. Its sounds are prerecorded and selected according to the measured soil moisture.

The project exists at the intersection of:

  • ๐Ÿ“š literature
  • ๐ŸŒฑ plants
  • โšก Arduino
  • ๐ŸŽต sound
  • ๐Ÿ–จ๏ธ 3D printing
  • ๐Ÿง  speculative interfaces
  • ๐Ÿ”ฌ plant sensing
  • ๐ŸŽญ electronic art

โœจ Features

  • ๐ŸŒฑ Soil-moisture measurement
  • ๐Ÿงฎ Arduino Nano controller
  • ๐ŸŽต DFPlayer Mini MP3 playback
  • ๐Ÿ’พ microSD audio storage
  • ๐Ÿ”Š 4 ฮฉ speaker
  • ๐Ÿ”˜ Physical activation button
  • ๐Ÿ“Š Visual moisture indication
  • ๐ŸŽš๏ธ Adjustable sensitivity in the redesigned version
  • ๐Ÿ“Ÿ Analog panel meters in the redesigned version
  • ๐Ÿ’ก Status LED
  • ๐Ÿ”„ Startup audio
  • ๐ŸŽฒ Avoids immediate repetition of sounds
  • ๐Ÿ–จ๏ธ Custom 3D-printed enclosure
  • ๐Ÿ“– 21-page project manual included
  • ๐ŸŽญ Inspired directly by Roald Dahl's fiction
  • ๐Ÿ“œ GPL-3.0 licensed source code

๐Ÿ“– Literary origin

The project is inspired by:

The Sound Machine โ€” Roald Dahl

Roald Dahl's short story The Sound Machine appeared in the September 17, 1949 issue of The New Yorker.

The protagonist, Klausner, builds an electronic device capable of translating ultrasonic vibrations into frequencies audible to humans.

In the story, he becomes convinced that flowers and trees produce sounds that humans normally cannot hear.

Plant vibration
      โ”‚
      โ–ผ
Klausner's fictional machine
      โ”‚
      โ–ผ
Frequency conversion
      โ”‚
      โ–ผ
Human hearing

The Arduino project does not attempt to reproduce the fictional acoustic electronics literally.

Instead, it translates the idea into a contemporary physical-computing object:

Plant condition
      โ”‚
      โ–ผ
Soil moisture
      โ”‚
      โ–ผ
Arduino
      โ”‚
      โ–ผ
Artificial voice

Original story

The Sound Machine โ€” The New Yorker


๐Ÿงฌ Two versions

The repository documents two iterations of the machine.

The Sound Machine
       โ”‚
       โ”œโ”€โ”€ Version 1
       โ”‚     Digital moisture display
       โ”‚
       โ””โ”€โ”€ Klausner Machine
             Analog instrumentation
             Calibration control
             Redesigned enclosure

The repository contains two Arduino sketches:

SoundMachine3.ino
SoundMachine5.ino

along with the complete project manual:

LaMaquinaDeKlausner.pdf

1๏ธโƒฃ Original Sound Machine

The first version was completed in early 2020.

Its hardware includes:

  • Arduino Nano
  • FC-28 soil-moisture sensor
  • 7-segment display
  • push button
  • DFPlayer Mini
  • microSD card
  • 4 ฮฉ speaker
  • custom enclosure

The interface is deliberately simple.

Insert sensor into soil
          โ”‚
          โ–ผ
     Press button
          โ”‚
          โ–ผ
 Read moisture level
          โ”‚
          โ–ผ
 Map value to 0โ€“100%
          โ”‚
          โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ              โ–ผ
      Display %      Select sound
                         โ”‚
                         โ–ผ
                     Speaker

๐Ÿ’ง Moisture mapping

The analog soil reading is converted into a percentage representing the approximate moisture level.

Conceptually:

rawSensorValue
      โ”‚
      โ–ผ
map(...)
      โ”‚
      โ–ผ
0 ... 100 %

The percentage then determines the emotional response of the machine.

The original implementation uses behavior such as:

< 30% moisture
      โ”‚
      โ–ผ
distressed / screaming sound

and:

> 75% moisture
      โ”‚
      โ–ผ
happy / laughing sound

Intermediate values select other recordings.


2๏ธโƒฃ The Klausner Machine

The second version was completed later in 2020.

It is a substantial redesign of the original prototype.

Changes include:

7-segment display
        โ†“
2 analog panel meters

fixed sensor behavior
        โ†“
adjustable sensitivity

basic sound selection
        โ†“
anti-repetition routine

simple startup
        โ†“
startup sound

original enclosure
        โ†“
redesigned case

The goal was to make the physical object look less like a conventional Arduino project and more like the fictional scientific instrument described by Dahl.


๐ŸŽ›๏ธ Redesigned controls

The Klausner Machine adds:

  • two analog panel meters
  • sensitivity potentiometer
  • power switch
  • LED
  • calibration routines

The analog interface reinforces the appearance of an experimental scientific instrument.

           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
           โ”‚ Klausner Machineโ”‚
           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ–ผ           โ–ผ            โ–ผ
  Moisture      Analog       Sensitivity
   probe        meters          knob
       โ”‚
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ–ผ
             Arduino Nano
                   โ”‚
                   โ–ผ
              DFPlayer
                   โ”‚
                   โ–ผ
                Speaker

๐Ÿงฐ Hardware

Original version

Qty Component Purpose
1 Arduino Nano Main controller
1 FC-28 soil-moisture sensor Moisture measurement
1 7-segment display Moisture percentage
1 DFPlayer Mini MP3 playback
1 microSD card Audio storage
1 4 ฮฉ speaker Audio output
1 Push button Measurement / playback
1 Custom enclosure Physical interface

Klausner Machine

Qty Component Purpose
1 Arduino Nano Main controller
1 Soil-moisture sensor Plant hydration measurement
1 DFPlayer Mini Audio playback
1 microSD card Audio storage
1 4 ฮฉ speaker Audio output
2 Analog panel meters Visual indication
1 Potentiometer Sensitivity calibration
1 Push button User input
1 LED Status indication
1 Power switch Main control
1 Custom enclosure Instrument body

๐ŸŒฑ Soil-moisture sensor

The project measures the electrical properties of the soil using a resistive moisture probe.

A typical FC-28-style module provides an analog voltage corresponding approximately to soil conductivity.

Wet soil
   โ”‚
   โ–ผ
different electrical resistance
   โ”‚
   โ–ผ
analog measurement

The Arduino reads this value and converts it into the scale used by the machine.


โš ๏ธ Sensor calibration

Raw soil-moisture values vary significantly depending on:

  • soil composition
  • mineral content
  • probe depth
  • temperature
  • sensor corrosion
  • water conductivity
  • power-supply voltage

The redesigned Klausner Machine therefore includes an adjustable calibration control.

For a new sensor or plant, determine representative values for:

dry soil

and:

wet soil

before interpreting the output as a percentage.


๐ŸŽต DFPlayer Mini

Audio is reproduced using a DFPlayer Mini-style MP3 module.

The module provides:

  • microSD storage
  • MP3 playback
  • serial control
  • direct speaker output
  • compact standalone operation

The Arduino sends commands selecting which recording should be played.

Arduino
   โ”‚
   โ”‚ serial command
   โ–ผ
DFPlayer
   โ”‚
   โ–ผ
microSD
   โ”‚
   โ–ผ
MP3 recording
   โ”‚
   โ–ผ
Speaker

๐Ÿ’พ Audio files

Prepare the microSD card with the sound files required by the sketch.

The collection can contain recordings representing different states such as:

startup
very dry
dry
normal
wet
very wet

The actual sounds are an artistic choice.

The original machine uses contrasting human-like sounds such as:

groans
screams
laughs
giggles

to convert an otherwise ordinary sensor value into an emotional interface.


๐Ÿ”„ Sound repetition control

The redesigned version adds logic intended to avoid playing the same sample repeatedly.

Instead of:

same moisture
    โ”‚
    โ–ผ
same sound
    โ”‚
    โ–ผ
same sound
    โ”‚
    โ–ผ
same sound

the machine can select among several recordings associated with the same general state.

This makes repeated interaction less mechanically predictable.


๐Ÿ”˜ Interaction

Typical operation is:

1. Insert probe into soil

2. Turn on the machine

3. Adjust sensitivity if required

4. Press the measurement button

5. Arduino reads the sensor

6. Visual indicators react

7. A corresponding recording is played

The machine is intentionally interaction-driven rather than continuously producing audio.


๐Ÿงช What the machine actually measures

The Sound Machine measures:

soil moisture proxy

It does not directly measure:

plant emotion
plant pain
plant consciousness
plant acoustic emissions

The emotional interpretation is part of the literary and artistic interface.

physical measurement
        +
fictional interpretation
        =
The Sound Machine

๐Ÿ”ฌ An unexpected scientific parallel

The project was created in 2020, several years before a notable 2023 study on plant acoustics.

Researchers from Tel Aviv University later published experiments showing that stressed tomato and tobacco plants can emit airborne ultrasonic sounds.

The researchers recorded plants under conditions including:

  • dehydration
  • physical injury
  • normal control conditions

and found that Machine Learning models could distinguish aspects of plant condition from those ultrasonic recordings.

The study was published in Cell in March 2023.

This does not mean that The Sound Machine records those sounds.

The two systems work very differently:

The Sound Machine

soil moisture
     โ”‚
     โ–ผ
Arduino
     โ”‚
     โ–ผ
prerecorded MP3

versus:

Plant bioacoustics research

plant
  โ”‚
  โ–ผ
ultrasonic microphone
  โ”‚
  โ–ผ
40โ€“80 kHz recordings
  โ”‚
  โ–ผ
signal analysis / ML

The similarity is conceptual: both connect plant stress to sound, though through entirely different mechanisms.

Research

Sounds emitted by plants under stress are airborne and informative โ€” Cell / Tel Aviv University

Plants Emit Sounds โ€” Especially When Stressed โ€” Tel Aviv University


๐Ÿ“ Repository structure

TheSoundMachine/
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ LaMaquinaDeKlausner.pdf
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ SoundMachine3.ino
โ””โ”€โ”€ SoundMachine5.ino

SoundMachine3.ino

Arduino source representing an earlier iteration of The Sound Machine.

SoundMachine5.ino

Later Arduino iteration associated with the redesigned Klausner Machine.

LaMaquinaDeKlausner.pdf

21-page project guide containing additional construction information, circuits, source-code context and project documentation.

LICENSE

GNU General Public License v3.0.


๐Ÿš€ Installation

1. Clone the repository

git clone https://github.com/ronibandini/TheSoundMachine.git
cd TheSoundMachine

2. Install Arduino IDE

Download:

Arduino IDE


3. Connect the Arduino Nano

Select the appropriate Nano board and processor configuration in:

Tools
โ†’ Board

Older Nano boards may require selecting the corresponding legacy bootloader option.


4. Prepare the microSD card

Format a compatible microSD card according to the requirements of the DFPlayer module.

Copy the required MP3 files to the card.

Keep file names and track numbering consistent with the Arduino sketch.


5. Connect the DFPlayer

The DFPlayer requires:

power
ground
serial TX/RX
speaker output

Check the pin assignments in the selected Arduino sketch before wiring.


6. Connect the moisture sensor

Connect:

VCC
GND
Analog output

to the Arduino.

The analog input used by the sketch must match the hardware wiring.


7. Add the interface

Depending on the selected version, connect either:

Original

7-segment display
button

or:

Klausner Machine

analog meters
potentiometer
button
LED
power switch

Refer to the circuit documentation included in:

LaMaquinaDeKlausner.pdf


8. Upload

Open the corresponding sketch:

SoundMachine3.ino

or:

SoundMachine5.ino

Compile and upload it to the Arduino Nano.


๐Ÿ–จ๏ธ Enclosure

Both versions use custom enclosures designed in Fusion 360 and fabricated with a 3D printer.

The second enclosure was redesigned to resemble an older experimental instrument, with prominent analog meters and physical controls.

3D-printable designs by the author are available through:

Thingiverse โ€” Roni Bandini


๐Ÿ“– Project manual

The repository includes the complete:

La Mรกquina de Klausner

21-page user guide.

Download LaMaquinaDeKlausner.pdf

The guide contains additional information about:

  • project background
  • components
  • electronics
  • circuit
  • construction
  • calibration
  • source code
  • operation

๐ŸŽฅ Demo

Original Sound Machine

โ–ถ๏ธ The Sound Machine โ€” YouTube

The original demonstration shows the sensor inserted into a plant pot and the machine responding with prerecorded sounds according to moisture.


๐Ÿ”ฌ Ideas for extending the project

  1. ๐ŸŽ™๏ธ Add ultrasonic recording โ€” combine the moisture sensor with an ultrasonic microphone to experimentally record high-frequency plant emissions alongside the fictional MP3 responses.

  2. ๐Ÿ“Š Long-term plant telemetry โ€” log moisture, temperature, light and machine responses to a microSD card for later visualization.

  3. ๐ŸŒฑ Multiple plant profiles โ€” store individual calibration ranges and sound libraries for different plant species.


๐Ÿ“ฐ External references

๐Ÿ—ž๏ธ Independent editorial coverage

Hackaday โ€” Hearing Plants Giggle Is Just As Creepy As You Think

Hackaday published a dedicated article about The Sound Machine on March 18, 2020.

The article covers:

  • Roald Dahl's inspiration
  • soil-moisture sensing
  • Arduino
  • DFPlayer audio
  • happy and distressed sounds
  • the 3D-printed enclosure

Read the Hackaday article


๐Ÿ—ž๏ธ Elettronica In

Italian electronics magazine Elettronica In published:

Ascolta la salute delle tue piante!

on May 7, 2020.

The article describes the moisture-controlled sound system, Arduino implementation, DFPlayer and 3D-printed enclosure.

Read the article


๐Ÿ—ž๏ธ Open-Electronics

Open-Electronics also published coverage of the project:

Hearing Plants Giggle is Just as Creepy as You Think

Read on Open-Electronics


๐Ÿ› ๏ธ Project tutorials

Hackster.io โ€” Original version

The Sound Machine (Hear Plant Mood)

Published March 10, 2020.

The tutorial documents:

  • Arduino Nano
  • FC-28 sensor
  • 7-segment display
  • button
  • DFPlayer
  • microSD
  • speaker
  • enclosure
  • moisture mapping
  • source repository

The Sound Machine โ€” Hackster.io


Hackster.io โ€” Klausner Machine

The Klausner Machine :: hear your plants

Published October 17, 2020.

This second project documents the redesigned machine with:

  • two analog meters
  • sensitivity potentiometer
  • improved enclosure
  • startup audio
  • calibration
  • sound anti-repetition logic

The Klausner Machine โ€” Hackster.io


โœ๏ธ Medium

La Mรกquina del Sonido de Roald Dahl

Spanish-language article covering:

  • the original literary inspiration
  • Arduino implementation
  • plant-moisture sensing
  • Klausner Machine redesign
  • project manual
  • Hackaday coverage
  • Literature Machines presentation

Read on Medium


๐ŸŽค Literature Machines

The Klausner Machine was included in Literature Machines, a talk about physical devices inspired by literature.

Other machines discussed in the presentation included projects inspired by:

  • Julio Cortรกzar
  • Mario Levrero
  • Lewis Carroll
  • Roald Dahl

The presentation was part of the Maker Faire Rome / Maker Learn program.

Literature Machines โ€” Medium


๐Ÿ“š Roald Dahl reference

The Sound Machine

The original story can be read through The New Yorker archive:

The Sound Machine โ€” Roald Dahl

The story's fictional machine detects frequencies beyond ordinary human hearing and converts them into audible sound.


๐ŸŒฑ Plant bioacoustics references

The project itself uses soil moisture and prerecorded MP3 files, but later research provides an interesting scientific counterpart to its fictional premise.


๐Ÿ“• Contracultura Maker

The Sound Machine belongs to a broader series of projects where literature, old technologies, unusual interfaces and electronics are turned into physical machines.

More projects, technical context and essays are collected in:

Contracultura Maker โ€” book


๐Ÿ“š Useful references


๐Ÿ”— You may also be interested in...

Other projects by Roni Bandini connecting literature, physical interfaces and electronic machines.

๐Ÿง ๐Ÿ“– AI Remember

Generative literature system using local LLMs to produce fictional memories beginning with โ€œMe acuerdoโ€ฆโ€.

Another experiment where a literary structure becomes the operating rule of a machine.

github.com/ronibandini/AIRemember


๐Ÿ“šโŒจ๏ธ Kindle Typewriter

A jailbroken Kindle Paperwhite converted into a distraction-free typewriter connected to a Raspberry Pi and thermal printer.

A project combining literature, obsolete interfaces and physical output.

github.com/ronibandini/Kindle-Typewriter


๐Ÿงธ๐Ÿ“š Furby

A discarded Furby transformed into a literary electronic automaton.

Another project that turns an existing object into a new interface for literature and sound.

github.com/ronibandini/furby


โš ๏ธ Notes


Resistive soil sensors

FC-28-style resistive probes can corrode when powered continuously in wet soil.

For occasional measurements this may be acceptable, but for long-term monitoring consider:

  • powering the probe only while taking a reading
  • using a capacitive soil-moisture sensor
  • periodically recalibrating the system

๐Ÿ“œ License

The source code in this repository is released under the GNU General Public License v3.0.

See LICENSE for details.


๐Ÿ‘ค Author

Roni Bandini

Maker, AI developer, electronic artist and writer.

Buenos Aires, Argentina.

Releases

Packages

Contributors

Languages