Adafruit HELLA Untztrument Grid Controller Kit

Glancing at the page for the TCA6408A, one thing I’d watch out for is that you can only pick two different I2C addresses, meaning that you’d end up needing an I2C multiplexer (and therefore much more complexity) to support three or more chips. The TLC59116-Q1 supports 14 different hardware addresses, so a multiplexer would only be necessary if you want to make a DIY 256 grid :wink:

I usually get my PCBs from dirtyPCBs who do a significant discount for smaller boards, but even so I’d be inclined to pay slightly more for a full 8x8 board. The minimal extra cost will be saved in time and materials required to interface boards, and the resulting added vectors for mistakes and hardware failure.

DirtyPBCs have discounted rates up to 100x100mm boards, could 8x8 of these trellis pads just about be fitted on that space? From what I can see, a full row of 8 is (8 × 10mm) + (7 × 5mm) = 115mm, so it’d be juuust too small. I’ve bought larger PCBs from them in the past though and the prices are very reasonable. A “protopack” of 10±2 for my MIDI hurdy gurdy system cost about 60€ for quite large PCBs, and I got 11, so <6€ per board is peanuts compared to the other parts costs.

If/when I have a go at this myself, I would aim for either chainable 8x8 boards and a USB+mother MCU board, or a chainable 8x8 board which, depending on which components are fitted, can act as a main MCU+USB+8x8 board, or a 8x8 daughterboard — slightly more complex design resulting in easier and cheaper construction. I also have various other ideas like fitting USB MIDI and onboard 3.5mm hardware MIDI support though (I don’t want to just build a straight up open source clone of the grid without some sort of added value), so our goals might be divergent.

Plenty of other DIY and work projects to work on first though!

EDIT: just looked at the BOM for @TheSlowGrowth’s Arc clone, and they’re using one TLC5940 per ring with a multiplexer so that one IC can control 64 LEDs, with brightness. Duplicating that approach might be a further argument for an 8x8 board, reducing the part cost, count and amount of fiddly TSSOP soldering.

Does anyone know what it would take to make something like this work with norns? If a custom PCB is needed anyway it would be fun to experiment with some strange grid arrangements :stuck_out_tongue:

Another useful reference might be the SWT16 schematic:

This is my goal. :smile:

Further up the thread there’s code for a DIY monome/trellinome from @szymon_k
I’d be using that as a starting place. For a monobright it should just work as is. Varibright will take some extra work, so I’m gonna see what can be done.

My remix design of the trellis is a larger board to accommodate button pad spacing for buttons that I already have* This board design is 82mm square. The original trellis design is 60mm square.

*I have a couple hundred of these 8x8 rubber button grids from the Livid Instruments midi controllers (long story as to why) and would likely offer them as parts or kits.


My plan is to do this with Teensy 3.2 which can do USB MIDI, so it might be straightforward enough to have a diy-monome firmware or midi-firmware (or both)

FWIW - There’s an open source midi controller project called opendeck if you were wanting a straight up open source diy midi controller solution.

Shoot sorry I got way too excited and jumped the gun. Another possibility I would absolutely adore is a diy grid + norns Frankenstein in the same enclosure that just runs on the raspberry pi 3 for norns. That way you don’t even need an MCU and you have a standalone grid instrument.

I think this wouldn’t be hard at all once the multiplexing is figured out.

1 Like

You could do a monobright version today with the trellis boards or an UNTZtrament - just plug it in to usb on the Pi with the trellinome code mentioned above. (and make an enclosure, etc. etc.)

I think you could run the i2c control stuff directly from the RasPi, but you’d need to find or create some code that runs on pi.

just gonna leave this here…

I’ll do a proper post about this soon.


Just came across this, looks great. Was this based on the Adafruit board or did you lay out a pcb from scratch to get varibright working?

I already own a grid but @scanner_darkly work on grid ops makes me want a dedicated one for each ansible and Teletype!

It’s a remix of the adafruit trellis board - resized to a different (larger) button spacing (to let me use the Livid Instruments button pads I have a bunch of) and then adding the extra chip to do variable brightness.

So yeah - it’s a new pcb layout, but based on the adafruit trellis.

Just squashed some bugs with the monome code for this and I’m hoping to make a panel/faceplate this weekend, so I expect to do a detailed post soon.


oh, wow.

I have a huge box of LIVID pads, and little incentive to actually build the non-varibright boards I bought to go with them. Following your progress with great interest…

But closer to the original topic, have you seen the neotrellis boards? One could conceivably build an RGB 512 for like $600 now. (I’m seriously considering a 4x32 grid, myself)

1 Like

(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?