#dac #analog #digital #embedded-hal-driver #mcp

no-std dac_lib_mcp4725

A driver for the MCP4725 DAC module

1 unstable release

0.1.0 Oct 29, 2024

#483 in Embedded development

BSD-3-Clause

12KB
194 lines

dac_lib_mcp4725

A rust library for the MCP4725 DAC module

Current State

The library has been tested manually using a breakout board and 3.3v input for the supply. Output for 4095 yields near full voltage on the output pin.

Description

The MCP4725 is a 12bit Digital to Analog converter with built in EEPROM memory.

I2C Speeds:

  • Standard 100 kbps
  • Fast 400 kbps
  • High-Speed 3.4 Mbps

Connections:

OUT:: Signal Output Analog voltage GND:: Signal Output Ground SCL:: I2C Clock SDA:: I2C Data VCC:: Supply voltage 2.7v to 5.5v GND:: Ground

Usage

Adding to project

There are two ways to add the crate/repo to your project. You can use the github URL or you can add it via the normal crates name(TBD).

Cargo.toml

dac_lib_mcp4725 = {git = 'https://github.com/jake-g00dwin/dac_lib_mcp4725'}

Running Tests

To run the tests for the project after downloading or cloning the repo

cargo test

Roadmap

  • Define all Bitmasks for registers.
  • Add Example usage documentation.
  • Add link to example usage repo
  • Ensure Async compat
  • Add parameters for selecting power down modes.

Contributing

If you want to contribute to it feel free to open up a pull-request or make a new github issue.

License

This is published under the BSD-3-Clause license. So you can pretty much do whatever you want with it for business stuff or anything else.

Dependencies

~56KB