Recommended filter capacitors and external components for my MCP3208 ADC

I would like to build a testing board for the 12bit ADC MCP3208. (I think) it will be eventually used to measure a sin wave that has a max of 3 volts and a min of 1 volt.

I would like it to be accurate and minimize the noise.

This is what I have come up with:

  • The Vref for the ADC will be 4.096 from a REF5040
  • The REF5040 will be powered from a ~5volt usb
  • The REF5040 will have two filter capacitors. A 1uF from Vin --> Gnd and a 10uF from Vout --> Gnd
  • The MCP3208 will use the 4.096 as Vref and the analog sine wave should max out around 3 volts, so I think this is fine. (But the sine wave may have noisy spikes from time to time...). Also, should the MCP3208 have its own 10uF near Vref?
  • The MCP3208 will be powered by 3.3 volts (from a microcontroller)
  • All pieces will share a grounding plane

My end goal is to measure this sine wave at a pretty high sampling rate, like a few kHz, and analyze it using a common microcontroller. This ADC is what I have come to after about a day of research. Any tips are appreciated.

A "few" KHz sampling is not well defined.

Note that the SPS drops with a lower voltage

  • 100 KHz at 5.0V
  • 50 KHz at 2.7V
    so 3.3V could do maybe 65 KHz?

Did some performance tests long ago when writing a library and the MCP320x was stable at 4 MHz SPI both on UNO and ESP32. My setup might not have been ideal but you should be able to use at least that speed.

Assuming you do a round robin over all 8 channels, be aware the ADC is internally MUXed.
So you might need to read two samples and ignore the first.

Not according to the datasheet, but you need a 1uF bypass cap from Vin to GND. But I doubt you missed that.

thanks! Good to know about the Vdd and SPS relation. Had no idea. (I also used your ads1015 library for a project a while ago and it had the best results out of the few libraries I tried.) Glad you have one too for the MCP3208.

FYI, I plan on using just one channel and anything above 3kHz sampling will be enough

I did miss it, so thanks! I looked back again and found some more useful links IMHO

TI REF50xx layout example link

and from the 6.4 Layout Considerations from this link only mentions a filer cap from Vin to ground

I think this might be my final schematic

Oh you did, I saw the bypass caps for the Vref chip and "It's probably outside the screenshot"

Tip: In Kicad, you only need the powerflags if you wanna satisfy ERC, and you need two of them. You'll see :upside_down_face:

Um. I don't think Vref is supposed to exceed Vdd...

Ya, I think you're right, even tho I cant find it in the documentation. Thank you! These ADCs are expensive, so I want to make sure I have everything right before I order. This is my first time trying to make an ADC circuit.

I would power it with 5 volts or precision voltage reference, but I read that the SPI communication lines might be too high voltage then for my 3.3V microcontroller. Do you know if this is true? Any tips?

Example application circuit from the MCP3204-3208 data sheet:

thanks, emphasize "I cant it". I figured it would be right there, I just don't have much experience with documentation.

I wrote in my comment above I need it to communicate with a 3.3 microcontroller. I did see that you shouldn't hook up the SPI lines to a 3.3 microcontroller if powered by 5 volts. I wonder what's a good solution.

Maybe a SPI 5v-->3v level shifter?

The best solution is to use a 3.0 or 3.3V ADC voltage reference and 3.3V supplies for both the ADC and the MCU.

which microcontroller?
there are some 5V tolerant and there are some that would fry..

esp32

ya - knowing all the issues you all helped me find and according to my first post, it seems 3.3v for everything is the best. I think at times (even tho I did not say that in my original post) my wave might be over 3 volts so I wanted some safety.

Use a resistive voltage divider to reduce it to safe levels.

More explicitly: