I2C / Raw I/O Access

The more time I spend near the Monome ecosystem, the more I keep thinking about what you guys said (can’t remember if it was on Lines or on Synthtopia) about the whole open platform thing and the i2c bus on the back being accessible to interface with other modules.

I’d like to explore this in a controlled manner, is there any documentation that covers:

  • where buttons are mapped in the linux device tree
  • where input and output jacks are mapped in the linux device tree


please see this thread on the paths in the file system used to read encoder/button data -

the DAC and ADCs on the SSP together create a sound card with ALSA compatibility which you can open using any audio application. The following combinations of sample rate and buffer size are known to work but others might work just as well -

48000, 128
96000, 256
192000, 512

Regarding using the I2C port on the expansion connectors on the back of the SSP - the connector you need is the top right one. Below you can see the pinout of the connector with the SDA, SCL, GND and VCCA (+3.3V) nets highlighted.

However this I2C port is not enabled in the current device tree. When I do the next OS update where I add multichannel audio streaming over the USB device port I’ll enable the port so you can use it.

There is no support in our application to use this port, but of course you are welcome to build your own software or run whatever you want on the SSP and use this port. There is info on the web on how to access I2C ports in linux and how to use them.

Hope this helps. Let me know if you have any specific questions.



For some reason I keep forgetting that everything is accessible through ALSA. That actually opens a few doors that I wasn’t thinking about. :slight_smile:

In terms of i2c, as long as I can get a copy of i2cdetect running to sniff some things out with the shell before writing actual code, should be fine.

I assumed it would have to be separate app, but if I get to something that’s worth sharing, I’ll be interested in working out what the best way to hand the process off to the Synthor app on exit. If folks are going to make their own apps, hopefully we can all follow a few conventions to make it easy enough to jump between worlds.

Thanks for the info, and I’ll likely have more specific questions once I dive in after the next OS update…

you won’t be able to access the I2C port until I enable it in the device tree.

once I’ve enabled the port, you can use normal linux I/O calls to read and write I2C data. You could put your code in a VST module, which you could write using our example QVCA plugin on github.

just FYI - you can always stop the Synthor app that’s by default running on the SSP and start your own application

1 Like

I2C connectivity is all the rage in eurorack now so this is great news! Looking forward to what this possibility might bring.

1 Like