A few years back I designed a little Arduino shield who’s main function was to provide electrical isolation between an Arduino and a DAC (specifically a TPA Buffalo III).
The years have passed and my needs have changed with the introduction of the dam1021 DAC and its serial interface. My first though was to design a new shield specific to the dam but then I said “why not design a universal isolator shield?”. It would provide electrical isolation for both I2C as well as serial signalling.
Thus was born the Universal Signal Isolator shield for Arduino DUE & MEGA:
OK, it does look a lot more complicated than my first shield but remember, you only need to solder in the parts that your DAC actually needs.
So, what does this thing do?
1) Electrical isolation of I2C signals, complete with support of 8 isolated inputs or outputs (via an MCP23008 IC). Three of the MCP’s pins are high current outputs (up to 100mA).
2) Electrical isolation of up to 2 serial ports (implemented with an Si8642).
3) Electrical isolation of the second I2C interface of the DUE (implemented with an ADUM1250).
4) Powered either by 5VDC, 8-15VDC (non-regulated) or 7-12VAC (includes support for on-board rectification and filtering).
5) Support of a 5VDC power relay (up to 100mA).
6) Header for connecting a Nextion display.
7) On-board EEPROM memory (24LC256).
8) And of course full compatibility with the previous shield (same pinouts for the encoders, IR, TFT, etc.).
I will release the Eagle files once I have confirmed that the shield works as expected (I’m waiting for the first (and hopefully last) batch of PCBs).