In the early 2000s, the idea that you could write programs on microcontrollers that did things in the physical world, like run motors or light up LEDs, was kind of new. At the time, most people thought of coding as stuff that stayed on the screen, or in cyberspace. This idea of writing code for physical gadgets was uncommon enough that it had a buzzword of its own: âphysical computingâ.
You never hear much about âphysical computingâ these days, but thatâs not because the concept went away. Rather, itâs probably because itâs almost become the norm. I realized this as Tom Nardi and I were talking on the podcast about a number of apparently different trends that all point in the same direction.
We started off talking about the early days of the Arduino revolution. Sure, folks have been building hobby projects with microcontrollers built in before Arduino, but the combination of a standardized board, a wide-ranging software library, and abundant examples to learn from brought embedded programming to a much wider audience. And particularly, it brought this to an audience of beginners who were not only blinking an LED for the first time, but maybe even taking their first steps into coding. For many, the Arduino hello world was their coding hello world as well. These folks are âphysical computingâ natives.
Now, itâs to the point that when Arya goes to visit FOSDEM, an open-source software convention, there is hardware everywhere. Why? Because many successful software projects support open hardware, and many others run on it. People port their favorite programming languages to microcontroller platforms, and as they become more powerful, the lines between the âbigâ computers and the âmicroâ ones starts to blur.
And I think this is awesome. For one, itâs somehow more rewarding, when youâre just starting to learn to code, to see the letters you type cause something in the physical world to happen, even if itâs just blinking an LED. At the same time, everything has a microcontroller in it these days, and hacking on these devices is also another flavor of physical computing â thereâs code in everything that you might think of as hardware. And with open licenses, everything being under version control, and more openness in open hardware than weâve ever seen before, the open-source hardware world reflects the open-source software ethos.
Are we getting past the point where the hardware / software distinction is even worth making? And was âphysical computingâ just the buzzword for the final stages of blurring out those lines?