ThisThing for Disting

Maybe some people here will be interested…

My old friend Bruce Frazer (Voyetra, Sequencer Plus, etc) and I have teamed up to create alternative firmware for Expert Sleepers Disting. We’re calling ourselves Squinky Labs. I design and test. Bruce codes. Our initial offering will be a suite of 16 CV Utilities called ThisThing. Mainly simple utility stuff but a few interesting ones, maybe, and certainly HP saving…

It will be free, and all you will need is MicroChip Pickit and their IPE software. A series of instructional docs will be available. We’ll start at Github account this week. It won’t be open source, as such, but we’ll give you access to source files if you want them.

I’m working on a series of videos to illustrate the 16 algorithms. I have 10 of them covered in 9 videos, thus far. I’m not trying to make music videos, as such. I’m trying to keep them as short and simple as possible. Patch details are below each video. They are all at my new vimeo page which can be linked to from this video, which is for algorithm 3A - a two stage digital shift register with variable clock division.


This looks fantastic @lloydcole! Looking forward to more info.

I was about to order a mk3 to replace my mk2, but now I think having two is in order…

We’ve been going as fast as we can so that mk I and II owners will maybe think again before trading up… Initially ThisThing will be for mk I only, but Expert Sleepers tell me that re-coding for mk II should be quick and easy. We just need to get a hold of a couple for testing. We bought 3 mk I modules so far…
I’d guess mk II code wouldn’t be more than a month behind mk I. So long as we get access to a couple of modules.

1 Like

Also if you see this video… it uses two ThisThings in a sort of tandem, using same clock and CV to create a sort of a-152 thing. Apologies for wonky video. It was my first one.

1 Like

We have GitHub -

1 Like

We have Disting mk2 support, now.

Here’s the Release note - Squinky Labs (Lloyd Cole and Bruce Frazer) have released an update to our alternative firmware for Expert Sleepers Disting, aka “ThisThing”.

As promised, we now support both mk1 and mk2 models of Disting. While we were at it we fixed a couple of minor bugs. And it is fully open sourced on github.

As before, it is free, and all you will need to install it is a MicroChip Pickit 3 and their free IPE software. A series of instructional docs are available. It’s not difficult to do.

The free download, complete instructions, and other goodies are available here:

A series of demo videos showing ThisThing in action are here:

Expert sleepers have not published programming information for the mk3 Disting, so we of course do not yet have plans to support it.

There are many useful questions and answers on our old MUFF WIGGLER post here:

ThisThing Algorithms Overview
x, y and z are inputs
a and b are outputs

1A: DMSampleAndHoldDual
x = CV ch1 y = CV ch2 z = clock
a = s&h ch1 b = s&h ch2

1B: DMSampleAndHoldDualClock
x = clock ch2 y = CV (both channels) z = clock ch1
a = s&h ch1 b = s&h ch2

1C: DMSampleAndTrackAndHold
x = CV z = gate
a = s&h b = t&h

1D: DMTrackAndHoldDualClock
x = clock ch2 y = CV z = clock ch1
a = t&h ch1 ** b** = t&h ch2

2A: DMSampleAndHoldProbabilistic
x = clock y = CV z = probability (linear taper, 10% to 100%)
a = s&h b = inverted s&h

2B: DMTrackAndHoldProbabilistic
x = clock y = CV z = probability (linear taper, 10% to 100%)
a = t&h output b = delayed (shift register style) t&h
When x gate is high a tracks and b holds
When x gate is low b tracks and a holds

2C: DMTrackAndHoldAla152
2 stage track and hold alternating sequencer. On first trigger a tracks and b holds, on second trigger a holds and b tracks
x = CV z = clock
a = t&h ch1 b = t&h ch2

2D: DMTrackAndHoldExtendedAla152
x = clock ** y** = CV z ­ selects from 12 presets
a = t&h ch1 ­ b = t&h ch2 ­

3A: DMDigitalShiftRegister
x = clock y = CV z ­ selects preset clock divisions
a = CV delayed by 1 unit of clock division b = CV delayed by 2 units of clock division

3B: DMSemitoneSlopeDetectorDual
x = CV, ch1 y = CV, ch2
a = slope detected, pos or neg, ch1 b = slope detected, pos or neg, ch2

3C: DMRiseAndFallDetector
x = CV in
a = trigger when rise detected b = trigger when fall detected

3D: DMDualFunctionQuantizerHelper
x = CV z = clock or gate a = s&h (from x)
y = CV in (output of quantizer) b = positive or negative slope detector trigger

4A: DMFPrecisionFMHelper
z knob (or CV in) smoothly moves (linearly) from 0v to 1v
x = CV in y = CV in (quantized to scale ­ tonic, 2nd, minor 3rd, major 3rd, 4th, 5th )
a = x + y + z b = x + y ­- z

4B: DMOctaveAdderSubtractor
z ­ selects ­5 to +5 volts (octaves) x = CV in y = CV in
a = x + y + z b = x ­- y + z

4C: DMSemitoneAdderSubtractor
z knob (or CV in) selects from 13 preset values ­ 0, 1 semitone, 2 semitones, to 1 octave
x = CV in y = CV in
a = x + y + z b = x + y ­- z

4D: DMTuningAndVoltageThresholdRef
z selects from 5 presets
a ­ .75v, 1.75v, 2.75v, 3.75v, 4.75v b ­ 3.75v, 4.75v, 5.75v. 6.75v, 7.75v
4D Secondary functionality ­ Input range overload alert.

Detailed descriptions of all algorithms are included with the firmware download at GitHub.

1 Like