MAX11115 ADC with a Particle Photon

Maxim makes this small ADC that comes in SOT23 and other packages. The cost runs from $1.65 to a few dollars depending on if you choose 8, 10, or 12 bit variants. They boast sample rates up to 2 or 3 mega samples per second. These are 3V only chips. They are not 5V tolerant. This should make it easy to use with ARM or Raspberry PI boards.

I wanted to verify this work and get some proof of concept code. I chose to use the MAX11115AUT+T that I soldered onto an Adafruit SOT23 breakout board. The ADC can communicate use several digital protocols including SPI. It only takes three wires to control it: SCLK, MISO, and !CS.  When CS goes low, the SPI clock drives the digitizing of the signal. After one clock, the first bit is available on DOUT. An new bit is available each clock pulse. The ADC always writes two bytes out. If you are using the 8 bit ADC, you still need to read in the second byte.

 

MAX11115 ADC copy

 

MAX11115 timing

 

 

To test the sample rate, I wrote some code on the Particle Photon that reads in 100 samples, stores it in a buffer, then transmits it over TCP to a local python server. A signal generator is feeding the ADC a sine wave. Here is what the raw data looks like at various input rates. Please keep in mind this is a quick proof of concept. There is no buffering, impedance matching, or anti-aliasing. The SPI bus is running at Photon’s default clock speed.

 

MAX11115 1khz MAX11115 5khz MAX11115 20khzMAX11115 40khz