Physical Computing Used To Be A Thing

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?

The Python Programming Language For Physical Hacking

We see projects here all the time that blend computing with the real world. Some people are naturally stronger on the mechanical end of things, whereas some are better with electronics or coding. All three specialities can be needed depending on your project. If your weakness lies in making a computer do your bidding, I might suggest that the Python language is a good one to learn.

I’ve been going through Learn Python the Hard Way, which is offered for free online, or you can pay for it if you so choose. I’ve published my thoughts on lessons 1-10 and 11-20 so far. As a mechanical engineer with limited (but not totally nonexistent) programming skills, it’s been an excellent experience so far.

If you’re wondering if Python is a good language to learn if you’d like to participate in [HAD] style projects, why not check out the following projects featured here:

Or just do a search of [HAD], and you’ll find many other projects for inspiration. If you’ve got a Python project to share, be sure to tell us about it in the comments!

Physical Computing Just Got A Lot Easier

Putting microcontrollers in everything and tying appliances into the internet has become the DIYers’ bread and butter. There’s a ton of benefits from an Internet-enabled coffee maker, but actually building these projects takes a little bit of knowledge. Enter [Dave] and [John] with Twine – a little Internet enabled box that connects physical reality to the digital world.

The hardware inside a Twine is a small board that combines WiFi, an accelerometer and temperature sensor. The Twine is programmed ‘in the cloud’ with a simple if/then condition. A Twine will send you a text, email or tweet when the condition is met. For example, you could put a Twine on a door and program the accelerometer to text you when someone comes knocking.

Twine isn’t an entirely closed system; there’s a plug for additional sensors (moisture detection, for example), and the data from sensors can be pushed out to a server. You can pick up a twine for $100 from the Kickstarter; it’s a little rich for our blood, but we’re sure it’ll be a useful device.

TinkerKit, Physical Computing Toolkit

tinkerkit

TinkerKit is a collection of 20 different sensors and 10 actuators. It’s meant to make prototyping of physical computing devices much quicker/easier. The devices plug into a Sensor Hub Arduino shield. There is also a similar hub board that can emulate a keyboard; it translates sensor input directly to key strokes. It looks like a very ambitious project and it’s still in development. We love the idea though and think the wide variety of components will foster better final designs. The TinkerKit site covers the current component lineup and there’s a demo video embedded below.

Continue reading “TinkerKit, Physical Computing Toolkit”