Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

I2C setup with 16n Faderbank

Hiya. I received a 16n today and have been trying to get this beautiful looking thing working with the ER-301. I’m running the latest firmware and believe my 16n has been set up to run the ER-301 (someone built it for me know I was going to use it with the ER-301. I’ve got the standard jack outs sending CV so that’s cool (the 16n is getting power and working) but how do I use the I2C element? There’s no Monome stuff involved. Strictly 16n and ER-301.

I’ve tried the SC.CV object but I’m not having any luck. So if I select Port 3 and move my 3rd fader on the 16n, that should be enough to move it? If so, it looks like I’ll have to check my I2C cabling (which is what I’ll do while I wait for a reply :slight_smile: )

Any help would be appreciated!

To use the 16n directly with the ER-301 you need two things on the 16n side:

  • flashing it with the “master” firmware
  • having pull-up resistors installed on the 16n board (or use something like the Txb that adds those resistors on the i2c bus)

On the 301 side, you want to use SC.CV with port numbers from 32 to 47 (those are the default in the 16n firmware but can be changed if needed by compiling it yourself).

1 Like

Thanks for your help!

Just double checked continuity and connections on my cable and all good. I was hoping it was going to be the port numbers 32-47 that was wrong but alas. I’ll try the firmware and confirm the pull ups are installed.

hey if you purchased your faderbank from Michigan Synth Works then you should not have to worry about changing the firmware as i got mine working fine last night without having to go that route.

Also the pull up resistors are installed on the new version with a switch to turn on/off.

Is your 301 the later revision 10 or do you have 7? Check the 301 wiki for details on this if you have 7

oh, right i totally forgot to mention the little mod needed to rev7 301s for i2c to work.

Yep, I did the board mod in preparation and did the continuity test on that also. Purchased from a local seller so Im pretty sure I have the one without the pullup switch option. I’m pretty sure he would of done the pullups but I’ll try and confirm.

Yeah you better open it up and confirm those resistors are on the board before going any further. Also better upload the firmware just in case IMO.

I did have to play around with swapping the SCL/TX and SDA/RX pins but when it is working you will see the bar graph in the SC.CV move once you are getting signal.

Raph at MSW asked me to write setup instructions for the 16n to ER-301 setup, so I’m just posting it here in the hopes that it helps others:

  1. Determine which version of the ER-301 board you have (http://wiki.orthogonaldevices.com/index.php/ER-301/Teletype_Integration)
    and if it is an older version you will need to solder the shunt as described in the above link.

  2. Connect the i2c pins (GND, SCL, SDA) on the ER-301 (check the link above for which pin is which) to a 1/8th TRS jack. I recommend doing it to a surface mount female jack and mount that to a panel, but you could also wire it directly to a male connector. The wiring should be as follows:

    Tip: SDA
    Ring: SCL
    Sleeve: GND (ground)

  3. If you are using a female jack as recommended you will need a 3.5mm TRS male to male cable. i2c is super fussy about which cables will work. The shorter the better. Also, if the first cable doesn’t work, try another one. I had multiple cables of the same length where one worked but the other didn’t. I have no idea why, it’s just a fussy protocol.

  4. Flash the 16n with the latest version of the firmware (https://github.com/16n-faderbank/16n/tree/master/firmware/_16n_faderbank_firmware) set to master mode. To do this you will have to uncomment the #define MASTER 1 line in the config.h file and then compile using the Arduino app and then flash with the Teensy app (I also recommend uncommenting #define LED 1, as that will help you know when the 16n is on/off as you’ll see below).

    Make sure you follow all the instructions on the README from the link above to ensure you have all the correct libraries, etc and latest versions of Arduino/Teensy.

    If your 16n is using the Teensy LC you will need the do the following differently:

    Board: Teensy LC
    USB Type: MIDI
    CPU Speed: 48 MHz
    Optimize: Smallest Code with LTO

  5. If your 16n board has a switch for the pull-up resistors make sure it is ON. If your board does not have a switch, ensure that you have 4.7k pull-up resistors (apparently 10k works too) soldered on R17 and R18.

  6. On the ER-301 you’ll need to enable Teletype control. To do so, flip the bottom left switch to admin. Scroll down to and open System Settings. Scroll down to the very bottom and change “Enable/Disable Teletype control” to “enable”. Do NOT change the i2c slave address. It’s smart to reboot the ER-301 after making this change.

  7. The following sequence is very important to follow for powering up and connecting cables, otherwise either the ER-301 or the 16n will crash. Start with the ER-301 powered off and the 16n with nothing connected to it.

  8. Connect the 3.5mm cable from the 16n to ER-301.

  9. Power up the ER-301.

  10. Power up the 16n by connecting the USB cable.

  11. If everything is working you should be able to add a “Teletype SC.CV” unit (it’s way at the bottom of the list) and set its port to 1-16 and the corresponding fader on the 16n should send signal.

    Note: If at any point you have to reboot or restart the ER-301 (due to a crash, firmware update, etc), you will have to unplug the 16n power and then plug it back in once the ER-301 has restarted.

11 Likes

Wow that is killer, thx for posting!

1 Like

After midnight and I’m admitting defeat for tonight. I tried peering in to spot the pull ups and it looks like they’re there so maybe it’s firmware which I had no luck getting happening. Thanks for the assistance all though. Hopefully tomorrow!

2 Likes

Still nothing :weary:

I do have the pull ups installed on the 16n and apparently is running the master software. That’s the only bit I couldn’t check as I had no luck connecting to the Teensy. I think it’s because I’m running an adapter for USB thanks to Apple. ER-301 mod done.
I’ve tried different 3.5mm cables, followed the handy set up steps above as close as possible, checked all my cable connections for continuity, different usb power supplies, etc.

A couple of things, the wiki says set the address to 0x31 but the steps above say to ‘do not change’ (0x31 correct?) and I’m running about 1ft of jumper wire to my female jack faceplate from the ER-301 so I’m assuming that’s not too long. Until I get to overwrite the firmware to confirm it’s running in Master, I’m all out of ideas. :confused:

If the Teensy is connected to the computer properly, I should be able to upload whats on the Teensy to see the script yeah?

Thanks all!

Arr you using the teensy loader app? Thats how i update my O-C and it always works.

Yes, usually. When I went to update the software last night though, I ended up with the Arduino with the Teensy add on combo. Still have the Teensy though. It just wasn’t showing up and I remember having that issue with something else a while back.

I’ll try get that sorted and I might make up a completely new cable to test just in case something is going wrong there. I’m done for today though! I feel like I’m working on a DAW again. hah

Have a look at the oc website iirc there was some info on teensy bootloader troubleshooting

1 Like

Just wondering if here is a pre compiled firmware to flash to the 16n?
Not sure i feel confident to do re complie.

Cheers

this one is good if you want to have the er301 directly and slaved to a flipped (upside down) 16n.
(faderbank acting as the i2c master)
i had to add “.slices” to the name in order to upload it here. Please, make sure you rename
the file after download, i.e. get rid of “.slices” again.
and let me know if it works
_16n_faderbank_firmware_133a_flip_reverse_master - Kopie.hex.slices (84.9 KB)

2 Likes

Amazing! Thanks for that.
Just wondering, am i still able to use the individual outs when in i2c master mode?

Yes, you can still use the CV outputs.

1 Like

Whats the best way to have the 16n connected via i2c and also have either teletype and/or ansible running polyES?

And if anyone has a firmware version that isn’t flipped i would really appreciate it.

Cheers!

the source got you covered


(if you need a different configuration, trivial to build a firmware with teensy instructions btw)

just try both as master was an advice I heard a lot. possibly ok if they use different ports?
otherwise for teletype you would need to poll the 16n with metro at fast rate.

1 Like