SchizEffect

  • Home
  • Skateboard-E
  • Skateboard-P
  • Shop
  • News
  • About
  • Contact
  • My account
  • Cart

Electrosmith Daisy Patch SM Example Code Descriptions

March 24, 2025

This is the descriptions of the control functions from the Electrosmith Daisy Patch SM sample code.

Envelope Example

This example demonstrates using the daisy for an ADSR envelope. This example shows off the ability to output audio rate control voltage signals from the CV output pins of the DAC.

Controls

Pin NamePin LocationFunctionComment
CV 1C5Attack TimeRange is from instant to 1 second
CV 2C4Decay TimeRange is from instant to 1 second
CV 3C3Sustain LevelRange is from 0v to 5V for sustain stage
CV 4C2Release TimeRange is from instant to 1 second
Gate In 1B10ADSR GateInput for engaging the envelope
ButtonB7ADSR ButtonEngages the envelope while pressed

Hardware Test

Hardware verification test.

This is set up to use the patch.Init() hardware to verify the Patch SM is functioning as expected.

To verify the various functionality:

  • USB Serial port is used to print data
    • ADC Values for all 12 ADCs are printed (four of these are on the expander bank)
    • Gate input values
    • B7 and B8 (check actual pin names) values based on toggle/button position
    • SDRAM Pass/Fail
    • QSPI Pass/Fail
    • SDMMC Pass/Fail
  • If an SD Card is connected at bootup the it will write, and readback a text file to verify it functions.
  • Audio will be passing through. IN_L is connected to IN_R when on the hardware when no jack is plugged into the IN_R jack.
  • The LED and CV out will be generating 1Hz ramp waves.
  • The Gate Outputs will be outputting Squarewaves at 500mHz (one pulse per two seconds)

Checking the values via USB

THIS SERIAL MONITOR SCRIPT HAS NOT BEEN ADDED YET.

Included is a script that will open a serial monitor.

Running test.sh (or test.bat on windows) with python installed a terminal will open and start printing.

By double-clicking, or running with no arguments, the test will find the first available COM port connected and connect to it. This may not always be the 

Daisy.

You can pass in an argument with the name of the COM Port (usually checked in your PCs Device Manager)

This will look something like:

% Windows

test.bat COM17

# Mac/Linux

./test.sh usbmodem12345678


Looper

Author: nbeserge

Description: Simple Looper for Patch SM.
Includes controls for record on / off / clear, Input Volume, and Loop Volume.
The output is a 50/50 mix of the post gain input and loop signals.

If you are using the patch.Init(), the controls are already connected as they should be.

If you are using a bare Patch SM, refer to the 1.x figures in the Patch SM Datasheet.

Controls

Pin NamePin LocationFunctionComment
CV_1C5Input LevelConnect a potentiometer here.
CV_2C4Loop LevelConnect a potentiometer here.
B7B7Record ToggleConnect a tactile switch here. Press to toggle recording, hold to clear.
OUT_RB1Audio Out RConnect a jack here.
OUT_LB2Audio Out LConnect a jack here.
IN_RB3Audio In RConnect a jack here.
IN_LB4Audio In LConnect a jack here.

Pass thru Example

This is a simple example of passing audio input through the Daisy Patch SM.

This is a great starting point for new projects using this board.

To use this project as a template for your own project you can use the following helper.py command:

./helper.py copy MyProjects/MyAwesomeNewProject –source patch_sm/PassthruExample

Controls

None


Random CV Example

This example demonstrates basic usage of the CV Outputs on the Daisy Patch SM.

Both CV outputs will output the same random voltage.

Controls

None


Reverb Example

This example shows how to set up a simple reverb effect.

Controls

Pin NamePin LocationFunctionComment
CV_1C5Reverb TimeControls the size of the reverb
CV_2C4Reverb Dampening FrequencyRange is from 1kHz to 19kHz
CV_3C3Input LevelControls the amount of dry signal passing through to the output
CV_4C2Send amountControls the amount of dry signal sent to the reverb

The _comments.cpp file is identical to the main file, but has detailed comments explaining each piece of the source code.


Simple Oscillator

Basic sine wave oscillator.

This example demonstrates the both the basics of setting up an oscillator as well as using calibrated pitch tracking for accuracy with 1V/Octave signals.

To keep this example on the simpler side, the calibration itself is handled in another program.

See the patch_sm/VoctCalibration example, which will go through the process of calibrating the CV_5 input.

Controls

Pin NamePin LocationFunctionComment
CV_1C5Coarse TuningSets the pitch of the oscillator
CV_5C61V/Octave InputMusical pitch tracking input

TripleSaw Example

This example shows how to make a complex oscillator voice using three bandlimited sine waves.

Controls

Pin NamePin LocationFunctionComment
CV_1C5Coarse TuningTunes the base frequency of all three oscillators
CV_2C4Fine TuningFine tune adjustment of base freq. for all three oscillators
CV_3C3Detune AmountAdjusts the amount of detuning between all three voices
CV_5C61V/Octave InputMusical pitch tracking input

The _comments.cpp file is identical to the main file with detailed comments of each piece of the source code.

Leave a Comment · Latest News

  • Facebook
  • GitHub
  • Twitter
  • YouTube

Product categories

  • Cables (1)
  • Components (253)
  • Eurorack Components (24)
  • PCBs (1)
  • Pedal Components (9)

Kenneth Jackson

  • Connections.Digital
  • KennethJackson.Tech
  • GitHub – KennethJacksonTech
  • Discord – KennethJackson.Tech
  • Wiki – KennethJackson.Tech

Copyright © 2025 ยท Designed by: Kenneth Jackson at Connections.Digital in Amarillo, Texas

This is a demo store for testing purposes — no orders shall be fulfilled. Dismiss