Adafruit HELLA Grid Controller Kit

(hopefully) Final revision of my livid-button/trellis-remix pcbs are arriving on monday. :grin:
Still gotta get around to making a panel tho.

Yeah - The M4 neotrellis looks like it would be the way to go and then add on more neotrellis boards to make a 256 or 512 - which would be neato. I think the monome code I’ve got could probably be reworked pretty quickly for the neotrellis/M4

If only I had a big pile of cash… :slight_smile:

1 Like

Big piles of cash are ever the challenge.

I used to have cut files for a livid faceplate. Not sure where I would have put those. Hmm.

I have cut-files - i just need to tweak the layout slightly (how much edge to I want) and then actually order from the vendor I talked with.

I’ve got like 3 projects all coming together at the same time, so trying to do orders for them all at once.

Nice. You’re going aluminum?

I’ll probably use acrylic. It’s the wrong answer for a lot of reasons, but I’ve been going a bit mad experimenting with it.

(Ignore the screw holes. Those are left over from a different project)

1 Like


I am a total newbie to monome programming as well as this forum. Some time ago I bought and build an Adafruit Unztrument (64 LEDs); first I looked into Arduino programming but I think my chances are better to slowly improve my programming skill with Javascript and Node.

Thanks to @szymon_k I got the device including node-serialosc running and tried out the grid-studies for node. Basically I can run the code, get a proper feedback from console.log (except, and that might be crucial, no value for state so e. g.: key received: 5, 0, $[s}); on running the examples (e. g. grid_studies_2.js) all LEDs light up and stay active exept where y == 0. Any functionality (such as a toggle button or the sequencer) only is available for row y == 0. This seems to be consistant for all examples.

So obviously this has something to do with the state of the LEDs. Could it be, the reason is that the Trellis LEDs can not be dimmed? I’d be grateful for any hints.


Hi to all,

I guess my last post did not contain sufficiently detailed information, so I am trying again.

I would really like to try out and work with the official grid-studies examples to start learning how to program my Adafruit Unztrument (and possibly buy by a real monome one day). But now I am stuck. Here is what I did so far:

  1. First problem to solve was to get the Adafruit running with diy-monome and serialosc. I did that with the help of @szymon_k. This is not the original serialosc implementation but node-serialosc of Szymon as described here (to avoid having to flash the FTDI-chip). This seem to work well and the keylistener of node-serialosc gives an appropriate feedback for all LEDs/buttons.

  2. I then tried to work with the afore-mentioned grid-studies but there seem to be two problems of which I could solve one by using node-monome-grid by Tom Dinchak. The problem was the fact that from the keylistener running with the original grid-studies I got the following feedback e. g.:

key received: 1, 0, $[s}

So obviosly the value for key is missing. Dinchak’s node-monome-grid seems to do the thing and I get:


x: 0, y: 0, s: 1
x: 0, y: 0, s: 0

up to

x: 7, y: 7, s: 1
x: 7, y: 7, s: 0

seemingly correct values for the whole grid when I press a button.

The other problem I was not (and am still not) able to find out and/or to solve: Running all the examples described in the grid studies tutorial only the first row of the grid seems to be active/responsive:

Does anyone have a suggestion what I could do to solve this?

My wild guess is that either it is because I am not running the original serialosc packet, but on the other hand the keylistener gives correct feedback for all LEDs/buttons. Maybe it has something to do with a faulty refresh of the grid?

  1. One more thing: I also did a lot of googling finding packages for grids using node.js. I did find and try out monode by Charles Holbrow. This seems to work flawlessly. I checked it with nome, a package based on monode by Ramón Lamana, which contains (at least for me) a rather advanced example. The only problem is: There are no more and easy examples I could start with. For that the official node.js grid-studies page seems much more apt for my level of experience.


The description helps, but only sort of.

People who don’t have (or aren’t considering purchase of) the Adafruit HELLA kit aren’t reading this thread.

People who do, but don’t work in NodeJS, may not feel that they have any insight for you.

So you’ve more or less filtered out everyone.

Anyway, making the Adafruit HELLA kit work, if it does not, is something you should get help with in the Adafruit forums. Establish that i/o works correctly with their example code, then come back when that isn’t a variable.

Once you’re confident in the hardware, you’re in the right forum to discuss troubleshooting and developing around the NodeJS grid study, but the wrong thread.

(again, it sounds like you’re hoping to talk to Charles Holbrow and Ramón Lamana – a thread titled “Adafruit HELLA Grid Controller Kit” isn’t your best chance of getting their attention)

1 Like

Hi @greaterthanzero,

thanks for this input. You are probably right about why there is no response.

I am sure that the i/o works. Firstly I can run the Unztrument with the Arduino code, which is available at Adafruit. There is a working example of a Midi pad and a step sequenzer. Secondly, all node based afore-mentioned examples I tried out do give a correct feedback via console.log, which is to say buttons pressed display the correct coordinates. This means to me that basically the grid functionality works.

And last but not least: I did not choose this thread but my original posting was transferred to this thread. I can’t remember which title I choose but I did open a new thread in the monome section.

Thanks again

Gotcha. That is frustrating. Let’s see if we can’t unravel this.

Okay, so you’ve run the Arduino code, and confirmed that your pads do light up when addressed, outside of Node. This is good.

And the Node based examples you’re running are exactly as provided in the Grid studies?
(meaning, we can also eliminate your code, without asking Node based users to try it on their own grids. if there are any.)

That leaves… a user script from syzmonkaliski, which isn’t what the grid studies document, and which sounds like your single point of failure.

So, your choices are:

  1. troubleshoot syzmonkaliski’s code, perhaps with syzmonkaliski’s assistance. (eg, submit an issue to his github and see what happens)

  2. figure out how to adapt the Grid Studies to leverage monode instead of the other two serialosc implementations, as you have identified that monode works for you where the others do not.

Neither of which (if any of the moderators are reading) belong in the thread to which your question was moved.

Does that sound about right?

They’re always just a flag away.


So I’m not sure if you’re using all of @szymon_k’s code for the Untz or if you’ve modified it, but…

I made a series of changes to his code when I started my teesny-grid project.

You might run a compare of the processSerial function here

I also fixed some issues with extra data bytes not getting accounted for in a newer version when i mplemented varibright, but this doesn’t seem related to your issues.

1 Like

Hi @greaterthanzero

thanks for getting back to me.

Yes: I did use the original grid studies. The first example (it is grid_studies_2.js) does contain a typo, which caused, that I did not get back a correct LED value, but that I could easily change once spotted:

// Original grid_studies_2.js, downloadable at:
// set up key handler
  grid.key((x, y, s) => console.log(`key received: ${x}, ${y}, $[s}`));
// wrong parenthesis --->                                       ^

To Syzmon’s node-serialosc: Yes, this might be the point of failure. I did contact him and he will be so kind to check the grid-studes-examples with his DIY-monome. Besides: What I got from him is 1. the Arduino code to make the Unztrument available as a monome. The other is his node-serialosc implementation to avoid having to flash the FTDI-chip. Nothing else. On top of that just the grid-studies.

One more thing (just for the sake of completeness): As I mentioned, I can run Ramón’s monode with a pretty sophisticated example without problems. This does actually point to the grid-studies.

But I know, things are complex and intertwined. So eventually I will have to be able to read, debug and change the code on my own (and this not only on the level of the examples). That’s why I began working my way through Eloquent Javascript which seems a good point to start; my project for 2019. This might eventually lead to being able to either fix my problems with the grid-studies or to integrade the monode code as you are proposing.

I am not in a hurry.

Thanks for you help, again.

PS.: I would have appreciated a note from the one who moved my post as to why that was moved here (as I do not know, who it was I am just mentioning @Dan_Derks as the first moderator in the list).

1 Like

I just refreshed my memory on this…

So Syzmon’s code has an issue where if you are getting more than a singe 8x8 “quad” of data, the additional bytes will cause led problems. This is only really a concern if your application is sending out data for a 256/512 grid.

So I added something like the following around the 0x1A for loop here

if (readY == 0){  // only loop if y = 0 since we only have 1 or 2 quads with 64/128 buttons
} else {
  for (int q = 0; q<32; q++){
     readInt(); // consume extra bytes for quads 3/4

apologies for any confusion! i’m unsure what which specific mod moved it, so always feel free to message the moderator group directly with any questions :slight_smile: we are a small team with best intentions

1 Like

Ok, thanks. As a ‘fresher’ I wasn’t sure about the conventions here. But I will ask directly next time.

1 Like

Ok, I will check this out during the next days as I am currently travelling…

Thanks again @okyeron,

I checked that but it does not seem to have to do anything with the behaviour I described. Which is no wonder, because you already mentioned that it applies only if using a 256/512 grid (mine has 64 LED). Anyway, it was worth a try.

1 Like

Well it was worth a shot

FWIW - the behaviour I was seeing caused led errors on my 128 because the host app was sending out data for up to 256 leds. Thus I thought this might be related since it seems your host app code may be doing something strange.

Yes, definitely! I’ll keep on searching and will report in case I find something. Might be helpful to others as well.

node-serialoscd has been updated. As far as I had time to check the monome grid studies do work now for me.


thanks for posting!!!
working on a moduinome atm

1 Like