16n firmware optimized for ER-301 & I2C

I’m not used to coding, so;

Does anyone have an optimized firmware for 16n in use with ER-301 focused on I2C?

Specifically I’m looking for firmware, sending to port 0x31, with these statements in the code:

#define REV 1

#define FLIP 1

#define MASTER 1

Here is the compiled hex file, and the arduino project file/folder with those changes made, if you’d like to look and see what had to be done (a couple of ‘//’ deleted in front of the #define definitions you specified).

EDIT: I should add, I have not tested this, as I don’t have a 16n :sweat_smile:

_16n_faderbank_firmware.ino.TEENSY31.hex.zip (31.6 KB)
16n Firmware REV FLIP MASTER 2.zip (75.7 KB)


Wauw @anon17137829 thank you so much! Will be trying it out now.!

I’m trying this, and with midi, the faders behave flipped. Not with CV, but i guess they are hardcoded then?

I can’t make I2C work. I found out that my ER-301 is rev 10, and therefore no reverse I2C pin order, which I have now changed, but still no cigar. In the config it says:

// I2C Address for Faderbank. 0x34 unless you ABSOLUTELY know what
#define I2C_ADDRESS 0x34

Maybe this should say “#define I2C_ADDRESS 0x31” as ER-301 only has port options 0xB0, 0xB1, 0x31 and 0x32?

Hmm - found this in another forum, so I guess this isn’t the problem.?

Did you make sure to install the pull-up resistors on the 16n?

From the build guide:

By default, I2C is not set up for ‘master’ mode (ie: it will work with monome Teletype and similar, but not ER-301/Ansible. To make it work for ER-301, you need to enable ‘master’ mode in config.h , and ensure your pull-up resistors are in place).

1 Like

Michigan Syntworks built mine. I dont know - here is a picture of my 16n - which ones are the pull-up resistors?

R17 and R18. So no, they are not installed.

1 Like

okay, there it is! thanks.!

I am using a TELEXb module, that is not enough?

I don’t know where to get the R-EU R0805 resistors, does anyone has a link?

If you are using TXb and it is plugged in to power, then its pull-ups should suffice. If you do install the pull-ups on the 16n then try it with the TXb unpowered first.

1 Like

It might be difficult to see, but wanted to be sure its connected as it should - does this look right?

I feel like there should be a discourse badge for the first time we get quoted by @odevices :relaxed:


hmm, i am just about to geta 16n tomorrow and i cannot find where to plug these i2c cables…I cant find the regular 12c lines anywhere but i know it was modded for it as i asked (a bridge on on the FGPA)
Mines a rev 7

Please consult the ER-301 wiki for hookup details.

you will need to make a stereo minijack to i2c converter cable, without something like TELEXb by bpcmusic

I’ve now installed 10k, 5% 0805 resistors in R17 and R18, but I still can’t see any connection. I tried to go without TELEXb, with TELEXb, and with TELEXb without power. Also a different stereo-jack cable and always checked that it was powered. I even tried with @anon17137829’s firmware and “16n_firmware_v132_MASTER.hex” that i found on lines forum.

I guess the issue would be found either somewhere in the I2C circuit of my 16n or ER-301.

I’m on 0.3 stable firmware.

Could it be somewhere else? :thinking:


Is this what im looking for?

1 Like

Yes, except it doesn’t say in what order the pins are attached - probably easier to make your own. What revision of ER-301 do you have? Be aware that early versions has a different SDA SCL GND order for the pins. This is how they should be attached to the jack:

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

Check this link for the I2C part of the cable: https://llllllll.co/t/diy-i2c-cables/12833


It’s also not too hard to swap the pin order on those crimped pin connectors. If you take the tip of some tweezers, or a very small screwdriver, heck a toothpick might work, and you press on the silver part of the connector while gently pulling on the corresponding wire, it will pull out of the black housing. Then you can re-arrange them as you like.

Of course this necessitates having some way to check and see how they’re wired at the other end of the cable, so you’d have to check continuity with a multimeter or something of the sort, since it looks like the 3.5mm TRS end is overmolded onto the cable.