When designing an IoT device, there are many choices for hardware. In many cases, these choices ultimately must be made based on the functionality of the device, and not on their connectivity options. Remember, IoT devices need to have a useful purpose besides just connecting to the internet.
Let's look at three options for hardware—single-board computers, microcontrollers, and Field-Programmable Gate Arrays (FPGAs).
Single-Board Computers (SBCs) are complete computers built on a single circuit board. They include all the usual pieces of a functional computer—the Central Processing Unit (CPU), Random Access Memory (RAM), non-volatile storage, and input/output ports.
SBCs are capable of running full-featured operating systems. Linux is commonly used.
The Raspberry Pi Zero W, for example, is an SBC measuring just 2.6 by 1.2 inches. It has 512 MB of RAM built-in and uses a micro SD card for storage. Wi-Fi and Bluetooth connectivity is also included. The Raspberry...