Greenface Labs THE SPANKULATOR User manual

THE SPANKULATOR
USER MANUAL
Greenface Labs -- 2023

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

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. Note - you may need to set the encoder type in Settings first.
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 which can be used in an endless
variety of ways. While each output generates familiar signals, it is the coordination of these
signals and the methods of control that make the Spankulator special.
SIGNALS
•Trig Out –Digital signal that consists of pulses of varying width.
•Tog Out –Digital signal that toggles at the end of every sequence.
•CV Out –Analog signal (+/- 5 volt) that depends on the Function. Usually, it is relative to
the pulse width of the Trig Output. This signal is modified using the CV controls.
•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
FUNCTIONS
•5 Spank types –Up, Down, Stretch, Toggle and Maytag
•LFO with 4 waveforms –Sine, Inv Sine, Ramp Up, Ramp Down
•Bounce –A DVM plus a quantizable sample and hold. DC and optional AC modes
•User Mode –For sending sequences of Spanks and/or LFO bursts
•WiFi Mode –For configuring WiFi connection
•Settings –For module configuration, factory reset, etc.
FEATURES
•128x64 graphic display enhances usability
•Web and Terminal interfaces provide rich user experiences with the addition of
computer resources like a keyboard, mouse, 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
•CV scale, offset and value are independently controllable via CV pot and Sig In
•CV Out can be Quantized
•Randomness can be added to most function ranging from 0 to 99%
•External Clock mode
•Inputs and Outputs are protected against damage during typical use

Figure 1 - Front Panel

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.

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.
oWhen entering strings, holding the right or left arrow down for 2 seconds
inserts (right) or deletes (left) a character.
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, offset and value can be adjusted by a variety of methods.
oUse the CV potentiometer or Sig In. Select adjust functions in Settings.
oTerminal uses the S, Oand ckeys plus up to four digits. (Use the zkey to refresh
the screen after setting this parameter to see the result.)
oWeb Interface has a dedicated Slider control for each function.
•CV Quantization can be selected in Settings by the following methods.
oTerminal uses q0 to turn Quantization OFF.
oTerminal uses q1 to turn Quantization ON.

NOTE ON CV INPUT/OUTPUT
The Spankulator is designed to operate on a +/-5V range. There are usage scenarios that
require a different range (0-8V for example). For these scenarios, it is recommended that an
external biasing module be used. The 4MS SISM module is recommended, but there are many
others that would work.
TRIGGER
The Spankulator is controlled by the user issuing Commands. Commands are initiated by
pressing the front panel buttons or by using the Web 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 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 Web 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 OUT
The CV Out signal ranges from -5V to +5V. The range can be adjusted from 0 to 100% by using
the CV controls (CV Pot or Sig In). Use Settings to select Scale as the Adjust Function.
The CV Out signal can be offset by -5V to +5V. The offset can be adjusted using the CV
controls. Use Settings to select Offset as the Adjust Function.
When the Trigger isn’t active, the CV Out Value can be directly set using the CV controls.
Use Settings to select Value as the Adjust Function.
Web mode has a dedicated slider control for each CV parameter, and Terminal mode uses the
S, O and c keys. See the table of remote commands for more details.
SIG IN
The Signal In jack has a range of -5V to +5V. It is used by the CV Controls and the Bounce
function.
For the Bounce function, Sig In 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 or send a ‘z’ via remote to bring the display back.
RESET ON POWER ON
Holding down the + button when powering up will force a full reset to factory defaults. Unlike a
reset done in Settings, this reset includes the WiFi parameters.

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. Web
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 when the
Spank starts and will increase to the maximum when the Spank completes. This range and the
mid-point can be adjusted by using the CV controls.
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 when the
Spank starts and will decrease to the minimum when the Spank completes. This range and the
mid-point can be adjusted by using the CV controls.
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.
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.
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 timing between
pulses is determined by Pulse Len. The pulses are sent after the Initial Delay.
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 range and the mid-point can be adjusted
by using the CV controls.
Parameter
Min
Max
Default
Pulse Len
10
9999
100
Initial Delay
0
9999
500
Num Pulses
2
99
20
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, an Inverse Sine wave (cosine), a Ramp-Up or a Ramp-Down
wave to CV Out. This signal is modified by the Randomness parameter. Each LFO Spank also
sends 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. The Period is in milliseconds.
Parameter
Min
Max
Default
Period
2
9999
10
Waveform
N/A
N/A
SINE
Randomness
0
99
0
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
The LFO function displays the waveform when CV adjustments are made. Press any key to
return to the parameter display. The Web interface shows the waveform continuously. An
example of this is shown in the figure below.

Figure 8
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.
User Spanks
U –Up
D –Down
S –Stretch
T –Toggle
M –Maytag
L - LFO
Entering a Spank copies the main 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 9 - Example User Sequence

BOUNCE
The Bounce function essentially is a Sample & Hold with extended features. Bounce operates
in four modes: DC, DC Quantized, AC and AC Quantized. It measures the voltage at Sig In
when a Trigger occurs and then “bounces” that voltage to CV Out. It also generates a 732Hz
PWM signal at Trig Out with the duty-cycle proportional to the measurement.
When used in AC mode, Bounce acts as an Envelope Follower.
Mode
4% Duty Cycle
96% Duty Cycle
DC
-4.6V
+4.6V
AC
0V
10V pk-pk
DC Quantized
-4.6V
+4.6V
AC Quantized
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)
Note that the Bounce function operates independently of the Quantize parameter in Settings.
Also note that the AC functions are optional and need the switched cap filter chip to be
installed. Please contact the factory if you want these functions.
Other manuals for THE SPANKULATOR
1
Table of contents
Other Greenface Labs Synthesizer manuals