Al comienzo de un proyecto, no siempre es fácil encontrar el microcontrolador adecuado para todas y cada una de nuestras necesidades. Con frecuencia, falta un temporizador, un modulador de ancho de pulso o un interfaz. Por otra parte, a lo largo del proyecto surgen a menudo cambios en las especificaciones (por ejemplo I2C en lugar de UART). Todo esto puede hacer que el desarrollador no dé con el componente adecuado y seleccione un derivado de mayores capacidades para disponer de recursos necesarios en el caso de que se produzcan cambios.
En este sentido, Cypress Semiconductor [1] propone un componente muy interesante, el PSoC (Programmable System on Chip), un sistema programable de señales mixtas con un microcontrolador de 8 bits y memoria flash.