Meebleeps / Wirehead Mutant Mozzi Synth

October 24, 2024 ยท View on GitHub

  • Meebleeps was my personal project and was rebranded as Wirehead Instruments in 2023 to avoid brand confusion with MeeBlip - another completely separate synth design company.

My first Arduino project started with the plan to push lfo/envelope voltages to my Volca Modular, but thanks to inspiration from Hagiwo and the Mozzi Library it turned into a cool little generative synth that I can let run all day, built to sync & fit with my Volca collection.

https://www.youtube.com/watch?v=d2Lml1Z9uWc

Source released under Creative Commons ttribution-NonCommercial-ShareAlike 4.0


Important build-note: my builds have used normally-closed switches, so the code assumes this. A couple of people building this have had issues because they have normally-open switches, so to adjust for this edit the code in updateButtonControls() to invert the results of each call to digitalRead().


Synth Voice Features

  • 2 saw oscillators
  • Multiple tuning modes for 2nd oscillator - off, detune, fifths & octaves up/down
  • Digital low pass filter with variable cutoff and resonance
  • Variable level ducking/sidechain effect

Sequencer

  • Generative sequencer mutates/evolves at user-defined rate
  • Variable sequence mutation probability & note-density
  • Variable sequencer length (1-16 steps)
  • Sync input & output (Korg Volca compatible)
  • Selectable tonic note
  • Selectable scale quantisation (Major, Minor, Pentatonic, Phrygian (GOA!), Octaves, Fifths)
  • 16-step parameter-lock recording of synth parameters (the Elektron way!)
  • Retrig (clone) button for fills
  • Tap-tempo control

Hardware

  • Arduino Nano (Elegoo)
  • Simple Mozzi output circuit
  • CV inputs (volca modular levels) for synth and sequencer parameters
  • Designed to fit into Volca form factor
  • Laser-cut metalisized acrylic faceplate
  • Laser-cut wooden box
  • 9V DC Power input
  • Access to nano's USB port for firmware upgrades

Controls

Button Controls

Button IndexPinNameFunctionAlternative Function
0D4FuncAccess alternative control functionn/a
1D5StartStarts/stops the sequencerTap-tempo
2D6ScalesCycle through available musical scalesCycle through available mutation algorithms
3D3RootIncrease the tonic noteDecrease the tonic note
4D10RecHold to record knob movementsHold while moving a knob to clear the recorded value
5D12CloneRetrigger the current step

Analog Controls

Input IndexPinNameFunctionAlternative Function
0A0SpeciesOscillator 2 detuneAmount of sidechain/ducking effect
1A1LifespanNote lengthn/a
2A2MutationProbabilty that sequence will change over timeProbability of a note playing on any step
3A3ShapeShape of the filter envelopen/a
4A4ColourBase filter valueFilter resonance
5A5PopulationNumber of steps in the sequence 1-16n/a

Problems (mostly hardware due to this being my first project!)

  • some sort of overflow bug linked to the low pass filter which causes the unit to enter a distorted output state until the cutoff is set to zero
  • no voltage protection on inputs
  • no buffering of inputs or outputs
  • no volume control
  • probably more unknown unknowns ๐Ÿ˜‚

Thanks