here is the test build (it will display .3.1 I2C on startup):
teletype.hex (581.4 KB)
teletype.zip (170.6 KB)
make sure to save your presets on USB before you flash, all presets will be erased!!
it has whatever the latest official firmware has plus the i2c fix. to clarify, this will not make i2c more reliable (as a matter of fact it can result in more dropped i2c commands) but it should prevent teletype from freezing if something goes wrong with i2c.
this is a simple protection from infinite loops if the i2c bus becomes locked/corrupted
bonus version (3.1 I2C+):
teletype.hex (581.5 KB)
teletype.zip (170.7 KB)
this version will retry up to 3 times if i2c send fails - i doubt it will do much good based on my previous tests (whatever causes i2c to fail is not likely to get fixed if you try a couple more times immediately after) but give it a try, maybe it’ll improve reliability in your scenario.