A cartesian sequencer for norns, grid and crow.

A sequencer for crow inspired by Make Noise’s Rene v2. Still very much a work in progress and there may be several bugs. PRs welcome. This is the first norns script that I’ve shared so feedback is appreciated.


norns, grid


  • Norns’ screen indicates which parts of the grid correspond to which parameters of the sequencer.
  • For access, gate, and glide, press keys on the grid to enable / disable behavior for a particular step.
  • Hold a grid key in the step section and turn E2 to change the current note on that step.
  • Go to params to map the various layers’ clock in and cv and gate outputs.


v1.1.0 -


hah, a while ago i started a similar project with the same name but never made much progress with it! glad to see something like this, excited to play around with it.

1 Like

MIDI would be awesome! :pray:t2::heart_eyes:


I SECOND THAT! :stuck_out_tongue:

1 Like

This looks amazing, hopefully I’ll find time to try it out this weekend!

I third that… :thinking: Seriously though, midi would be ace!


Awesome, I hear y’all. I’ll spend some time with it this week and see about adding midi!


Lol i did the same thing

1 Like

For the past weeks I’ve thought about buying a Rene v1 to record some melodies into my Nerdseq but this might be a good replacement!

Congratulations on releasing this script it looks awesome :smiley:

I installed the script and I’m getting this in Matron and a “error:init” message on my Norns Shield :frowning:

home/we/dust/code/descartes/descartes.lua:551: attempt to index a nil value (global ‘saveState’)

stack traceback:

/home/we/norns/lua/core/norns.lua:146: in metamethod ‘__index’

/home/we/dust/code/descartes/descartes.lua:551: in global ‘loadData’

/home/we/dust/code/descartes/descartes.lua:93: in global ‘init’

/home/we/norns/lua/core/script.lua:131: in function ‘core/script.init’

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:147: in field ‘try’

/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>

OK figured it out!
It seems that the loaddata() function call in line 93 is loading something that doesn’t exist!
I commented it out and the script was able to load but I guess that the side effect is that the state of the script doesn’t persist between restarts. Might be a solution to have a “descartes_save_state.txt” included with the install?

Ok, MIDI output and internal clocking is now live! The script is now no longer so heavily reliant on crow. I also took care of a couple of bugs (thanks @hallmar for bringing the loadData issue to my attention).

There may still be bugs that I haven’t found so please let me know if you encounter anything. Also, I don’t personally use MIDI much in my own workflow so I’m open to feedback on the implementation here.