Im having a wonderful time building my cheap Zynthian from clone parts, and have got it fully working as a V3 with the 4 extra buttons.
Im trying to implement the ADS1115 board for adding analog pots and having some success and some troubles. Id like to know how others are implementing theirs.
Basic implementation based on zynaptik schematic:
VCC connected to 5v
Gnd to Gnd
SCL to rPi pin 5
SDA to rpi pin 3
ADDR unconnected
ALRT unconnected
100k pot pin 2 connected to A0
100k pot pin 1 to Ground
100k pot pin 3 to 5v.
This works, and I can assign the pot in webconf to Midi CC. If i set it to a CC number like cutoff then it will sweep the cutoff.
There are two problems:
If set to a midi cc that an encoder is using ie Cutoff, then the cutoff display value will jitter about 5-10 points of the current value. Going up and down on its own.
There seems to be noise on the pot that is sending midi values when not being sent. ie the ‘m’ in the status bar lights when the knob is not being touched.
Im wondering if I need decoupling or debouncing caps to reduce this noise?
Ive both replaced the pot and the wiring, and everything appears ok.
Have others managed to implement the ADS1115 and have reliably working pots?
If I plug in a midi controller with knobs, then midi assignment works perfectly with no jitter.
I use the analog in with pot. I think your 100k pots are too high value, I use 1k linear typs and they work with a little jitter (1-2 points, some times 3).
A pot with lower resistance will make the setup more stable against noise. Blocking caps to GND (and VCC) can help too.
Ive tried 1k pots and am getting the 1-3 points of jitter youve described.
I dont get the jitter on either fully left or fully right on the pot. Is yours the same?
The jitter makes using them for performance tricky if assigned to pitch related controls. Also makes midi log troubleshooting tricky with a stream of continuous random events.
I realise its early days yet for the inputs and Im grateful for how easy it was to get this far, but I wonder what setup the devs are using for the ADS and if they have a stable configuration?
Ill continue experimenting and will post anything interesting I find.
It may be something you have to live with. My Oxygen-25 had jitter on I think 3 of it’s analog inputs. A software improvement of a low pass filtering on that ADC could make it better. I’m already up to my eyeballs in other projects at the moment.
You could submit a bug report at the GitHub project requesting better filtering. It is true that at end-stops you are likely to have minimal noise because you have very low impedance to ground / supply. I included jitter filter in the code I wrote for a similar I2C interface but have not yet added this feature to the zyncoder library so have not tested analogue inputs on my interface (which uses a STM32 microcontroller rather than the ADS1115). Maybe we can port this filter to the zyncoder library to benefit users of the official Zynatptik.