Stages - qiemem's alternative firmware

Thanks. That part about explaining a shift register totally confused me because Marbles talks about notes getting randomized, not a sequence of bits getting interchanged …. At least that‘s how I remember it. I don‘t understand the part where you said that the sequence is double length intertwined with the original copy of itself …. Brain goes boom :smiley:

I‘m aware of how it functions in the O_C but that one has 4 outputs, the Stages shift register only has one.

Two different things with the same name:

  • The analog shift register, in which a CV is shifted from one output to the next (this is only interesting with several outputs) - a cascade of sample and hold elements.
  • The digital shift register, in which bits are shifted (and potentially flipped or randomized) in a loop. The resulting sequence of bits can then be interpreted as a voltage - creating a cycling, pseudo-random pattern (this has a single output).

Can LFO and sequencer coexist in this firmware?

On the original firmware too!


Hi @qiemem, any updates on the next Stages alt firmware update? Very much looking forward to the new random segments and smoothing behavior.

I’m afraid life and work have gotten in the way of making much progress on it lately. There were still some improvements I wanted to make, but the main things holding me back from release are that I simply have not had time to do systematic testing with all the changes, update the readme, etc. I’ve been casually using the latest build for a while now, but I usually like to do feature-by-feature testing and try out a bunch of weird sequences of things and such before releasing.

So, on that note, I would be very grateful if anyone were willing to try out the latest build and let me know if you run into anything! Although the readme isn’t up to date, philipbelesky’s incredible cheatsheet should be more than enough.

Also, both of the features @pyerbass requested here are in as follow:

  • Once the extended sequencer in addressable mode receives a gate, it will start S&Hing addresses on gates (prior to that, it behaves address changes as soon as CV changes). Taking it out of addressable mode (or restarting the module) will stop the S&H behavior.
  • A gate to harmonic oscillator in LFO mode resets all the oscillators. It, however, also removes the main oscillator from the mix still, which feels a bit weird, so feedback appreciated here.

Here’s the latest experimental build for the next version: (443.3 KB)

And thank you for asking about it. Just the kick in the pants I needed to let people start playing with it instead of letting it languish in just-a-few-more-improvements purgatory.


Excellent! Downloading it now.

I can probably spend some time updating the readme if it would be helpful to you.

UPDATE: Firmware successfully uploaded to my Stages!


I would be incredibly grateful for any contributions! No pressure though.

What do you think about changing slider on shift register segment so it behaves like DejaVu pot on Marbles? Middle = locked, bottom = random, top = flip. This would allow to lock a sequence and gradually introduce bit flip to it without going thru unlocked phase, which overwrites locked sequence.

Or maybe top=100%flip, bottom=0%flip=lock, middle = x% flip, which is how the “digital shift Green Red gated” mode works.

Quickly gonna chime-in and say this is a truly excellent piece of software. I really appreciate how it’s additive and everything is kept intact if you want to (and I often do). The additions are clever, simple to understand and access and feels like a logical (albeit perhaps less clean) evolution of Stages’ concept. Kudos!

EDIT: My only feedback is to not add too many additional layers of features to the segment generator in the future. It’s easy to succumb to feature creep, but Advanced Segment Generator seems pretty close to perfect as is and it’s relatively consistent. If something brilliantly smart comes up, a new mode is nicer :slight_smile:

Now… do I need more than two Stages? I think I do…


You absolutely need two Stages. It’s incredibly versatile and freeing.

1 Like

I have two, had since its release, the question is if I need one or two more? :innocent:

1 Like

The issue I see there could be one of usability. Marbles has 12 o’clock for deja vu marked on the panel so it’s very easy to hit the centre, and you have the feedback of the pulsing t/x buttons. Stages doesn’t have a super obvious centre point in the same way. Plus it’s quite satisfying to flick the slider down to zero in order to lock the pattern.

Potentiometers are not that precise! You could hit a certain position, mark it as accurately as you can, wiggle the pot, bring it back to that position according to your mark, and yet you would get a few percents difference in the reading. This is because of mechanical backlash in the potentiometer, added to copious software denoising. In the case of Marbles, it works because there is a software notch at 12 o’clock, so the same thing could very well be done to Stages.


Genius solution to the problem. I always wondered why it seemed so easy to hit that spot on Marbles compared to some other modules I’ve used.

Hi @qiemem , is the latest code submitted on GitHub? (would like to compile myself).


replying to myself, but seems like files are missing on GitHub to be able to build this

"./stages/settings.h:36:26: fatal error: stages/modes.h: No such file or directory
#include “stages/modes.h”

Ah, sorry about that! All files should be there now.

Also, here’s a small update which fixes saving button+slider/pot changes in ouroboros mode. (454.4 KB)