As you have seen throughout this book, Arduinos are powerful devices. With a large amount of input and output pins, they can perform advanced functions, but the real power comes with shields. Shields expand the functionality of an Arduino by adding electronic components or connectors. Hundreds of designs exist, adding Wi-Fi connectivity, Ethernet, LCD and TFT screens, more input and output, robotics, or simply prototyping.
Even if hundreds of shields exist, sometimes it is worth creating your own. Don't worry; this isn't magic. Some hobbyists are frightened of creating printed circuit boards, but new tools exist that make this simple. There are no expensive machines to buy and no messy chemicals to use. Even the software used to create these boards is free. If you can create a circuit on a breadboard, you can create a shield.
There are hundreds of boards available, either through Arduino, through Arduino-compatible vendors, or through hobbyists and makers. If so many shields are available, why would you want to create your own? Put simply, to have your own hardware the way you want it. A data-logging shield might miss a component that you want, or maybe that fancy input and output shield has a few components that you don't need. Also, the satisfaction of creating your own shield is indescribable. You'll see.
It all starts with an idea. The idea is normally the project you have on your desk—a breadboard with dozens of ...