Where would you recommend looking for documentation? Unfortunately II is not a great search term.
On monome.org I’ve managed to locate a document on retrofitting 2x3 headers and a mention somewhere in the aleph docs:
“we plan on co-designing with anyone interested. it is a 3.5mm stereo jack (for easy cabling) that uses the i2c bus.”
Here on the forum there’s at least one incredibly long thread that probably has a lot of useful information, but nothing as straightforward as a pin-out, pull-up specification or protocol definition. Same on the O|D forum.
i havent posted anything about it but im in the process of developing several i2c capable modules including an 8 input switch matrix that accesses i2c bus addresses. check out those projects above ^^ also I found reading the ansible and teletype and aleph i2c code incredibly helpful
This sounds about right. 16n requires you to flash it to behave how you’d like - its integration with ER-301 requires 16n to be the master, but its integration with TXB/Teletype requires Teletype to be master. If I was thinking sharper I might have done something with pullups, but we have exposed USB and the kind of people who’d want to change that are probably OK with flashing a Teensy.
I don’t think any individual devices in the II ecosystem have their own pull-ups. Look at the I2C “backpack” for Teletype, which I believe adds the pull-ups needed for multi-device connections. Doubling up on pull-ups probably would not add any benefits.
I was being flippant about the power headers and forgot to consider the electrical benefits. But I believe the benefits are mostly reduced contact resistance rather than increased ampacity. Very few euro devices draw an amount of power which would challenge the ampacity of the ribbon cables.
Teletype has 10k pullup resistors. The reason for the powered busboard (ie “backpack”) is that this 10k resistance is too high when adding multiple devices to the chain.
If you are designing a master-capable device I’d suggest pull-ups in the 3k3 to 5k range. Having them switchable would be nice to avoid too many parallel devices (leading to too much current draw on the bus), but in practice I’d say it’s fine so long as there’s not 5+ devices all with their own pullups.
Regarding the TRS jack implementation, the main thing to keep in mind is it’s not a good candidate for ‘hot-swapping’ due to the sequential signal mismatch on plug/unplug, ie. Tip is shorted to ground momentarily, then Ring, then finally arrives at Tip. This could cause corruption of the data line, though the protocol could be updated to gracefully handle this situation.
Based on this I’d be tempted to put 10k resistors in. Then it will work with anything Teletype works with, plus it could be a slave to Teletype, bringing the combined pull-up resistance down to 5k. Though jumpers or switched resistors would probably be even better.
the tt powered busboards (also made by @bpcmusic) have 2.2k resistors pulled up to 3v3. effective pullup is just under/around 2k, allowing many many devices.
configurable pullup is a major design challenge for this ecosystem to move forward. i’ve tried to tackle this in earnest (exploring device isolation/etc, i2c hotswap chips (they exist), and assessed nearly every physical connector for i2c suitability).
ps. i plan on releasing the TT schems once i get a minute to clean them up
also @Galapagoose has close knowledge of TT, he helped make it happen (when he was on-the-books part of monome)
Thanks @tehn, that’s good to know.
As for the message syntax and semantics I am guessing I will find it in the source.
Friendly word of advice, though, if you want others to take this up then a page or two of documentation wouldn’t go amiss!