Greenface Labs THE SPANKULATOR User manual

THE SPANKULATOR
USER MANUAL
Greenface Labs -- 2021

TABLE OF CONTENTS
Quick Start .................................................................................................................................3
Overview ................................................................................................................................... 4
Features..............................................................................................................................................4
Signals ................................................................................................................................................4
Operation .................................................................................................................................. 6
General Operation ..............................................................................................................................6
Open Source Project ........................................................................................................................... 7
Trigger ................................................................................................................................................ 7
Repeat Mode....................................................................................................................................... 7
CV Scale..............................................................................................................................................8
Sig In...................................................................................................................................................8
Screen Saver .......................................................................................................................................8
Function Details......................................................................................................................... 9
Up ..................................................................................................................................................... 10
Down ................................................................................................................................................ 11
Stretch.............................................................................................................................................. 12
Toggle............................................................................................................................................... 13
Maytag.............................................................................................................................................. 14
LFO................................................................................................................................................... 15
User .................................................................................................................................................. 16
Bounce...............................................................................................................................................17
WiFi................................................................................................................................................... 18
Terminal Mode..................................................................................................................................20
Settings.............................................................................................................................................22

QUICK START
The Spankulator can be used in an endless variety of ways, but here is a great way to start
exploring. These instructions are for use with a Moog Mother-32 but can be easily adapted to
most modular synthesizers.
MOTHER-32 SET-UP
•VCA Mode –EG (use the envelope generator)
•VCO Mod Amount –Zero
•VCF Mode –Low Pass
•VCF Mod Source –EG
•VCF Mod Amount –0%
•Cutoff –200Hz
•Resonance –50%
•Attack –5%
•Decay 10%
•Sustain –Off
•Frequency –50%
•Pulse Width –50%
•VCO Wave - Pulse
•Octave –4
•Note –8
SPANKULATOR SET-UP
•Fxn –Down (use default parameters as shown in images below)
•Start Pulse Len –100
•End Pulse Len –10
•Num Pulses –10
•Randomness –0
•Initial Delay 100
•Repeat –On
•CV Scale –50%
Connect the Spankulator Trig Out to the M-32 Gate Input, Tog Out to the M-32 VCF Cutoff
Input and CV Out to the M-32 VCO Lin Input. Press Trigger on the Spankulator and you should
hear a sound much like that found here.

OVERVIEW
The Spankulator is a WiFi-enabled multi-function Eurorack module. Its main function is to
generate a trio of coordinated analog and digital signals called Spanks which can be used in an
endless variety of ways; some examples being a sequencer, an envelope generator, or a
complex rhythm generator.
FUNCTIONS
•5 Spank types –Up, Down, Stretch, Toggle and Maytag
•LFO with 3 waveforms –Sine, Ramp Up, Ramp Down
•Bounce –A DVM plus a scalable sample and hold. DC and AC modes
•User Mode –For sending sequences of Spanks and/or LFO bursts
•Settings –For configuration, factory reset, etc.
FEATURES
•128x64 graphic display enhances usability
•WiFi and Terminal interfaces provide even richer user experiences with the addition of
computer resources like a keyboard, display and scripting.
•All settings are stored in Flash memory so that they are retained when power is off
•Selectable Single Shot or Repeat mode
•External Clock mode
•Inputs and Outputs are protected against damage during typical use
SIGNALS
•Gate Out –Digital signal that consists of pulses of varying width.
•Tog Out –Digital signal that toggles with the completion of every Spank.
•CV Out –Analog signal (+/- 5 volt) that depends on the Spank type. Usually, it is relative
to the pulse width of the Gate Output. This signal’s amplitude is adjusted using the CV
Scale control.
•Trigger In –Digital input. Operation is triggered with a 0 to 5 volt transition on this
input. This also serves as the External Clock when Ext Clk mode is enabled.
•Sig In –Analog signal input. Range: +/- 5 volt
(see figure next page)

Figure 1 - Front Panel

OPERATION
GENERAL OPERATION
(Please see the Terminal and Web Interface sections for more details)
•The Function is selected using the +and –buttons.
oTerminal uses the +and –keys.
oWeb Interface has dedicated Function buttons.
oEach function has one or more parameters.
•Parameters are adjusted using the arrow keys and the Adjust knob.
oParameters are selected using the up and down arrows.
oDigit to be adjusted is selected by using the right and left arrows.
oUse the Adjust knob to increment and decrement the selected digit.
oParameter values may be directly entered using the Terminal or Web Interface.
•Operation of each function is triggered by a variety of methods.
oPressing the Adjust button.
oReceiving a low to high transition on the Trig In jack.
oTerminal uses the !key to trigger.
oWeb Interface has a dedicated Trigger button.
•Trigger may be single-shot or repetitive.
oPress the Repeat button to toggle the Repeat mode.
oTerminal uses the *key to toggle Repeat mode.
oWeb Interface has a dedicated Repeat button.
•CV Out amplitude can be adjusted from 0 to 100% by a variety of methods.
oUse the CV Scale potentiometer.
oTerminal uses the Okey plus up to three digits ranging from 0 to 1023. (Use the
zkey to refresh the screen after setting this parameter to see the result.)
oWeb Interface has a dedicated Slider control.

OPEN SOURCE PROJECT
The Spankulator is an Open Source project that has an Arduino 33 IoT at its core. The code is
written in C++ and makes use of several public domain code libraries for managing the various
purchased hardware components such as the display and the FRAM non-volatile memory.
Because it is Open Source, in addition to being used by musicians and sound designers to
create new and amazing sounds, the Spankulator can be used by students and entrepreneurs
to create new, amazing modules. And, of course, the open source community will generally
improve the product as times goes along. Links to the design repositories can be found on the
Spankulator web page.
TRIGGER
The Spankulator is controlled by the user issuing Commands. Commands are initiated by
pressing the front panel buttons or by using the WiFi or Terminal interfaces. Regardless of the
source of the command, it will be called either a command or a keypress in this document.
The various functions that the Spankulator performs are called “Spanks”and will be referred to
as such in this document.
All of the Spankulator’s functions are activated by a trigger. Triggers can come from various
sources:
•Pushing the Trigger (Adjust) knob.
•Receiving a 0 to 5V transition on the Trig In jack.
•Receiving a Trigger command from either the Wifi or Terminal interface
When a Trigger is received, the Spankulator will execute a Spank that sends pulses at the Trig
Out jack and varying voltage levels at the CV Out jack. When the Spank ends, the Tog Out jack
will switch polarity from one to zero or vice versa.
REPEAT MODE
If Repeat is set to OFF, the Spankulator will remain in whatever condition it was in when the
Spank ended until it receives another Trigger.
If Repeat is set to ON, the Spank will continuously repeat.
In either case, receipt of another Trigger or Command will interrupt the Spank, stopping
execution until a new Trigger is received.

The Trigger Indicator will be activated when a trigger is received and will be turned off when
the trigger ends. The Trigger Indicator is a Red LED on the front panel and is a widget in the
Web Interface. It is textually indicated on the Status line in Terminal mode.
CV SCALE
The CV Out signal ranges from -5V to +5V. It can be attenuated using the CV Scale control.
When using this control, the CV Out signal will still be centered at zero volts, but it will swing to
a lesser degree depending on the Scale setting.
WiFi mode has a dedicated slider control for CV Scale, and Terminal mode uses the O key
followed by a number from 0 to 1023 followed by a carriage return. Press the screen refresh
command to see the effect.
SIG IN
The Signal In jack has a range of -5V to +5V. It is used by the Bounce function. Signals at this
input currently have no effect in other functions.
This signal is split into two parts, one AC coupled, and the other DC coupled. These signals are
then scaled and biased to the 0 to 3.3V signal that the Arduino requires. More details about the
Bounce function can be found later in this document.
SCREEN SAVER
In order to maximize display life, the display will turn off after a set time. The default time is 15
minutes. The time can be set in the Settings function with a range of 1 to 9999 minutes.
Press any button or push the Trigger knob to bring the display back.

FUNCTION DETAILS
The Spankulator has ten functions. These are listed below with their associated command
index. Details for each function follow.
0. Up
1. Down
2. Stretch
3. Toggle
4. Maytag
5. LFO
6. User
7. Bounce
8. WiFi
9. Settings

UP
Up Spanks send a sequence of pulses that increase in width to Trig Out.
The voltage level at CV Out is proportional to the current pulse width plus or minus a value that
is calculated from the Randomness parameter. The voltage will be at the minimum (-5V) when
the Spank starts and will increase to the maximum (+5V) when the Spank completes. This
range can be reduced by using the CV Scale control.
Parameter
Min
Max
Default
End Pulse Len
10
9999
100
Start Pulse Len
10
9999
10
Num Pulses
2
99
10
Randomness
0
99
0
Initial Delay
0
9999
100
The figure below illustrates an Up Spank with the default settings. The yellow trace is Trig Out
and the purple trace is CV Out.
Figure 2 - Default Up Spank

DOWN
Down Spanks send a sequence of pulses that decrease in width to Trig Out.
The voltage level at CV Out is proportional to the current pulse width plus or minus a value that
is calculated from the Randomness parameter. The voltage will be at the maximum (+5V) when
the Spank starts and will decrease to the minimum (-5V) when the Spank completes. This
range can be reduced by using the CV Scale control.
Parameter
Min
Max
Default
End Pulse Len
10
9999
10
Start Pulse Len
10
9999
100
Num Pulses
2
99
10
Randomness
0
99
0
Initial Delay
0
9999
100
The figure below illustrates a Down Spank with the default settings. The yellow trace is Trig
Out and the purple trace is CV Out.
Figure 3 - Default Down Spank

STRETCH
Stretch Spanks send a sequence of pulses that are the same width to Trig Out. Each pulse is
preceded by a delay which is set by the user.
The voltage level at CV Out is set by the user. Level 1 sets the voltage during the pulse and
Level 2 sets the voltage during the delay. These voltages can be scaled by using the CV Scale
control.
Parameter
Min
Max
Default
Pulse Length
10
9999
10
Delay
10
9999
100
Num Pulses
2
99
1
Level 1
0
1023
1023
Level 2
0
1023
512
The figure below illustrates a Stretch Spank with the default settings. The yellow trace is Trig
Out and the purple trace is CV Out.
Figure 4 - Default Stretch Spank
Notes: CV Output levels can be calculated using this formula: n = 102.3*V +512 rounded
down to the nearest integer. Where n is the value to enter in Level 1 or 2 and V is the desired
output voltage. V ranges from -5V to +5V.

TOGGLE
Toggle Spanks send a HIGH, LOW or the opposite of what is currently there to Trig Out.
The voltage level at CV Out is set by the user. Hi Level sets the voltage when the output goes
HIGH and Lo Level sets the voltage when low. These voltages can be scaled by using the CV
Scale control.
Parameter
Min
Max
Default
Delay
1
9999
100
Hi Level
0
1023
1023
Lo Level
0
1023
0
State
LO
HI
Toggle
The figure below illustrates a Toggle Spank with the default settings. The yellow trace is Trig
Out and the purple trace is CV Out.
Figure 5 - Default Toggle Spank
Notes: Toggle mode is useful for setting the output to a known state. Trig Out can be set LO,
HIGH or Toggled to the opposite of what it currently is. The levels at CV Out can be set in a
similar fashion to Stretch Spanks.

MAYTAG
Maytag Spanks send a sequence of pulses of random width to Trig Out.
The voltage level at CV Out is proportional to the current pulse width plus or minus a value that
is calculated from the Randomness parameter. The voltage will be at the maximum (+5V) when
the Spank starts and will decrease to the minimum (-5V) when the Spank completes. This
range can be reduced by using the CV Scale control.
Parameter
Min
Max
Default
End Pulse Len
10
9999
10
Start Pulse Len
10
9999
100
Num Pulses
2
99
10
Randomness
0
99
0
Initial Delay
0
9999
100
The figure below illustrates a Maytag Spank with the default settings. The yellow trace is Trig
Out and the purple trace is CV Out.
Figure 6 - Default Maytag Spank

LFO
LFO Spanks send a Sine wave, a Ramp-Up or a Ramp-Down wave to CV Out. They also send a
pulse to Trig Out where the width is equal to the length of the LFO period.
The voltage level at CV Out is 10V peak to peak. This amplitude can be reduced by using the CV
Scale control. The Period is in milliseconds.
Parameter
Min
Max
Default
Period
2
9999
10
Waveform
N/A
N/A
SINE
The figure below illustrates an LFO Spank with the default settings. The yellow trace is Trig
Out and the purple trace is CV Out.
Figure 7 - Default LFO Spank
Notes: When in Repeat mode, the waveform will be interrupted by the system in its basic loop.
This interruption can be minimized by disabling WiFi in the Settings function.

USER
The User function sends a sequence of Spanks. The User sequence is entered using the right
and left arrow keys to select the sequence element and the Adjust knob to enter the Spank at
the selected element. Sequence elements are deleted by choosing the blank Spank.
Entering a Spank copies the existing Spank parameters into the User Spank. For example,
entering a ‘U’will copy the parameters from the Up Spank into the User mode parameters at
the position the U was entered. Once entered, these parameters can be adjusted. Each User
Spank is a separate entity and can be edited without affecting other User Spanks or the Spank
that was the initial source of the parameter data.
It is important to note that changing an element of the User sequence will overwrite all the
data at the selected element with the data from the newly entered Spank.
Use the down arrow to edit an element’s parameters. When in edit mode, the sequence
highlight character will change from an underscore (_) to a caret (^). The underscore will be
used to highlight the edited parameter. Use the arrow keys to edit the various parameters and
to return to editing the sequence.
The figure below illustrates a User sequence of DUSTM using default settings for all Spanks in
the sequence. The yellow trace is Trig Out and the purple trace is CV Out.
Figure 8 - Example User Sequence

BOUNCE
The Bounce function essentially is a Sample & Hold with extended features. Bounce operates
in two modes: DC and AC. It measures the voltage at Sig In when a Trigger occurs and then
“bounces”that voltage, scaled by the Adj knob, to CV Out. It also generates a 732Hz PWM
signal at Trig Out with the duty-cycle proportional to the measurement.
Mode
0% Duty Cycle
100% Duty Cycle
DC
-5V
+5V
AC
0V
10V pk-pk
The basic accuracy of the measurement is 1%
AC is measured as True RMS. For a Sine wave this is 𝑉𝑝𝑘
2∗√2(Freq: 200Hz –2000Hz)

WIFI
The Spankulator is equipped with a 2.4GHz WiFi interface. When connected to your network,
you can control the Spankulator using the Web Interface (see example screen below).
WiFi can be disabled in the Settings function. Make sure it is enabled before proceeding in the
connection process.
CONNECTING TO WIFI
1. Enter WiFi function and press Trigger to scan for networks.
2. Use the up and down arrow keys to select your network. Press Trigger.
3. Use the right and left arrow keys with the Adjust control to select each character of
your password. Press Trigger when your password is entered.
The Spankulator will try to connect using the password that you entered. If successful, the
screen will display the connection data. This includes the connection status, the IP it can be
found at and the signal strength. The signal strength will also be displayed in the upper right
corner of the display as 1-4 bars. The signal strength display is shown in every function.
If the connection fails, the Spankulator will give its best explanation of why it failed.
The Spankulator remembers its connection and will reestablish it if the power is recycled.
Visiting the WiFi function again while connected will display the connection data. Press Trigger
to re-enter the scan for networks screen.
Re-scanning networks will reset the password, so it must be entered again to connect.
USING WIFI
The Spankulator’s Web Interface was designed to resemble the physical front panel. However,
because the Web Interface enjoys the added functionality a computer brings, it has significant
differences.
Instead of Fxn+ and Fxn- buttons, there is a dedicated button for each function. While you can
still adjust parameters a digit at a time, you can now enter parameters from the keyboard by
first clicking on the parameter then using the dedicated entry field.
Adjusting parameters digit by digit is possible by using the right and left arrows to select the
digit and using the Inc and Dec buttons to increment and decrement the digit.

WEB INTERFACE EXAMPLE
Figure 9 - Web Interface Example

TERMINAL MODE
Terminal mode is accessed via the MicroUSB connector on the Arduino that is on the bottom
of the Spankulator. It is always available and cannot be turned on or off.
Use a terminal emulation program like PuTTY that has VT-100 mode. The Spankulator is set to
run at 115200 baud but will adapt to the PuTTY settings.
Please refer to the table of commands that follows this section.
TERMINAL EXAMPLE SCREEN
Figure 10 - Terminal Interface Screen
Important! Only connect USB to a powered-up system. Otherwise, the 5V power from the USB
will try to power the entire rack. And that’s not really good. So, please disconnect the USB
cable before you turn off the power!
Other manuals for THE SPANKULATOR
1
Table of contents
Other Greenface Labs Synthesizer manuals