Hi!

I’ve just received Ansible and Just Friends modules. I would like to connect Teletype, Ansible, TxO+ and Just Friends using a daisy chaining configuration, but I’m still a noob regarding i2c.

Here’s a picture:

Are those connections correct?

I’ve tried to connect GND to GND, SCL to SCL and SDA to SDA. However, I can’t see these labels on Just Friends PCB board. I especially doubt about this connection but I’m not sure about none of them…

The pin order on Just Friends is the same as teletype, ground marked by the white stripe on the pcb - the pins nearest the top of the module.

2 Likes

Thanks, Trent!
Is a correct daisy chain configuration?
I used to use a star configuration with everything connected to Teletype…

I think I got it. Nothing broken, all working as expected :sweat_smile:

Well, I’ve just tested i2c connection between Teletype and Just Friends, but those are the first and last modules in the daisy chaining configuration, so I think Ansible and TXo+ -which are in between- can communicate via i2c with Teletype too.

Now I have homework: Just Type Studies…

So I just had an idea and would be curious if this would work the way I’d like. From my understanding the Intellijel XY 1U module works as a TRS to i2c converter. Would it be possible to have two different cases with XY modules in each, connect them via TRS cables and effectively link modules between cases i.e. have Teletype in one case, connect i2c to XY, patch a TRS to the other XY in a different case that has an i2c connection to Ansible? I believe there would be a specific order the cases would need to be powered on and they would need to be connected prior to powering on but would that actually work?

Was reading through the documentation for the new Intellijel CVx module and… it talks I2C!

If it’s implemented in the straightforward way (an I2C DAC and some jacks) it could make a simple expander for Teletype etc :thinking:

I couldn’t find any specific spec on resolution, but probably better than 8-bit? Output can be either 0-5V or +/-5V according to the configuration app.

1 Like

hi! hope these questions aren’t too silly—my system contains 1x crow, 2x ansible, and (soon) 1x just friends. looking forward to getting them all i2c’d together…

  • would crow provide enough power to the whole chain, or do i need to put together something like this?
  • i assume each module only has one set of hookups. would i need to buy or create a cable w/ multiple connectors, or again use the above busboard? i only thought to purchase 1:1 cables.

cheers!

edit – woah hold on does every module have dual connectors?? could i just daisy-chain from module to module, using crow as my first link and power source?

yes, crow should provide enough power.

not every module has 2 sets of connectors but you can take advantage of the ones that do, and daisy chaining is actually the recommended way to connect.

1 Like

gotcha! i understand now that all 6 connections are needed, haha. for the above setup (1x crow, 2x ansible, 1x JF) would you recommend i grab a multi-connector 6-pin cable, or do i have enough connectors to go around w/ only 1:1 cables?

i would check your modules - i’m not sure if there are different revisions that would have different number of pins, so don’t want to give incorrect advice.

1 Like

Followup on the new Intellijel CVx module - got a reply from Intellijel with the details:

  • DAC is an LTC2609 quad 16-bit I2C DAC
  • module also contains an EEPROM containing calibration information

Double-checking that part number - I suspect the part is actually the LTC2605 because there would need to be two LTC2609 each with their own address :thinking:

Unfortunately there are some address collisions, based on this list.

Sorry if this is obvious, but I bought 15cm and 30cm jumper cables. Is that “short”?

But if Crow is acting as leader, do I have “enough” power for both a JF and a W/?

If it’s just those 3 modules, you should be fine. Newest versions of W/ and JF also add some pullup current, so they help bus stability as well.

I don’t have empirical numbers of what is good enough, and what’s not, but perhaps we can make a simple spreadsheet to help calculate this?

2 Likes

Hardware revision or firmware version?

1 Like

Firmware. It applies across all hardware versions.

1 Like

Ok, I ran into an issue. I had Crow, TT, JF and w/ connected to i2c via my i2c bus (Clank case). For reasons TT has to go on vacation for a week so I removed it and now JF and w/ won’t listen to Crow. Crow listens to Norns as expected. Tried to connect JF straight to Crow without success.

I also tried to RTFM but this electronic alchemy is way above my next learning plateux.

As always, help is greatly appreciated.

Hmm that is mysterious but if the removal of Teletype was your only change then it’s likely to be an issue with pull-up resistance. Try:

  1. Verify I2C header polarity
  2. Update JF and Crow to latest firmwares
  3. See if it works
  4. If needed, use Druid REPL to troubleshoot
1 Like
  • Check
  • Check
  • No :frowning:
  • How? :smiley:

I’m too rusty with Druid to be very helpful :sweat_smile: Basically though you can write a simple event which prints a value from JF (like Ramp knob voltage), then manually send I2C messages to JF asking for that voltage. The printed value should then be responsive to knob movements.

JF I2C comms can be a bit confusing because there is this whole modal aspect which most pre-packaged JF companion apps make use of. Using Druid can let you verify I2C comms at a more basic level without bringing those modes into the mix.

1 Like

Also, on druid you can enable/disable crow pullups, try both and see if it works.

Enabling pullups (this is the default in the latest firmware): ii.pullup(true)

Disabling pullups: ii.pullup(false)