These are the items which can be done to reduce digital noise on ADC readings
- Set OpAmp Bias to high
- Enable AGndBypass in the Global resources. AGND is connected to pin Port2. Capacitor values range between 100nF to 10μF. You can find a discussion of this on AN2219 - PSoC® 1 Selecting Analog Ground and Reference, on page 3 and 4
- Use low ESR / ESL bypass capacitors
- Add a capacitor to the motion input. This value should be such that it should not limited the bandwidth of interest.You can use 10nF as a starting point. This input comes through a connector shared with SPI.
- Is there any cross-talk on the board which connected to the other end? What happens to the noise if you disconnect the SPI lines? Does it reduce?
- Is the noise random or has any specific frequency. If it has a specific frequency, does it correspond to any periodic tasks being done in firmware?