This is the canonical reference for PlantWave's MIDI output: what the device generates, how it behaves, what you can configure, and what to expect in a session. Written for musicians, producers, installation artists, and developers.
Signal Source
PlantWave measures microfluctuations in electrical conductivity between two electrode contact points on a plant. The device applies a small sensing current and monitors impedance variation over time. This variation is biological — it reflects water movement, photosynthetic activity, and the plant's continuously changing bioelectrical state.
The signal is real, continuous, and non-repeating. It is not synthesized, randomized, or sampled from a library. Each plant produces a unique data stream.
All MIDI conversion happens on the device — not in the app, the MIDI Bridge, or the DAW. Every connection method receives fully formed MIDI.
MIDI Notes
Notes are generated from changes in the plant's conductivity. As conductivity shifts, the device maps those shifts to MIDI note-on and note-off messages.
- Pitch and timing reflect the plant's natural variability — they are not quantized to a beat or triggered by a threshold
- Multiple simultaneous notes — governed by the polyphony setting
- Pitch range varies by plant — different species produce different distributions. This is expected behavior, not a malfunction.
- Timing is organic — notes do not arrive on a grid. Add an arpeggiator or quantizer downstream if rhythmic regularity is desired.
- Not velocity-sensitive in the traditional sense — there is no key to press. Velocity values are generated by the device's internal mapping.
MIDI CC — Plant Activity
CC output represents plant activity — how variable the plant's bioelectrical signal is in each measurement window. CC is derived from the pulse width range (max − min) across a 9-sample window, then linearly ramped to the target value. Higher activity produces higher CC; lower activity produces lower CC.
Think of CC as a plant activity monitor: it tells you how much is happening right now.
| Property | Behavior |
|---|---|
| Activity-proportional | Higher CC = more active plant (more variability). Lower CC = calmer plant. Reflects magnitude of variability, not a directional trend. |
| Typical range | ~20–80 under normal conditions. Plant-specific, varies with light, humidity, time of day. |
| Baseline | Does not sit at zero. Some activity is always present. CC stuck at 0 = connection problem. |
| CC at 127 | Rare. Genuine moment of unusual plant activity. Design around it as an event. |
| Smoothly ramped | CC changes are linearly interpolated at 1 unit per 3–102ms. Transitions are gradual, never abrupt. |
| Per-device | Each connected PlantWave generates its own independent CC stream on its assigned channel. |
Best Parameters to Map
Arpeggiators — start here. Because plant notes are sparse and non-rhythmic, an arpeggiator running in "as played" mode quantizes the plant's notes in real time without imposing a pre-designed melody or ascending pattern. The plant's own timing shapes the phrase. When CC drives a chain selector that changes arpeggiator rate, plant activity directly shapes the rhythmic character of the output — faster activity produces denser phrases, quieter moments let notes breathe. This is a PlantWave-specific workflow enabled by the MIDI Bridge.
Other strong targets: filter cutoff, reverb size/decay, LFO rate, macro controls, delay feedback, effect send levels — anything that responds to gradual, organic change.
Parameters to Avoid
Volume (level jumps), low-pass filter with high resonance (painful peaks), pitch (dissonant unless intentional).
Configurable Parameters
All parameters are configurable via the PlantWave app (iOS/Android), web browser (http://plantwave.local/), or the MIDI Bridge app (Mac).
| Parameter | Default | Range | Notes |
|---|---|---|---|
| MIDI Mode | Off | On / Off / Debug | Enables MIDI on 3.5mm and USB-C ports. Must enable before wired use. |
| MIDI Channel | 1 | 1–16 | Each device must use a unique channel in multi-device setups. |
| CC Number | 80 | 0–127 | Which CC carries plant activity data. Match to your target parameter. |
| Root Note | C / A | Any note | Transposition root for scale output. Factory default is C per firmware; some production units ship configured to A. Set explicitly before use. |
| Scale | Major / Chromatic | Chromatic, Major, Minor, Indian, Pent. Major, Pent. Minor | Constrains output notes. Default varies by unit — set explicitly before use; you will adjust this anyway when configuring for a session. Pentatonic recommended for guaranteed harmony. |
| Polyphony | 5 | 1–8 | Simultaneous notes. Fully configurable from 1 (monophonic) to 8. Match to synth capabilities or compositional intent. |
Connection Methods
Four transport methods, all carrying the same MIDI data (notes + CC on configured channel).
| Method | Platform | Setup | Best For |
|---|---|---|---|
| 3.5mm Type A MIDI | Any MIDI synth/interface | Enable MIDI mode, plug in. No computer needed. | Standalone synth use |
| USB-C MIDI | Mac, Windows | Enable MIDI mode. Power on before USB. | DAW use, troubleshooting |
| WiFi (Network MIDI) | Mac | One-time WiFi config, then network MIDI session. | Cable-free DAW (no Bridge needed) |
| Bluetooth (MIDI Bridge) | Mac (macOS 13+) | Open Bridge, connect, assign channel/CC. | Cable-free with per-device routing, multi-device |
3.5mm port warning: This is MIDI output only — not a headphone or audio jack. Connecting headphones or speakers can cause damage.
Type B synths: PlantWave outputs Type A MIDI. Synths with Type B inputs require an adapter or DAW routing. Check minimidi.world.
Multi-Device Operation
No hard device limit — 4 confirmed stable in testing; practical ceiling varies by Mac hardware and Bluetooth environment. Each device operates on its own MIDI channel.
Critical rule: Each device must be on a unique MIDI channel. Two devices on the same channel produce choppy CC and irregular notes. Assign sequentially: Device 1 → Channel 1, Device 2 → Channel 2.
| Configuration | Status |
|---|---|
| 2 devices | Stable |
| 4 devices | Stable |
| 24-hour | Stable |
Known Edge Cases
| Behavior | Explanation |
|---|---|
| Narrow pitch range | Plant-specific. Snake plants produce steadier, narrower bands. Choose species for desired signal character. |
| Quiet periods | Plants have low-activity periods. CC will be low but not zero. Design sessions to sound good when quiet. |
| CC127 rarity | Full-scale is rare and genuine. Use it as an event trigger, not a normal operating expectation. |
| Electrode degradation | Signal degrades on dehydrated leaves. Adhesive pads > clips for consistency. Clean leaves before first use. |
| Ableton CC mapping | MIDI Map mode may capture incoming notes instead of the CC you want to map. Workaround: (1) unplug the electrode clips from the PlantWave device — leave the plant connected to the clips, just disconnect the clips from the device so no notes are generated; (2) in Ableton's MIDI preferences, disable Track for the PlantWave input while keeping Remote enabled — this stops notes from being captured during MIDI Map mode while CC still flows through; (3) enter MIDI Map mode and map the CC parameter; (4) re-enable Track and reconnect the electrodes when done. |
| USB serial mode | Plugging USB while device is off enters serial mode. Always power on before connecting USB. |
| Device rename on reconnect | Some users report device name changes on Bluetooth reconnect. If this occurs, re-select the device in your DAW. |
Hardware Architecture
PlantWave uses a dual-chip architecture:
| Chip | Role | Details |
|---|---|---|
| ESP32 | Main processor | Bluetooth/WiFi, signal processing, MIDI generation, firmware settings, app communication. 4MB flash. |
| ATmega16U2 | USB MIDI chip | Handles USB-C MIDI output. Class-compliant USB MIDI device when properly initialized. |
Firmware version: January 6, 2025 (current production).
Why USB requires power-on first: The ATmega16U2 USB chip initializes before the ESP32 main processor boots. If the device is connected to USB while powered off, it presents as a USB serial device instead of MIDI. Power on first → ESP32 configures the USB chip for MIDI mode → then connect USB.
Technical specifications. Defaults: MIDI Channel 1, CC#80, Root C, Scale Major, Polyphony 5 (max 8). Six scales: Chromatic, Major, Indian, Minor, Pentatonic Major, Pentatonic Minor. Note range: MIDI 36 (C2) to 96 (C7). Velocity: fixed 100. Note duration: 150–2650ms. CC: pulse width range, linearly ramped at 1 unit per 3–102ms.
What PlantWave MIDI Is Not
- Not a keyboard controller. No keys, pads, or triggers. Notes are generated by biological activity.
- Not velocity-sensitive in the traditional sense. No key to press harder or softer.
- Not a random number generator. The signal carries real biological patterns. It is stochastic but not random.
- Not an audio device. Outputs MIDI data only. Sound comes from your instrument or DAW.
- Not a synthesizer. PlantWave is a controller. Synthesis happens in your system.
Download the PlantWave MIDI Bridge — wireless Bluetooth MIDI routing for Mac.
Get PlantWave — the device that makes this possible.