Skip to main content

Posts

Showing posts with the label Microcontrollers

What are Microcontrollers?

 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...

How Much Arduino Has Changed the Hardware Development?

Not too long ago, it was sort of a mandatory practice to have an IC (Integrated Circuit) burner (sometimes also called a hardware programmer) at hand if anyone needed to work with microcontrollers. Whereby, the customary practice in the hardware development would be something like writing code in Assembly or C language and generating a binary file. Then giving the binary file to a hardware specific IC programmer software to finally burn the instructions into a given microcontroller installed in a ZIF (Zero Insertion Force) socket of the burner.   IC programmers could either be IC specific, or some better ones supported many different microcontrollers and EEPROMs (Electrically Erasable and Programmable Read Only Memory). In any case, after programming the device a minimum circuit was patched to supply the microcontroller with power, clock signal through an oscillator circuit, and finally adding a simple reset circuit – all this to just get the program running. And for other...