# GATE Sequencer suggestions

**URL:** <https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342>\
**Category:** DIY STUFF\
**Created:** [December 6, 2021, 2:01am UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342 "2021-12-06T02:01:09Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cyclic](https://avatars.discourse-cdn.com/v4/letter/c/46a35a/32.png) [@Cyclic](https://lookmumnocomputer.discourse.group/u/Cyclic)\
**Post date:** [December 6, 2021, 2:01am UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/1 "2021-12-06T02:01:09Z")

</div>

Hey,

I’m after some suggestions or guidance. I am about to start work on an 8 step GATE/TRIGGER sequencer - (maybe 2.)

There will be NOT be any CV output from this.

It will actually be driving high power LEDs to flash full on/off rather than creating CV sequencers. Its part of my project Photosynthesis where we use light sensitivity for art-wank purposes. Effectively I create ‘Open Vactrols’ from LEDs and LDRs and I just chose where I want a particular LDR pointed. That way, instead of just a patch cable, I interfere via light AND the audience can actually see whats going on, and I can _really_ quickly and easily repatch on the fly by pointing at different stuff…

I’m making a row of 12 high power LEDs doing various things, and one of the things I want to point at is a gate sequencer with a single output…

I wants something simples with stuff I mostly already have in the drawer, so…

Options: Analog or Digital??

Baby8 x 2, all outputs summed and ANDed to incoming clock with a bit of trigger/clock conditioning (aka a buffered cap and a comparator) so I can also set overall gate length for the entire sequence (NOT per step…) Extra ideas without over-loading the feature list welcome…

Arduno based similar thingo, but probably therefor also giving me forward, reverse and ping-pong. found quite a few arduino sketches for CV step seuqncers which I could use with a few mods, so recomendations welcomes.

Please compare and contrast in 1-200 words or less. …

---

<div class="post-metadata">

**Author:** ![Cyclic](https://avatars.discourse-cdn.com/v4/letter/c/46a35a/32.png) [@Cyclic](https://lookmumnocomputer.discourse.group/u/Cyclic)\
**Post date:** [December 6, 2021, 5:47am UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/2 "2021-12-06T05:47:59Z")

</div>

OK ok ok ok ok…

so i watched vid or two and it looks like maybe my best two options might actually be:

baby 8  
vs  
big button (but just 2 or 4 outputs)

honestly, the bigbutton is so easy for the functions it gives you I can;t see any reason why I wouldnt go that way UNLESS any of you smartypants have got other ideas to confusinate my currently quite simple thinking…

---

<div class="post-metadata">

**Author:** ![Dud](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/dud/32/610_2.png) [@Dud](https://lookmumnocomputer.discourse.group/u/Dud)\
**Post date:** [December 6, 2021, 9:24am UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/3 "2021-12-06T09:24:34Z")

</div>

The Big Button is really a good module for that (and very easy to build) , i use it in all my patch 🙂

---

<div class="post-metadata">

**Author:** ![Plop](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/plop/32/11707_2.png) [@Plop](https://lookmumnocomputer.discourse.group/u/Plop)\
**Post date:** [December 6, 2021, 2:52pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/4 "2021-12-06T14:52:31Z")

</div>

Here is my work in progress on gate sequencer based on arduino, i have different play mode you can copy/past and maybe other functions feel free to take whatever you need =)

> <https://github.com/Pl0p/Gate_O_Matix/blob/main/Slave_CPU/Slave_CPU.ino>

The playmodes are in “void next\_step()” functions, start at line 505

PS: Atmega’s (Arduino) are quite slow and only have one core so it’s not that good for sequencing and reading input in the same time, but bluepills or teensy are some good choice

---

<div class="post-metadata">

**Author:** ![analogoutput](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/analogoutput/32/29663_2.png) [@analogoutput](https://lookmumnocomputer.discourse.group/u/analogoutput)\
**Post date:** [December 6, 2021, 3:30pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/5 "2021-12-06T15:30:58Z")

</div>

> [@Plop](#):
>
> Atmega’s (Arduino) are quite slow and only have one core so it’s not that good for sequencing and reading input in the same time, but bluepills or teensy are some good choice

I’ve had my Nano based [G.E.A.R. sequencer](https://lookmumnocomputer.discourse.group/t/ao-g-e-a-r-sequencer-rhythm-generator/4332) running at up to a few hundred Hz clock speed — and it wasn’t maxing out then, although that was before I added some software switch debouncing that would limit that. I wasn’t working the controls in that test, so it didn’t have to process input and display it on the OLED, but it was reading five analog pins on each loop. Interrupts are used to handle clock events.

Earlier I’d found the user interface bogging down the sequencer speed, but that was before I made some software improvements. In particular I ditched digitalRead and digitalWrite in favor of the DirectIO library and that seemed to make an improvement.

---

<div class="post-metadata">

**Author:** ![TimMJN](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/timmjn/32/15227_2.png) [@TimMJN](https://lookmumnocomputer.discourse.group/u/TimMJN)\
**Post date:** [December 6, 2021, 3:44pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/6 "2021-12-06T15:44:55Z")

</div>

> [@Plop](#):
>
> PS: Atmega’s (Arduino) are quite slow and only have one core so it’s not that good for sequencing and reading input in the same time, but bluepills or teensy are some good choice

If you manage to prioritize tasks properly, Arduinos are absolutely fine for sequencing. My [Evil Eye sequencer](https://lookmumnocomputer.discourse.group/t/extendable-arduino-sequencer/3125) runs up to 700 Hz without skipping. Only at audiorates do Teensies become a necessity.

---

<div class="post-metadata">

**Author:** ![analogoutput](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/analogoutput/32/29663_2.png) [@analogoutput](https://lookmumnocomputer.discourse.group/u/analogoutput)\
**Post date:** [December 6, 2021, 3:49pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/7 "2021-12-06T15:49:27Z")

</div>

> [@TimMJN](#):
>
> 700 Hz

Nice! It irritated me I hadn’t considered putting hardware switch debouncing on the step switch. I think with the software debouncing it’s limited to around 60 Hz or so. I suppose I could kludge hardware debouncing onto a little bit of stripboard but I’ll do that only if I find I need super fast sequencing…

---

<div class="post-metadata">

**Author:** ![TimMJN](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/timmjn/32/15227_2.png) [@TimMJN](https://lookmumnocomputer.discourse.group/u/TimMJN)\
**Post date:** [December 6, 2021, 3:58pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/8 "2021-12-06T15:58:09Z")

</div>

I think in practice, anything above, say, 20 Hz is ‘fast enough’. But yeah, debouncing is a good task to load off to hardware. Another good trick (must admit I didn’t look at your code yes, so unsure whether you already did), is to use interrupts for advancing the sequence. That allows to decouple the sequence clock from other tasks, ie have the sequence running faster than input is read or a display is refreshed.

---

<div class="post-metadata">

**Author:** ![Plop](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/plop/32/11707_2.png) [@Plop](https://lookmumnocomputer.discourse.group/u/Plop)\
**Post date:** [December 6, 2021, 3:59pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/9 "2021-12-06T15:59:42Z")

</div>

How nice ! i really should rework on my sequencer, the only thing that didn’t work is controls of gate length per voice but i understand it’s hard to do the math for atmel

---

<div class="post-metadata">

**Author:** ![analogoutput](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/analogoutput/32/29663_2.png) [@analogoutput](https://lookmumnocomputer.discourse.group/u/analogoutput)\
**Post date:** [December 6, 2021, 4:01pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/10 "2021-12-06T16:01:57Z")

</div>

Yes, it uses interrupts. I was originally working off someone else’s sequencer code that used interrupts but only to register clock pulses, not to respond to them — which is kind of useless. (Good if you have narrow triggers that might be on and off again between loops, but not useful otherwise.) Putting the clock handling entirely into the interrupt servicer was what sped things up a lot. And DirectIO helped make the clock handling fast enough to do that, along with making sure to do anything that could be done in advance in the loop, so the interrupt work was minimized.

---

<div class="post-metadata">

**Author:** ![Cyclic](https://avatars.discourse-cdn.com/v4/letter/c/46a35a/32.png) [@Cyclic](https://lookmumnocomputer.discourse.group/u/Cyclic)\
**Post date:** [December 7, 2021, 8:19am UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/11 "2021-12-07T08:19:28Z")

</div>

You guys havd posted some excellent options here.  
I think plops and the evil eye are great, but over the top for what i am after in terms of knobbage and buttonage.

Analogoutput, have you got a better demo video of your gear sequencer, including the display. Can you actually just omit the display altogether, or is it needed?  
Im wondering if maybe i actually do the GEAR and the Big Button, as i do have enough space for them both…

---

<div class="post-metadata">

**Author:** ![analogoutput](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/analogoutput/32/29663_2.png) [@analogoutput](https://lookmumnocomputer.discourse.group/u/analogoutput)\
**Post date:** [December 7, 2021, 12:54pm UTC](https://lookmumnocomputer.discourse.group/t/gate-sequencer-suggestions/4342/12 "2021-12-07T12:54:50Z")

</div>

> [@Cyclic](#):
>
> Can you actually just omit the display altogether, or is it needed?

You can, though I think it’d be pretty hard to use without it — very hard to tell what parameters you have dialed in. Unless you replaced the pots with rotary switches, which would require cutting down on the number of possible values for each parameter.
