Adafruit HELLA Grid Controller Kit


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.


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).


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


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


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.


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.