Microcontrollers and Small Computers

Sep 25, 2022

Microcontrollers and computers are the brain of your project. Although a lot can be done without them, they tend to be the easiest way to get complex or interactive behaviors out of an electronic project. Below I will describe bare microcontroller chips, microcontroller boards which have revolutionized electronic art, making it possible for all skill levels to create amazing art, and small ARM computers which bridge the gap between small electronics and full fledged computer controlled art.


PIC12F1822 Microcontroller next to a PICkit programmer and a quarter for scale

Microcontrollers are small, single-chip computers which generally offer input and output capabilities, a small amount of memory, and a processor. Typically you program these cores to run a single program (without surrounding operating system) written in C or assembly language. There are several different brands each with their own instruction sets and capabilities.

Although small, some can be quite powerful, and usually a chip can be found which matches up very well with the capabilities you need for an electronic project. Unfortunately each brand of microcontroller may need a proprietary programmer, which transfers the program from a computer to the chip’s program memory. The image above shows a PIC12F1822 microcontroller as well as the PICkit programmer available from Microchip Technology. Microcontollers are suited to projects which require many microcontrollers, which incude mass-produced parts, or which may have very tight form-factor requirements. I do not recommend starting with microcontrollers, but instead using more user-friendly microcontroller boards when starting out.



Microcontroller Boards

Adafruit Metro Express, Arduino UNO, and Seeed Seeeduino microcontroller boards

Microcontroller boards are circuit boards which include a central microcontroller as well as the electronics to power the board and program the board. They typically do not need a separate programmer, and generally use open source tools like the Arduino IDE or Python. These boards were popularized by the Arduino project which formed to make a low-cost electronic platform for non-engineers. Arduino boards are open source hardware, and therefore other companies can replicate the design, though they are prohibited from using the name. There are now a wide variety of microcontroller boards available, but I recommend starting with one of the Arduino boards as they are very popular and reliable.

Pictured above is an Arduino UNO board, which is one of the original Arduino designs. Below that is a Seeeduino board which uses the basic hardware design of the Arduino UNO, but is made by Seeed Studio. These boards both can be programmed with the Arduino IDE. The black board above is Adafruit’s Metro M0 Express which can be programmed in Python.

Most of these boards include Digital I/O, Analog I/O, and communication SPI and I2C communication protocols to interact with electronic projects. I recommend starting with these boards if you are just starting out with electronics. There are Arduino tutorials and Adafruit tutorials to get you started.



ARM Computers

Raspberry Pi and Beaglebone small ARM computers

ARM computers are full computers which have GPIO ports to send and receive electronic signals, and also can communicate using SPI and I2C. They also typically include the ability to use wired or wireless internet and interface with HDMI monitors as well as USB devices. Unlike laptops or desktops, these computers take up less space and are usually more rugged, however they are much less powerful. Nevertheless these computers can support video and other signal processing, video playback, text rendering, and very advanced projects. They can also use USB input devices such as keyboards, joysticks, and sensors such as Xbox kinect.

The most popular single-board ARM computer is the Raspberry Pi, which is shown in the image above on the left. There are a number of generations of Raspberry Pi, each one with more power than the previous generation. There are others including the BeagleBone, shown above on the right. Typically you must install an operating system (usually based on Linux), but you can program the device by logging directly into the device either over internet or by plugging in a keyboard and monitor. Tutorials are available on the Raspbery Pi Foundation page for the Raspberry Pi, and the BeagleBoard page for the BeagleBone and other boards they produce.



Tags: #Digital Circuits