Chapter 11. Building with Node.js and tiny computers
This chapter covers
- Getting started with Node.js hardware development on single-board computer (SBC) platforms
- Corralling components and setting up a Raspberry Pi 3 Model B system
- How GPIO works on the Raspberry Pi, and some different options for controlling it with JavaScript
- Adapting a Johnny-Five weather station app to work on several different platforms—Tessel 2, Raspberry Pi, Arduino, and BeagleBone Black
- Working with the GPIO-rich BeagleBone Black open source SBC
Single-board computers (SBCs) are tiny powerhouses that combine general-purpose computing with the characteristics of embedded systems (figure 11.1). These itty-bitty computers pack a host of peripherals and goodies into a small package: multiple USB ports, Bluetooth, WiFi, Ethernet—the features you’d expect from a desktop computer. But they have several features that lend themselves well to embedded applications: their cut-down size, lower price point, GPIO support, and relative power efficiency (while not as power-miserly as simpler embedded platforms, they certainly require less juice than their desktop brethren).
Figure 11.1. Single-board computers (SBCs), left to right: Intel Edison module with Arduino breakout, Raspberry Pi 2 Model B, and BeagleBone Black

This isn’t the first time you’ve seen SBCs in this book, but let’s revisit what an SBC is, broadly speaking. There’s no formal definition of the term, but SBC platforms tend to do the following: