Status: work in progress. Not exactly noob friendly just yet.
Code use a set of Adafruit NeoTrellis boards as a monome grid clone.
Mostly tested using a Teensy 3.2 microcontroller.
There is code for using an Adafruit ItsyBitsy M0 (and by extension the Feather M0/M4), but this requires some changes to the underlying libraries (replacing the Adafruit_USBD_Device library deep in the adafruit/arduino core libraries).
The norns software requires some hacking/changes to get a DIY grid working. More on this later
-
Review the Adafruit tutorial on the neotrellis boards. NOTE - there's a typo on that page "the address would be 0x2E + 1 + 2 = 0x30." That address would be 0x31
-
Don't worry about the INT pin - it's not used in the grid software.
-
Be sure you have the Adafruit Seesaw libraries installed (via the Arduino Library Manager)
-
Try to test each neotrellis board individually using the Adafruit examples in the File>Examples>Adafruit seesaw Library>Neotrellis menu. The Basic sketch is good for testing individual boards. The multitrellis>basic sketch is good once you have all the boards connected and addresses assigned.
-
[neotrellis i2c address chart](./NeoTrellis Addresses.txt) (for soldering the jumpers on each neotrellis board)
-
The multitrellis array will fail to init if the addresses are wrong, or the wrong number of boards are attached.
-
The Teensy specific i2c_t3 examples can be used to double check your i2c addresses. See File>Examples>i2c_t3>basic_scanner for more.
If you already have serialosc installed/running, you may need to unload serialosc to get arduino to properly flash the teensy, then load serialosc to get Max to recognize the grid.
launchctl unload /Library/LaunchAgents/org.monome.serialosc.plist
launchctl load /Library/LaunchAgents/org.monome.serialosc.plist
Max apps for testing:
Monome Home
test-grid
The mext protocol is used for serial communication - same as what is used in most recent monome devices.
serialosc
is required for serial communication with MacOS/Windows computers and OSC devices. Linux may use serialosc
or libmonome
depending on the application. libmonome
is basically driver code which also facillitates monome serial communication.
You can get both serialosc
and libmonome
code from monome github page, and building them is well documented on official linux docs (they work for macOS as well), read part 2 Preparing your system: serialosc (ignoring the sudo apt-get
- I was missing liblo
, but it's available on homebrew): monome.org/docs/linux/.
Work in progress