1. An apparatus, comprising: different functional elements all located in a same integrated circuit wherein at least one of the functional elements comprises a micro-controller; configuration registers or configuration memory in the integrated circuit to store configuration values; different I/O pins configured to connect the integrated circuit to external signals; and a system level interconnect, located in the integrated circuit, configured to programmably connect a first functional element to a first I/O pin and to connect the first functional element to the micro-controller according to the configuration values loaded into the configuration registers or configuration memory.