I2C-MMI
An universal I2C driven user interface controller
The specifications of a user interface subsystem are usually quite stable from project to project, but as each new project is often built around a new micro-controller the developer has to re-write and debug a full set of low level routines to handle these peripherals. Moreover a large number of I/O pins are usually dedicated to these devices, needing a higher cost micro-controller.
I2C-MMI is a dedicated and very low cost pre-programmed chip that :

.
With I2C-MMI, the total cost of the system is not higher, and often lower, than the cost of a classic design : The extra cost of the I2C-MMI chip is easily counter-balanced by a much smaller requirement on the main micro-controller in terms of I/O pins count and memory requirements. And the development costs, time and risks are far reduced, improving the time-to-market. More over, the I2C-MMI chip can be physically fitted on a front panel PCB, communicating to the main PCB over a simple 4 wire I2C & power connection, thus reducing dramatically the interconnection costs.
Here under a summary of the I2C-MMI chip specifications :
The I2C-MMI embedded software was developed mainly in C language.
A demonstration board reference design provide an I2C-MMI chip and all supported peripheral designs on a single front panel PCB :