Without going to reproduce a customary history lesson on the evolution of microcontrollers ever since the late 1960s, it is pertinent to discuss their characteristics and capabilities. Often confusing terms: microcontroller and System on Chip (SoC) are quite close to each other. And due to massive improvements in IC designs, differences often described are quite blurry. Anyhow, by common definition, microcontrollers are differentiated from microprocessors, wherein, microprocessors are specialized in running general-purpose applications and working in combination with external devices and chipset including RAM (Read Only Memory), hardware IO (input and output) and other peripheral devices. In contrast, microcontrollers have remained specific for embedded applications. Wherein, they have processing resources, programmable memory, RAM, and limited IO peripherals etched on a single chip. Quite recently, SoC devices have been gaining popularity partially due to open-source projects and...