This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Documentation

How to build and program Crouds, the programmable pedal.

1 - Getting Started

Setting up a pedal, patching, hardware info

Buying a pedal

Building a pedal

2 - Software

Information about the software that runs on the Daisy

2.1 - Flashing patch binaries using the web

How to patch using Electrosmith’s web tool

You can download existing patch binary file (.bin) from https://github.com/motekulo/prog1/tree/main/patches/pd then flash them to your pedal using the web interface at https://flash.daisy.audio/.

If the Daisy Seed in your pedal has not yet been flashed with an effect, then you need to load a bootloader first.

Important - when flashing, power your pedal from just the USB port - not the main 9v power as well.

  1. Plug the pedal into the computer using a micro usb cable. You don’t need any other power source to the pedal for this part of the process.
  2. Prepare the Daisy for flashing by holding the boot button, then pressing and releasing the reset button (while still holding the boot button). Release the boot button and the Daisy will be ready.
  3. Go the bootloader tab at https://flash.daisy.audio/ and select v6.3.
  4. Press the flash button on the web interface

Once you have a bootloader, you can then prepare your Daisy with another key combination, then flash an effect as follows:

  1. Press the reset button (and release it) then quickly press the boot button (and release it). You should see a flashing “breathing” pattern from the red LED.
  2. Go to the “File upload” tab of https://flash.daisy.audio/, select the file to upload (a .bin file) and press the Flash button on the web interface.
  3. Once flashed, unplug the Daisy, plug your pedal back in to your pedalboard or guitar, and start playing.

2.2 - Flashing Puredata patches with PlugData

How to patch using Plugdata

Plugdata is a visual programming environment based on Puredata (Pd). You can create patches using a subset of Puredata objects, and compile them for the pedal. Here’s a video overview:

For the patches provided here for this project you can flash them by following these steps:

  1. Plug the pedal into the computer using a micro usb cable. You don’t need any other power source to the pedal for this part of the process.
  2. Prepare the Daisy for flashing by holding the boot button, then pressing and releasing the reset button (while still holding the boot button). Release the boot button and the Daisy will be ready.
  3. With your selected patch opened in Plugdata, select “compile”, adjust the size settings (see info under each patch) then compile.
  4. Unplug the Daisy, plug your pedal back in to your pedalboard or guitar, and start playing.

When creating your own patches, it’s really useful to check the “compiled mode” option, so that you get warnings if you attempt to use an object that won’t compile for the Daisy Seed.

2.3 - Patch information

Details of individual patches

2.3.1 - Blooming Reverb

Blooming Reverb patch information

Blooming Reverb chains a reverb with a sonic bloom. The bloom is created with a filter bank running into allpass filters.

Here’s a quick demo:

ControlParameterLeft LEDRight LED
Left knobRoom size
Right knobWet/ dry mix
Encoder button (single click)Toggle damping or bloom volumeRed = damping, green = bloom volume
Encoder button (double click)
EncoderDamping amount or bloom volumeRed = damping amount, green = bloom volume
Left button
Right button

Open the patch blooming_reverb.pd in Plugdata to get an idea of how it works.

You can also flash the binary file directly to the pedal using the web interface (see the guide to flashing using the web.

Plugdata compile settings

Big + SDRAM.

2.3.2 - Blooming Sparkles

Blooming Sparkles patch information

Blooming Sparkles chains a reverb with a sonic bloom and a buffer whose playback can be modulated in different ways. The bloom is created with a filter bank running into allpass filters. The output of the filter bank is recorded into a buffer which is played back at various speeds and directions.

Here’s a quick demo:

ControlParameterLeft LEDRight LED
Left knobRoom size
Right knobWet/ dry mix
Encoder button (single click)Toggle buffer length or sparkle volumeRed = buffer length, green = sparkle volume
Encoder button (double click)Cycle playback speed (1x, 2x, 4x)Red = 1x, orange = 2x, green = 4x
EncoderBuffer length or sparkle volumeRed = buffer length, green = sparkle volume
Left buttonCycle modulation typeRed = normal, orange = reverse, yellow = forward/ reverse, blue = all
Right buttonToggle freeze bufferBlue = frozen

Open the patch blooming_sparkles.pd in Plugdata to get an idea of how it works.

You can also flash the binary file directly to the pedal using the web interface (see the guide to flashing using the web.

Plugdata compile settings

Big + SDRAM.

2.3.3 - Chorus

Chorus patch information
ControlParameterLeft LEDRight LED
Left knobWet/ dry
Right knobRate
Encoder buttonToggle depth or base delayRed = depth; green = base delay
EncoderDepth or base delayRed = depth; green = base delay
Left buttonCycle: Roland, classic, vibratoTempo
Right button

Open the patch chorus_vib.pd in Plugdata to get an idea of how it works.

You can also flash the binary file directly to the pedal using the web interface (see the guide to flashing using the web.

Plugdata compile settings

Big + SDRAM.

2.3.4 - Compressor

Compressor patch information
ControlParameterLeft LEDRight LED
Left knobThresholdGain reduction
Right knobMake-up gain
Encoder buttonRatio (2:1, 4:1, 8:1, 16:1)R O G B
Encoder
Left buttonAttack time (ms): 10, 40, 80, 120R O G B
Right buttonRelease time (ms) 10, 80, 160, 320R O G B

The colour of the left LED indicates which value has been selected. So if you click on the encoder a ratio of 2:1 is red, 4:1 orange, 8:1 green and 16:1 blue.

For attack times, red is 10ms, orange is 40ms, green is 80ms and blue is 120ms. Same principle applies for release (see table above).

The encoder doesn’t do anything at the moment.

Open the patch compressor_mono.pd in Plugdata to get an idea of how it works. I have essentially pulled apart the hv.comp~ and adapted it to allow more parameters to be set.

2.3.5 - Overdrive

Overdrive patch information
ControlParameterLeft LEDRight LED
Left knobOverdrive
Right knobGain
Encoder button
EncoderFilter cutoffFilter freq
Left button
Right button

Open the patch overdrive.pd in Plugdata to get an idea of how it works.

2.3.6 - Reverb

Reverb patch information
ControlParameterLeft LEDRight LED
Left knobSize
Right knobWet/ dry
Encoder button
Encoder
Left buttonCrossover freq (Hz): 3k, 10k, 18kR G B
Right buttonPredelay (ms): 0, 15, 80R G B

Open the patch reverb.pd in Plugdata to get an idea of how it works.

Plugdata compile settings

Big + SDRAM.

2.3.7 - Tap tempo delay

Tap tempo delay patch information
ControlParameterLeft LEDRight LED
Left knobFeedback
Right knobWet/ dry
Encoder button
Encoder
Left buttonDelay subdivisionTempo
Right buttonTap tempoSubdivision

Open the patch delay.pd in Plugdata to get an idea of how it works.

Plugdata compile settings

Big + SDRAM.

2.3.8 - Tremolo

Tremolo patch information
ControlParameterLeft LEDRight LED
Left knobRate
Right knobDepth
Encoder button
EncoderPhase offset
Left button
Right button

Open the patch tremolo.pd in Plugdata to get an idea of how it works.

Plugdata compile settings

Big + SDRAM.

2.3.9 - Trig

Karplus Strong/ delay based percussion synth triggered by acoustic transients

Percussive hits on a guitar (or other instrument) trigger percussive sounds, synthesised using a Karplus Strong/ delay based approach with a noise burst, filter, delay, filter and feedback loop.

Here’s a quick demo:

ControlParameterLeft LEDRight LED
Left knobInput threshold for trigger
Right knobDelay length (affects pitch)
Encoder button (single click)Toggle delay or noise filter adjustmentRed = delay filter, green = noise filter
Encoder button (double click)
EncoderDelay or noise filter amountRed = delay filter, green = noise filter
Left button
Right button

Open the patch trig.pd in Plugdata to get an idea of how it works.

You can also flash the binary file directly to the pedal using the web interface (see the guide to flashing using the web.

Plugdata compile settings

Big + SDRAM.

2.3.10 - Warp and weft

Tap tempo delay with a fun buffer and manipulable phasor

A tap tempo delay is fed into a buffer of 1 to 4 beats in length, which is then played back at different speeds and either forward or reverse.

Here’s a quick demo:

ControlParameterLeft LEDRight LED
Left knobDelay feedback
Right knobMix (wet/ dry)
Encoder button (single click)Toggle phasor speed or buffer lengthRed = phasor speed, green = buffer length
Encoder button (double click)Toggles forward and reverse buffer playback
EncoderPhasor speed or buffer length amountRed = phasor speed, green = buffer length
Left buttonTap tempoDelay speed
Right buttonFreezes buffer

Open the patch warp_weft.pd in Plugdata to get an idea of how it works.

You can also flash the binary file directly to the pedal using the web interface (see the guide to flashing using the web.

Plugdata compile settings

Big + SDRAM.

3 - FAQs

Frequently asked questions
Why won’t my patch flash to the pedal?

Check that you have slected an appropriate setting in the compile menu if using Plugdata. Patches that use delays need the “Big + SDRAM” setting. Try a different cable. Some cables seem to work better than others, and cables that are power only won’t work at all.

How can I change the input from guitar to line level?

Remove the back cover of the pedal, and locate the dipswitch. If 2 is on and 1 is off, it is set to guitar level. If 2 is off and 1 is on, it is set to line level.

4 - Contribution Guidelines

How to contribute to the project

Writing and submitting patches

You can either email me a patch, or submit a PR in github (https://github.com/motekulo/prog1). Patches should also have documentation here. The website is currently a private repository, but you can send me (motekulo@gmail.com) a markdown file using the following format:

## Patch name

Brief description

| Control        | Parameter       | Left LED | Right LED |
|----------------|-----------------|----------|-----------|
| Left knob      |                 |          |           |
| Right knob     |                 |          |           |
| Encoder button |                 |          |           |
| Encoder        |                 |          |           |
| Left button    |                 |          |           |
| Right button   |                 |          |           |

More detail

Hardware

The designs are open source, so you can further develop the hardware as you see fit. It’s just one person at the moment, so email me (motekulo@gmail.com) if you’d like to be involved.