A user's guide to i2c

my old TT can handle Ansible, Just Friends and a Slashes without a backpack, you should be golden!


At what length does unreliability begin to creep in with cables? Is 15cm, for example, be too long? I’ve seen comments on here saying that 30cm would be super long. I’ve got my TT placed next to W/ and Just Friends to keep things short, but I would like to break my chain and place my W/ somewhere else in the case, which would require a new cable.

And any fellow Brits on here, please spare me the “how long is a piece of string?” response :grin:

my I2C cable stretches about 94 HP and I’ve had no issues


I once had my TT and W// on separate ends of a 126hp row without incident. YMMV


encouraging to hear both of your reports!


I’d just like to confirm: Will Teletype+ER301+TXi need some kind of additional busboard/module?

1 Like

Depends: Teletype from the latest run or older TT? With older, I usually recommend a busboard at 3+ devices for maximum stability.

1 Like

It’s an older Teletype. Damn. I guess I’ll have to look into busboards… Thank you for the advice!

I don’t think you can damage your modules by daisy-chaining TT to TXi to 301. Personally, I would try it and see if there are any drop-outs before getting a busboard.

I was daisy-chaining TT to Ansible to Just Friends to 301 with no problems for many months. I later added 2 x TXo and a TXi, at which point a busboard became a necessity.


I’m having trouble getting my white whale to communicate with my TT. My current set up is TT with 301, Ansible, JF, and WW. I use a backpack on the back of the TT in this set up. Everything is connected with individual i2c cables running from the modules to the backpack and I’ve confirmed that all the pins are connected appropriately. The headers on the WW appear to be soldered well to the board and I see no bridges between any of the pins. I’ve never tried i2c on WW until this week, having just recently picked up a TT and Ansible. Other than not picking up any TT commands, the WW works as expected. What should I check next? I’ve gone as far as removing all other i2c connections and just going straight from TT to WW, and still no luck. Thoughts?

is it possible that the white whale needs a firmware update to allow it to talk to Teletype?


Certainly possible, and no harm in re-installing the 1.5 firmware

I’ll plan on doing that tonight and report back. Thanks!

1 Like

So working on updating to latest White Whale firmware. I’ve downloaded the file from https://github.com/monome/whitewhale/releases, which went fine. But following the directions on Monome’s firmware update page for Mac, it states

“there’s a script called update_firmware.command within the named module folder.”

which I don’t see anywhere in the folder. There are two folders, libavr32, and src. The src folder has a few files named


But nowhere can I find a script called "update_firmware.command.

I tried running the flash.command twice, since I missed the first error output, and the second error returned this…

Checking memory from 0x2000 to 0x3FFFF… Empty.
Chip already blank, to force erase use --force.
Error opening whitewhale.hex
See --debug=51 or greater for more information.
Saving session…
…copying shared history…
…saving history…truncating history files…

Am I missing something? I hope I didn’t jump the gun and prematurely run the wrong script…

Okay, I found the correct file after a quick search for that specific script. Sorry about that. But now the I show this while trying to update the firmware.

dfu-programmer: no device present.


I had to bring the whitewhale.hex file over to the same folder. AND all TT commands are working as expected!


I think you only needed whitewhale-1.5.zip, which has the flash.command and whitewhale.hex file.

1 Like

Just wanted to say thanks again to the trio above for putting this guide together (and all those that contributed and clarified). It has been great to be able to refer people here who have questions.


Theoretical question: if I had a module connected at the very end of an i2c bus and wanted to DIY a switch to connect/disconnect it on the fly, could that cause potential damage to any modules connected to the bus while the system is powered on?

not sure about hardware damage, but in any case i2c implementation used by monome modules doesn’t support hotplugging.

1 Like

If you power off and on a follower - you might run into a problem with the follower no longer being recognized after it’s been disconnected from a leader.

1 Like

Sounds like a thing only to do when the system is off for safety and avoiding any bugs. Thanks y’all :+1: