#adc #microchip #driver #embedded-hal-driver

no-std mcp3425

Platform agnostic Rust driver for the Microchip MCP3425/6/7/8 ADC

7 releases (2 stable)

1.1.0 Jan 11, 2024
1.0.0 Dec 24, 2022
0.3.0 May 15, 2018
0.2.1 Mar 13, 2018
0.1.1 Mar 11, 2018

#265 in Embedded development

28 downloads per month


443 lines

Rust MCP3425/6/7/8 Driver

GitHub Actions Crates.io Version Crates.io Downloads

This is a platform agnostic Rust driver for the MCP3425 (and newer variants MCP3426/MCP3427/MCP3428 as well), based on the embedded-hal traits.

Docs: https://docs.rs/mcp3425

Introductory blogpost: https://blog.dbrgn.ch/2018/3/13/rust-mcp3425-driver/

The Device

The Microchip MCP3425 is a low-current 16-bit analog-to-digital converter.

The device has an I²C interface and an on-board ±2048mV reference.

Details and datasheet: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/22072b.pdf

Variants MCP3426/7/8 are very similar, but support multiple input channels. They are supported as well, but require to enable one of the following Cargo features:

  • dual_channel for MCP3426/7
  • quad_channel for MCP3428


  • Support one-shot measurements
  • Support continuous measurements
  • Configurable sample rate / resolution
  • Configurable gain (PGA)
  • Configurable channel (only MCP3426/7/8)
  • Handle saturation values (high and low)
  • Docs


Licensed under either of


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.