Norns: alternative grids

Thank you very much. It works indeed with the include you mentioned and behaves also quite weird.

1 Like

I just deleted my last message

Disregard that last, I think I discovered something.

Anyway, just made a PR, let me know if you see anything off!

6 posts were merged into an existing topic: [cheat codes 2] (rev 210303: threshold live input recording)

Great - thanks for your help!!

FYI - I have copied the good work done on the MiniMk3 to allow my standard sized Mk2 to also rotate in this fashion. Thus, with two LP Mk2 (which is also RGB), you can also have the relatively unbroken line of 16 pads. Let me know if anyone is interested in the changes I made to my code for this, as second-hand Mk2s are even cheaper than MiniMk3s.

Can someone qualify which launchpad devices are classed as “rgb” ones?

I am just about to pull the trigger in some lp mini mk2 units… But if the lp mini mk3s are a lot better in terms of what they can display or if they have better compatibility, now is a good time for me to know.

Thanks for so much help so far

Mini Mk2 is Red/Green and the mini MK3 is RGB. Mini MK3 will give you the full brightness range and a better colour palette, but are likely much more expensive?

See my earlier comments on buying S/h launchpad minis…

Thank you for all your help, I have just read through the whole thread and whilst I am in intimidated a little… I have decided to go both feet in and ordered a lp mini mk2, thanks for all your help.

1 Like

I did the same and got it working in 5 minutes. Dead simple. Good luck!


I was wondering if there are any cheaper alternatives to grids? I would love to be able to properly dive into some of the patches on norns which require it however I can’t quite splash the cash on another thing right now.

I would recommend checking out the adafruit neotrellis thread.


This thread might be a bit redundant as there are a good chunk of resources for this on a lot of fronts. The neotrellis grid is one, as well as the midigrid library which offers support for a pretty impressive handful of controllers. I would poke around the thread for the midigrid library as well as the norns: alternative grids thread.

1 Like

@Grumbledore , welcome! since this is an oft-discussed topic, i’m going to merge this into the Norns: alternative grids thread, but wanted to highlight that the most accessible approach I’ve seen is Midigrid: use launchpads and other midi grid controllers with Norns. it’ll just take a grid-like device you might already have (or can get used for like, $60), and will slap the native grid code on top.

there’s also a full clone project driven by neotrellis here: DIY monome compatible grid w/ Adafruit NeoTrellis. let us know if you have any other q’s!


Thanks Dan, I’ll be sure to check this out it sounds exactly like what I am trying to achieve

1 Like

Hi, I come with open hands and eyes as a beginner, so I really am sorry if what I am asking is completely obvious, I have read and reread the three main "midi grid " topics that seem to pertain to my needs, but I just can’t seem to pull together the answer to my specifics…

So… I am trying to get my Launchpad Mini mk2 to work with my norns shield.

So far I have followed the "norns shield and Launchpad mink mk3. pdf " guide to open maiden, add the midi grid script (that was actually already done by Claire who built mine, but I thought it was important to go step by step…
I have added the line of code to Awake to make it “see” the Lp mini mk2, which it does.

The guide then goes on to say how you need to put the launch pad into programmer mode but whilst I can long press the session button… Nothing seems to change and I don’t have a “stop/solo/mute” button as in the guide (I think this is because the guide involved a mk3 not a mk2) … So I am little lost how to do this task of if its not the case on a lp mini mk2

Second question…
In Awake… I can see that the top left three function buttons can light yellow and seem to be able to swap between pages, however, for me, both visually and audiobly, only the first page does anything (I can set awakes upper notes, and then by pressing the k2 button on norns itself the display of the lp updates to allow setting the lower notes… But I don’t see any of the other pages moving or allowing for any functions… I am kind of aware that these function buttons are to toggle between “quads” which in this case I would believe to represent the two pages of a full 128 grid… But I don’t seem to get this behaviour… Is it an issue with my set up or is it simply that awake only has the simple note entry function implemented in midi grids?

Next question (sorry)
Am I right in thinking that I can take the lesson leant in adding the line of code to Awake (just above the call for a grid)… And add it in a similar place to any other script that mentions being able to use grid, to add the launchpad midi grid functionality?

Sorry for the long message, I am just trying to find my feet in a while new world of jargon and specific language.

Thanks for all the help


I think programmer mode is new to the Mk3 Launchpads, but that doesn’t seem to matter as it sounds like you’ve got it working just fine with Awake anyway! So that’s just a step you don’t have to do :slight_smile:

Do the quad swap buttons light up at all when you press them? If not, you might need to tweak the additional line of code to local grid = include("midigrid/lib/mg_128"). This specifies a 128-button layout rather than a 64 one. But also Awake as it loads defaults to an 8-step pattern, so it all fits on the first page of the grid anyway. To see anything happening on the second quad you’ll need to extend the sequence length in Awake (use E1 to scroll between the different pages, I can’t remember what the exact page is called, but it’s “to the right” of the page it opens on. Then use E2/E3 to extend the upper and lower sequence lengths)

Yup the same method works for loads of scripts - some better than others. The relevant place to insert the code moves around a bit though - it depends on how the script was written. And some, like Cheat Codes 2, don’t need any tweaking at all, they just support midigrid natively :slight_smile: If there’s any you’re struggling with, post the name up here and I’m sure one of us will be able to direct you to the right line!

1 Like

Thank you so much for taking the time to reply.

At the moment the quad buttons light up but changing from. The first one to any of the other three just seems to freeze the active led steps where ever they are… They cannot be moved while. On those pages and no new sound or less can be added… But if I press the first function button to go back to quad one, it picks up displaying and allowing input correctly.

As a side question… Can I ask how much extra trouble is it to move between using a single LP mini mk2 and using two to make the full 128 grid?

The reason I ask is I just happened to win a second one on ebay… In my mind (as someone more used to plug and play up to this adventure) I thought it would be great to sometimes just use one in small gigs but sometimes use both at home etc… But now I am seeing the level of having to adapt code to specific circumstances… Is it worth just waiting for the second to arrive and always use it that way (so that I’m not having to alter and Re alter code).

Thank you for the offer of potentially helping me with any scripts I struggle with… I am a complete non coder up to yesterday… But I also don’t want to be someone who comes to a community like this akd just takes, so now I know I was thinking on the right lines, I will now have a play myself (before probably messing up stuff and then asking for help haha)



Two lp mini mk2’s (or any combo of lp devices) is easy, just use the mg_128 script. This is the reason I took over maintenance of midigrid!

The mini mk1 & 2 devices does not have the programmers mode, so no need to worry about it.

Awake defaults to an 8 step loop length, if you used the mg_128 script and increase the loop length in awake it will make more sense.
I will also be improving the quad switching in the next update of midigrid!


Thay sounds like I am heading in the right direction then…

I am sat trying stuff on awake as I type… And I can clarify that outside of the first function buttons the other three quads are unresponsive and just “lock” in the leads of what ever notes are selected plus the top “running lights” which freeze o. Whichever step is active as the quad is swapped.

I have also just tried navigating to the “loop” page of Awake on norns… And currently if I extend the length beyond eight steps, the sequencer runs with the new steps on norns until you try to switch quads on the lp at which point it completely locks up both the LP and awake on norns playback itself… Although pages are navigatable. … A restart is needed to unlock it.

It may also be worth noting that I am using external midi clock from my Octatrack… Which when no lp is connected works Fine.

Sounds like you are still including the default midigrid, try:
local grid = include(“midigrid/lib/mg_128”)

This should really be the default for most scripts, but there are many were 64 (single quad) works better (cheat codes 2, loom, arcoologies) unless you have multiple devices.

Thanks for that…
This has been a great night for me, I decided to really sit down with a determined spirit to try and learn a bit on my own rather than just rely on your wonderful patience…

I have managed to get my single lp mini mk2 working with Awake… I had to use the code above with “mg_128” in it rather than the default midigrid line that was in the pdf guide I was following… I also came across an error of nothing loading when I first tried this… But I remembered from another thread someone correcting a line that had “directional” curly quote marks… I thought " I wonder"… So I corrected that myself, and lo and behold, it worked!!

Inspires by that I took on cheat codes 2 and made the same changes (before trying it)… And this time although it worked, it was clunky again… Kind of a similar “broken but not fully broken” as I had for Awake initially… So… I then realised there are options within the edit settings menu for setting grid type etc… So… Back to maiden… Reload the original unaltered script… Back to loading cheat codes 2 on norns… Making my settings in cheat codes 2’s own settings… And… There we go…Two apps working great with the grid…

So… My next attempt was MLR… Hmmm

So, I found the line at about line 42

g = grid. Connect()

So I do as I learnt in the Awake guide and added a new line above and typed

local grid = include(“midigrid/lib/mg_128”)

But this time No dice… MLR now fails upon startup

Can anyone shed some light? I don’t want to be a burden and I am trying to learn to apply what I am being told, but I’m a bit stumped