EYE on NPI – Microchip MCP3421 18-bit, 240 SPS, single-channel ADC #digikey #adafruit @digikey @MicrochipTech @adafruit

This week’s EYE ON NPI (video) is a compact and capable analog-to-digital converter, it’s the Microchip MCP3421 18-bit, 240 SPS, single-channel ADC.

This SOT-23-6 part is simple, inexpensive, and easy to use with an I2C interface that can run up to a 3.4MHz clock rate. Being able to power it from 2.7V to 5V makes it an easy-to-integrate component whenever you need an ADC that has differential inputs, adjustable gain, and a built in precision/low-drift reference voltage.

One of the trade-offs with getting 18-bit precision is that the ADC is not going to be very fast: you can configure the chip to do a faster 12-bit conversion at 240 SPS, but at 18-bits, it slows down to 3.5 SPS.

That’s because the way a sigma-delta ADC works, it ‘guesses’ the analog voltage and uses a comparator to determine whether the input is higher or lower. Each ‘guess’ takes an extra step, and thus halves the throughput, so 12-bit is 240 SPS, and 14-bit is 1/4 (2-bit) slower, 60 SPS. Ditto 16-bit is 1/4 slower, 15 SPS, and finally 18-bit is 3.75 SPS. However, sigma-delta ADCs are inexpensive, so as long as you don’t need high speeds there’s no reason to spec a faster and more expensive part!

The MCP3421 is already set up for differential inputs, which means that you can read positive or negative differences between the two inputs, as long as both signals are between 0 and 2.048V.

This means it’s not going to be great for reading stuff like potentiometers, where you have a single-end reading referenced to ground, and you want to read the full range from 0 to Vcc. It is great, however, for reading sensors like strain gauges, pressure sensors, or thermocouples.

The I2C interface for the MCP3421 is simple and well documented: there’s a command byte that can be written directly to set continuous or one-shot, gain from 1x to 8x and the ADC bit depth. Then, the current data can be read directly, with the status/’command’ byte following. Since the ADC is differential, note that the data will come out as binary 1’s complement for easy casting to a signed 16 or 24 bit variable.

Since there’s no address selection pin, you can determine which I2C the device responds to by purchasing a part code variant. For example, A0 is address 0x68, A1 is 0x69, etc.

We used ChatGPT to quickly put together an Arduino-compatible library in about an hour and it pretty much worked right out of the box minus a few typos. The final, tested library code is available here.

We also spun up a quick prototype PCB for the MCP3421 and it works very nicely, with a terminal block for the differential input, and Stemma QT ports to quickly plug into a variety of dev boards.

If you’re on the look-out for a well-designed high precision ADC to integrate into your next design, the Microchip MCP3421 18-bit, 240 SPS, single-channel ADC is an easy win. And, best of all, it’s in stock right now for immediate shipment from Digikey. Order an MCP3421 today and you’ll be convertin’ by tomorrow afternoon!


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Happy New Year 2025
Happy New Year from Adafruit!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A Fabulous Year for Python on Hardware and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — The 2024 Recap Issue!

Maker Business – Adafruit Daily — Same-day delivery, not for convenience, but customer loyalty

Electronics – Adafruit Daily — Level Conversion Hack

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


No Comments

No comments yet.

Sorry, the comment form is closed at this time.