In this article, we'll look at the commonly used hardware that Maker's utilize more than others, the reasons why and examples of using those components.
If you pardon the pun, breadboards are considered the bread and butter of the Maker world. As versatile units, they can be used in simplistic LED projects to complex projects that include working with 16-bit computers.
Breadboards allow users to perform a prototyping technique that results in utilizing reusable parts without the need for soldering.
They have multiple, isolated rows with small, metal, internal grips that allow components to be easily inserted with wires that form connections between different points.
Breadboards are only suitable with through-hole parts that require large with a pitch of at least 2.54mm (0.1") to fit.
Certain components, such as transistors in TO-92 parts, have leg pitches smaller than 2.54mm but they can be spread out slightly and still manage to be inserted. While components such as SOT-223 with shorter legs cannot be used with breadboards.
Breadboards also include power rails, which makes it easier to establish power and ground connections.
They're typically small and come with plastic connectors (imagine them as jigsaw pieces) that allow multiple breadboards to be connected and the creation of larger circuits. This feature also enables the use of a prototyping technique that easily deconstructs the final circuit. However, it can cause issues for larger circuits and potentially result in insecure connections (i.e. easily dislodged parts).
For more information on breadboards, check out our Introduction to Breadboards and Their Uses article.
Single Board Computer (SBC)
Single-board computers (SBC), are exactly what their name suggests, a single-board computer.
Typical desktop PCs consist of a motherboard, which has different components slotted in such as a CPU, RAM, and GPU. Essentially, a single-board computer integrates all required parts onto a single PCB.
These systems are often considerably less powerful than desktop computers but are powerful enough to run simple operating systems capable of web browsing, basic gaming, and coding.
SBCs provide I/O interfaces that make them incredibly powerful microcontrollers that can be connected to external circuits, unlike larger desktop PCs.
They often require a power source—the most common type being a micro USB B cable that can be connected to a computer or USB adaptor. (Note: SBCs typically have USB connectors, HDMI output, audio connectors, and allow some form of internet connectivity).
A classic example of an SBC is a Raspberry Pi, which is a credit card-sized computer that can be used in projects and generic computing alike.
Unlike microcontrollers, SBCs don't require a specialized programmer and aren't dependent on another computer for programming. They're useful in applications when processing power is needed along with the connectivity of USB and GPIO.
SBCs are expensive when compared to microcontrollers and aren't ideal for commercial applications. Additional examples of SBCs include the BeagleBone, ASUS Tinker Board, UDOO Bolt, and PICO.
Gain more insight into the practicality of SBCs by reading, Does My Project Need a Single Board Computer?
Single Board MCU
The terms SBC and single-board MCU are frequently mistaken for each other, though they're two distinct types of boards.
Single-board MCUs are units that are based around microcontrollers instead of microprocessors.
Microprocessors are just CPUs, while microcontrollers are made up of a processor, memory, and peripherals.
Microcontrollers require external circuitry to be used properly, such as regulators, programming ports, and various signal handling components.
A single-board microcontroller unit combines a microcontroller and all the parts needed for that microcontroller to fit properly onto a single PCB. A very common example of a single-board MCU is the Arduino range of boards which integrate commonly used microcontrollers such as the AVR ATMEGA328 and the ARM Cortex M3.
Single-board MCUs don't typically require specialized programming jigs and are often programmed with a simple serial connection with a host PC. Advanced single-board MCUs such as the Particle Photon can be programmed through the internet, eliminating any connection at all.
They also often come with IDEs that help with creating programs, making them ideal for prototyping.
Single-board MCUs, while less powerful than SBCs, are considerably cheaper and include more peripherals such as ADC, DAC, PWM, timers, I2C, SPI, and UART.
They're impractical for commercial integration though and better utilized as more of a prototyping platform.
Common examples of single-board MCUs include the Arduino range of microcontrollers, the Particle Photon, WeMos, NodeMCU, and micro::bit.
Devboards or Evaluation Kits
Devboards (development boards) are easily mistaken for single-board MCUs, as they are a single PCB that houses a microcontroller and some external circuitry such as buttons, LEDs, peripherals, and I/O connectors.
The main difference between MCUs and development boards are that they are specifically used to prototype a specific chip and the microcontroller to be programmed.
Development boards were commonly found in the electronics field before the introduction of serially programmed microcontrollers, which provided a more efficient tool to get projects working quickly.
Development board prices can dramatically range from cheap (with just a microcontroller and some pins for connecting a programmer), to incredibly expensive (containing displays, sockets for inserting different microcontrollers, and even built-in programmers.
They are often exclusively used on commercial microcontrollers and are useful when a complex MCU requires testing before a prototype product or project is built.
Evaluation kits are similar to development boards but aren't limited to use with microcontrollers. They can include a wide range of components, including specialized FPGAs, CPLDs, and displays.
The purpose of an evaluation kit is to allow an engineer to test a piece of hardware in order to properly use it. They can also determine whether the product would fit their needs.
Evaluation kits are known to be expensive and typically used by engineering departments in commercial environments.
A platform can be defined as a suite of tools dedicated to making designing projects easier.
In the past, a designer may have chosen to use a microcontroller from one company, a software package from another to program it, and a programmer from a third.
The microcontroller communicates with a PC using a serial connection and requires a fully customized program to read that data.
A platform combines all of that into a single package, while an IDE with an integrated programmer could be used to write the microcontroller code, flash the chip, and even read data from it.
To fully understand what platforms are it's best to see some examples.
All IoT projects require an IoT server to send and receive data from and it can be a complex task to provide one. A user would need to build a server, forward ports, write server side code to handle connections and design a web interface that allows for interaction with data. Which is why using an IoT platform would make this process considerably easier.
IoT platforms such as Amazon Web Services and Adafruit.IO provide servers that can process data from IoT devices. The user would simply provide a library and a few lines of code using a microcontroller to utilize these services.
The Arduino platform is an example of a microcontroller platform that makes coding microcontrollers easier.
If unfamiliar with Arduino as a tool, you can learn how to identify its features and uses in an introductory article, Getting Familiar with Arduino and Running a Sample Program.
When writing code for microcontrollers, a designer will need to learn about the different registers that control peripherals and how to use them—the Arduino platform resolves this issue.
Instead of learning about registers, the user learns about a specific, cross-platform library. This means that code written for the Arduino Uno (Atmega328) can be used on an Arduino Due (32-bit ARM) with little to no code changes.
Modules are arguably the most important component type available to hobbyists because of how they enable the use of complex hardware. They can be thought of as jigsaw pieces, they are always connected to microcontrollers or other circuitry.
In the past, the wide use of through-hole technology allowed hobbyists and Makers alike to use commercial parts in projects because they could fit components onto breadboards and stripboards.
Gradually, the electronics industry experienced a push towards the popular use of SMD parts (surface mount components), that aren't solder-friendly.
In fact, many SMD parts today require PCBs with tiny pitches and reflow oven techniques in order to make them usable. Thankfully, electronics manufacturers produce modules for this reason.
Modules are similar to single-board MCUs, but instead of housing microcontrollers, they house a specific part (such as a gas sensor or light detector). They also include connectors that enable attachment to projects and prototypes.
Modules vary in size but are often designed as conveniently compact as possible. Most contain the required components for a specific part which reduces the amount of circuitry needed for them to work.
For example, DC-DC modules are useful for increasing or decreasing voltage efficiently. These modules also provide the inductors, capacitors, and resistors required for it to function correctly.
Sensor modules (such as the MAG3110), integrate complex ICs that fit in small packages (such as the QFN size) and have pinouts that make it easier to connect to them.