GRID Serial Communication Protocol Documentation

I’m currently writing GUI library for low resolution devices. I would like to support all pad controllers which supports some sort of programming (changing color and intensities of pads, getting button presses etc.). Monome’s GRID is possible target for me. I don’t have GRID currently and not expecting to buy one in the near future (unfortunately too expensive for me). If there is a documentation for GRID serial protocol, I would be appreciated. I know there is serialosc but I would like to choose what to use on my own.

serial protocol:

i’d suggest looking at libmonome

see @PaulBatchelor’s tutorial on libmonome + grids: Controlling the Grid with libmonome and C

1 Like

That’s awesome! Thanks for reply. I’ve seen serial.txt somewhere on forum but it’s link was broken, maybe files was moved a bit since then.

So I’m looking at the monome serial protocol and I’m a little confused about the difference between 0x17 (change overall led intensity) and 0x19 (set all leds to intensity i). 0x19 is setting all leds to a uniform intensity as I’d expect but I’m not really sure what 0x17 is supposed to do. There doesn’t seem to be an impact when I set the intensity before or after setting an led with 0x11. Could someone please explain the difference or if I’m wrong to expect it to change intensity of an led set with 0x11? Thanks.

If you have a 2021 grid (the newest generation) sending the 0x17 command will have no effect since the implementation of that command was accidentally omitted from the release firmware. Implementing it is in the works.

To the best of my knowledge changing the overall intensity is like having a dimmer which will scale the intensity of each individual led value. Setting all leds to a given value does just that then the overall intensity scaling is applied to determine the final intensity.


Thanks for the explanation and yep, I’m testing with a 2021 grid. I don’t really need 0x17 but I’m writing a small library to allow all serial commands via Teensy USB Hosts and wanted to support all the commands. I’m looking forward to being able to test. In the meantime, I’ll publish with 0x17 support and just assume it’ll work for others. Thank you!

(edit: Here’s the repo for the library so far. I’ll give it proper promotion once I complete the readme and add the arc bits)

1 Like