Off-The-Shelf Hacker: The Physical Computing Stack
Welcome. This series will introduce you to the exciting new world of off-the-shelf microcontrollers, sensors, actuators, Linux/open source software, NanoLinux systems and companion topics like the Arduino, Raspberry Pi, ESP8266, and other tools and designs of the DIY (do it yourself) and the so-called maker movement.
It’s a whole developing group of technologies that I affectionately call “the physical computing stack.” It feels like the whole PC revolution all over again, only with a vastly expanded and decidedly off-the-shelf, DIY vibe. Anybody can jump into learning about and using these things, with a very modest investment of time and money.
Sysadmins and developers already familiar with the LAMP stack will immediately see the connection, and hopefully the interest, in this pile of parts. In addition to Linux, Apache, MySQL, PHP and various other software-oriented components, the physical computing stack also includes mechanical systems, packaging, big data, networking, radio gear and perhaps even smart-phone technologies.
Most techies recognize that Nest, the Internet of Things (IoT) and the Arduino microcontroller fit into the physical computing stack. I think robotics, drones, factory machines, automotive systems, wearables and home automation also fall under the physical computing stack banner. And there are certainly new fields of physical computing right around the corner that we haven’t even yet thought about.
This is an incredibly interesting time to jump into physical computing — the personal computer, Internet, Web, STEAM (science, technology, engineering, art and math), mobile and maker movement are all available for the tinkering.
Best of all, the barriers to entry are very modest, from a cost, education, resources and time perspective. Arduinos go for about $15 and information on bleeding-edge hardware is usually quickly available on the Web. Integrated development environments (IDEs) are available for the task at hand. Linux is rapidly becoming the operating system of choice on Nano and embedded general-purpose computing machines.
So, it’s easy for the everyday (or new) hacker or traditionally software-only oriented person to get into building useful, interesting projects using off-the-shelf stuff.
Build a Robot, Build a Resume
Physical computing is big … really big.
The “Internet of Things” is one key sector of the physical computing stack, and Goldman-Sachs says there will be 28 billion “things” connected to the Internet by 2020. They have a nice comprehensive write up in their “The Internet of Things: Making Sense Of The Next Mega-Trend” paper. Similarly, IBM has a list of twenty IoT trends you might want to keep an eye on.
While it’s still up in the air for an all-encompassing IoT definition, I think it’s safe to say that there will be a huge number of these physical computing “systems” creeping into every corner of our modern world.
Combining the IoT devices with machinery, electrical equipment. Big data and data centers will be important parts of the stack, as well.
Opportunities for experts — including sysadmins, designers, developers and engineers — to productively apply the physical computing stack to solve actual problems and build new products or services will increase as the industry matures. Even if you lean toward the software-only side, remember that we’ll need somebody to keep all these newly networked, automated and “Skynet” systems running smoothly.
Docker and similar “next level abstraction” tech will likely play a very key role. These sophisticated concepts will take a little while to seep into this new physical computing thing, though. Also, keep in mind that the DIY/maker movement and inexpensive, easy-to-use and off-the-shelf microcontrollers have only been around for about a decade.
Homework for the Home Work
A low cost way to roll into the physical computing stack is to start with a little research on some of the basics. Here’s a list of topics and links you can browse. We’ll get into specifics and more “physical” topics like hardware builds, mechanical/electrical system interfaces, project packaging (like wearables), design (making the physical computing device practical in a day-to-day, real world situation) and so on, in future articles.
- Arduino home page: A microcontroller.
- Massimo Banzi has a nice video of how Arduinos and physical computing came about — he’s one of the inventors.
- Raspberry Pi home page: A nano-sized, general-purpose Linux computer.
- Mike Levin has a great short video describing the difference between an Arduino and a Raspberry Pi.
- ESP8266 Wiki page: A very inexpensive Arduino-compatible module with on-board WiFi.
- ESP8266 module manufacturer: Espressif.
Tutorials and Guides
- Make zine: Premiere magazine for DIYers and the maker movement.
- Physical Computing (O’Reilly).
- Microcontrollers (O’Reilly).
- Internet of Things (IoT) (O’Reilly).
- Arduino (O’Reilly).
- Raspberry Pi (O’Reilly).
- Learn about microcontrollers.
- Learn about sensors.
- “Physical Computing” by Dan Sullivan and Tom Igoe.
- “Making Things Talk” by Tom Igoe.
- “Raspberry Pi User Guide” by Eben Upton and Gareth Halfacree.
The Road Ahead
I’ve focused on Raspberry Pi-based projects for the last few months, so I’ll start with a few of those in future editions of this column. The Pi has digital input/output (I/O) capability, but no analog input, so its physical interface is slightly limited compared to an Arduino. Nevertheless, the Pi will be an easy jumping off point to get your feet muddy with a $35 two-inch x 3 1/2-inch NanoLinux computing module.
I’m speaking at Fossetcon next month in Lake Buena Vista, Florida, so I’ll be covering the “Steampunk Presentation Manipulation and Display Apparatus” that I’ll use during my talk. It’s based on a Raspberry Pi and features a hacked webcam to show close-ups of electronic parts. The slides will run under LibreOffice Impress, and the whole works is packaged in a Steampunk-themed box.
Another story will cover digital signage with a Raspberry Pi and an HDMI big screen. I’ll talk about ways to automatically step through slide panels and how to run looping videos on the device. Additionally, I’ll cover how readers might use the processing language to create animated text, shapes and effects for their digital sign.
I also have a couple of topics I’d like to cover with the ESP8266. You can read a story on that device I wrote here a couple of weeks ago. I’ll be busy making sure what I dream up actually works on the ESP8266 before writing the project up. Such is the nature of prototyping new gizmos.
So there you have it, we’re starting the journey on the emerging physical computing stack. Rest assured, we’ll get hands-on and into the how-to’s using sensors and project builds soon enough.
We’re excited with this new column and anxious to engage readers. So stay tuned.
Docker and IBM are sponsors of The New Stack.