Grid ops / integration

the original discussion thread - the feature is now complete and included in the official teletype firmware starting with v3.0. this thread is now the place to discuss possible new features / issues / techniques.

for discussion and exchange of grid teletype scripts and scenes please see > teletype: grid # code exchange

grid studies: GRID INTEGRATION · scanner-darkly/teletype Wiki · GitHub

i would like to share something i’ve been working on since june. this is grid integration with teletype. i had this idea for a while, initially thinking it would be some sort of a fixed UI that would provide the ability to trigger and control scripts, but that seemed like a very limited approach that went against the teletype’s very open ended nature. so instead i propose making the UI itself scriptable.

what this means is that all of the following would be now possible:

  • you can create your own apps without having to hack firmware
  • each scene can have its own individual UI, stored with the scene itself
  • since everything is scriptable the UI itself can be dynamic and change as the scene itself changes. this could extend all the way to the scene influencing your playing style, based on how it unfolds…

to give some examples on how it could be used:

  • visualizing a scene - grid simply used as an LED matrix
  • basic use with the whole grid used as x/y pad or keyboard
  • meta controller / sequencer for trilogy/ansible (a good example would be a grid 128 being switched between white whale and meadowphysics and a grid 64 used to sequence their patterns)
  • a way to control a scene - right now the only means are via the input, the param know or TXi - i often miss a more direct way to control a scene…

i also had an idea of using ansible as a “teletype satellite” - since the hardware is pretty much the same a version of tt firmware could be made to run on ansible fairly easily. with grid integration this would mean you could easily create your own grid/ansible apps.

now might be a good time to mention the downsides…

  • teletype on its own might not be able to provide enough power for grid (this only applies to older editions with green PCB, if you have a newer edition with black PCB you’re fine). to power grid externally you can use monome switch, ext5v or two>one module.
  • you will need to switch between keyboard and grid often, which will obviously be cumbersome. to address this i’m planning to add a grid visualizer to the live screen so you can see the UI and try different things without having to plug the grid. and at some point perhaps a 2in / 2 out switch could be designed that would make this easier as well as providing the needed power. [edit: both grid visualizer and 2in 1out switch are available now].

let’s introduce the ops! i spent quite a bit of time trying to come up with a language extension that was logical, fit well within the teletype ecosystem and would be compact while still being readable and powerful. in order to make it easier to understand the thinking behind it i created several studies: GRID INTEGRATION · scanner-darkly/teletype Wiki · GitHub

there are some simple examples but i know that one of the concerns with this approach will be that it would be difficult to build anything remotely complex. how about a 6 track 16 step trigger/gate sequencer with a start/stop button, jump to step and individual track mutes, all done with 16 lines of script?

here is the complete list of proposed ops: GRID OPERATORS · scanner-darkly/teletype Wiki · GitHub

some demos of it in action:

a simple random visualization:

a super quick chord controller - took 15 min to code:

an 8 track 8 step trigger sequencer + x/y pad:

2x 8 step sequencers, a 6 track drum sequencer with mutes and an x/y pad using grid 256:

what’s next?

  • i’ll post a version later this week that will be based on the official 2.0 firmware done
  • when 2.1 is officially released i will rebase on that so that it includes all the 2.1 features done
  • live screen visualizer done
  • store button/fader states with scenes done


the feature is now complete and included in the official firmware starting with v3.0. you can find it on the official release page. as always, your presets will be erased when flashing new firmware - make sure to save them to a USB stick first.


  • [sep 21] initial beta
  • [oct 3] changed ids and coordinates to 0 based, button and fader state save
  • [B0F9779 grid oct 13] rebased on 2.1.0, fixed a bug with G.REC out of bounds
  • [FC59CFF grid oct 29] visualizer, bug fixes
  • [205521A grid] nov 23 new ops, groups increased to 64, bugfixes
  • [grid be6cc6e] jan 12 - more fader types, er-301, fn16, new pattern and telex ops

…yes. YES. THANK YOU. this is a beautiful bridge between the easy entry of TT and the development and customization that the grid has always invited.

1 Like

wow that’s totally fantastic. Super cool of you to make it, and share it. :star_struck:

glad to see it at a point you’re happy to share!

puts on the pressure to blast out 2.1 and get 3.0 ready (timeline feature, which this could use!)


this is my biggest hope for it…

you can’t use the current switch for this purpose unfortunately as it’s for 1 device shared between 2 hosts, what we need is a switch for 2 devices shared between 1 (or 2) hosts. but should be doable!

1 Like

ended up retracting the switch q, as my excitement clouded my rememberance of switch’s configuration.

so so pumped.

1 Like

I’ve really enjoyed following this on instagram. Really great work. It makes me want a teletype even more!

Wow, someone’s been busy :raised_hands::clap:

amazing, thank you for all your work! been following on instagram too…

Wow! This is awesome. I’ve been watching your Instagram videos for a while and wondering what kind of mojo was going on there. :slight_smile:

A question about this bit:

…teletype is not able to provide sufficient power… so if you want to use this functionality you must use a monome switch or some other way to power your grid externally

Could Ansible be used to power the grid? A grid connected to Ansible is going to want to run Kria or MP, but might it be possible to change this? Either by using a TT command and / or an updated Ansible firmware?

so that would be kind of like using ansible as a bare grid interface… interesting idea, haven’t thought of that. could be doable in theory, although a bit convoluted.

another option is ansible running teletype satellite and then using grid with that, but you would still want to connect grid to teletype when creating / editing scripts…

1 Like

more examples:

big buttons!

multi page interfaces can be done easily:

and this one is a bit of a silly proof of concept, grid as oscilloscope…


I’m gleeful thinking about how many minds you’ve blown today with these posts, @scanner_darkly!

All - wait till you dig into the implementation. This is truly some inspired stuff!!

CONGRATS ALL!! You now get this to play with. :wink:


I guess that’s what I’m suggesting, yes. If I’m understanding this correctly, then what you’ve created is a way for TT owners to write “applications” for the grid without needing to create a custom firmware for an existing monome eurorack module, right? In which case running a custom application on TT with the grid as a UI would (probably!) preclude the need for running one of the native Ansible applications at the same time.

Or am I barking up the wrong tree? (Sorry; new TT owner still getting my head around things – and you know what they say about a little bit of knowledge… :slight_smile: )

you could use it in many different ways, you could just use teletype with grid and no other modules. but one of the more interesting use cases i have in mind for this is using teletype with trilogy / ansible where you use grid connected to teletype as a sort of meta sequencer.

as an example: you could have one grid connected to ansible running kria, and another grid connected to teletype running a meta sequencer scene, sequencing kria presets. now imagine you have trilogy connected too, and you are sequencing presets on kria / earthsea / meadowphysics at the same time with a grid connected to teletype…


The possibilities of this with an ER-301… Literally infinite.


I love this idea! I love this idea!

yes! in one of the demos i do use it with a 301, a 6 track trigger sequencer triggering samples and a group of faders used as a sequencer for the starting point of one of the samples. if i had to downsize to 3 modules i’d probably end up with 301, teletype and telex or ansible…


I absolutely love this! I’ve been watching on instagram and wondering when/if it would find its way into the wild! Much excite :smile:

i’m trying to get in touch with the maker of the er-301 (i’m sorry i don’t have a name) trying to propose an i2c collab. perhaps y’all could help upvote this proposition.