DMX_PCA9635 is a project mainly written in C, it's free.
DMX-512 to I2C bridge, supporting PCA9635 I2C devices
DMX-to-I2C bridge, initially intended to support the NXP PCA9635 16-channel dimmer ICs
DMX code based on Henne's DMX reception code from http://www.hoelscher-hi.de/hendrik/english/ressources.htm
Targeted at Atmel ATMegaXX8 microcontrollers with a 16 MHz external crystal. (i.e. Arduino hardware)
Uploading this via the Arduino bootloader is UNTESTED - I use a USBTinyISP from Adafruit: http://www.adafruit.com/index.php?main_page=product_info&cPath=16&products_id=46
Wire the output of a SN75176 or similar RS-485 receiver to the UART Rx pin of the AVR, and the PCA9635 to the I2C bus with appropriate pullups.
TODO: Programmable DMX start address (currently hardcoded) Programmable I2C address for PCA9635 (currently hardcoded) Support for multiple PCA9635s