trellis - another DIY keypad

  • Anyone tried these already?

    I wonder, if it supports varibrightness - arduinomes would probably benefit from that, what do you think?

  • wow, they look smaller than the spark fun ones. nice!

  • I've purchased a few of these little button pads with hopes of making a Monome clone. I do know that they do not support variable brightness. But multiple button presses work wonderfully. Someone needs to write firmware to make these use the 40h protocols.

  • Look around; you might be that someone.

  • Your right GreaterThanZero this is what I have produced so far.

    Does not work with serialosc at the moment. This firmware currently works with serial-pyio From Git. Tested on a Raspberry Pi & under Windows.

    See for additional information

  • it seems cool, but unless they used tehn's buttons i'm not feelin. i guess i have unwavering conviction about a few things, some grander than others. One simple conviction is how damn good tehn's new buttons are. :)

  • Hey Brian, have you made any progress?

    I decided to take this up myself before noticing your code. I took some of it and updated it, it seems to be working much better now than it was before (ie. no blinking LEDs, updated to use XY for LED lighting and button presses, more responsive). I'm much better with max than pretty much anything else, so I took the out-of-date monomecereal.maxpat and updated that as well. When using monomecereal and my code the Trellis currently functions with (almost) all the max apps. All that needs to be modified as the serialosc patch, which can either be modified to work with monomecereal (by removing the contents of the patch and replacing it with simple udpsend and udprecieve objects) or it can be bypassed completely with the same objects.

    There still needs to be a lot of work done though. I took out the ADC part of the code when I was cleaning it up, so that needs to be added back, the Trellis isn't as responsive as it should be (there is a slight delay that I believe is due to the button debouncing), LED col and row commands aren't working, the js in monomecereal isn't updating like it should, etc....

    I also modified the Adafruit 3D enclosure so that it would fit 4 keypads, and printed one out. Unfortunately I got this printed at the uni as a favour, and much of it turned out warped. After a little sanding everything fits together nicely.

    Anyway, all the files will be temporarily available here: (sorry for the crappy photos). I am in the middle of exams right now so I'm posting this in case anyone else wants to work on it in the meantime. I will probably post this to the adafruit forums as well

  • @racs that's totally fine! I'm all for people making their own stuff - hell i wanna build a modular synth - and that's probably how i'll get into it, as opposed to buying modules.

    i've just used a lot of things with buttons, and something about the monome buttons (the new editions) just hit right in a way i can't really explain. that's all :)

  • haha no worries! I was just pointing out why someone might want to do this

  • updates!
    I dunno if anyone is following this, but the trellis keypads are looking like a much better alternative to the sparkfun pads! the code just needs a little optimizing and it will be good to go (if anyone's good with arduino code...?). Right now most of the code was just ported from the existing arduinome
    The trellis pads are 6x6 cm for a 4x4 keypad, compared to the sparkfun's 10x10 cm (I think?), they're half the price, and they come with some sweet libraries, and they only need 2 pins.

    here's the latest files:
    There's some sweet 3D printing stls in there too if anyone wants to print themselves a case

  • wow good progress. at 6x6cm that's exactly the size of monome's pads I think.

  • yeah I wouldn't be surprised if they were based on the monome pads

    I just ordered a bluetooth dongle off ebay ($7!) and an accelerometer so hopefully I can make it wireless. The best part about using an arduino is the crazy flexibility, you can pretty much add whatever you want

  • Sorry to dredge up and old thread, but I see that adafruit has a kit now for these pads in 64 and 128 sizes -

    I bought a 128 as I want to set it up as a controller for the nw2s::b (, but getting thinking, I figure if I can get the UNTZ to speak monome a la arduinome, then the monome should also work well as a controller.

    Anyway, it looks like some good progress has been made. I'd love to have a grid controller to incorporate in the 'b!


  • Found the serial documentation... Just to be clear - the code at

    Implements the 40h protocol here:

    Correct? Or does it implement more of the set of commands listed here:



  • Hi guys,
    I'm a newbie in this word and would like to ask for help.
    I bought a Hella oontz 64 with Arduino Uno in order to implement the 40h protocol by rbnstubbs. i did everything properly, ran Monomecereal and used the trellis monome test max patch to test my monome. Eveyrthing sounds good but then i cannot find my monome in any other maxpatch and else... I've been looking for solutions (flashing the Uno etc) but I didn't succeed and now I'm just kind of lost in this mess.
    Thanks a lot for reading this and giving me some ideas or indications if possible.

  • I have no background in these custom adaptions, but are you sure your maxpatches are made for monomeserial? (most patches around here are made for serialosc and thus not compatible) if not, you could put pages in between.

    (lol at monomecereal)

  • you can implement any version of the protocol you want as long as the serial number is flashed to what serialosc expects.

    first column is sprintf() formatted serial number pattern, second column is protocol version.

  • Does this mean that I must flash my Arduino ? Thought I could do otherwise...