I made a small page for them here: http://exscape.org/arduino
... however the github repo is the one I'll 100% certainly keep up to date as changes are made: electronics/Arduino/Libraries at master · exscape/electronics · GitHub
Both are full-featured, optimized and fairly well-tested. I have more info in the READMEs (on github or in the downloads), but the brief info:
MCP49x1 DAC driver:
- Written for the MCP4901 (8-bit), MCP4911 (10-bit) and MCP4921 (12-bit) SPI DACs. Only tested with the MCP4901, but there is only one difference between them and the code that handles that is simple, so it should work just fine.
- Supports all the DAC features (aside from the obvious: shutdown mode to save power, and an output latch, to synchronize multiple DACs)
- Optimized for performance (has an option to not use digitalWrite, at least on the Uno/Mega boards. The rest would need minor code modifications.)
24XX1025 EEPROM driver:
- Should work with the 24LC1025, 24FC1025 and 24AA1025 chips.
- Splits writes into page writes automatically (if you have the RAM, writing the entire chip's 128 kiB at once should work)
- Helper functions to write bytes/ints/uints and floats
- Uses acknowledge polling instead of delay() to make sure the writes are made properly
- Tracks the current position for reads/writes, so you don't have to (unless you want to)
I hope someone finds them useful!
If you have any problems/bug reports/questions, contact me! ![]()