Skip to main content

From Intel Pentium-II to ESP8266

Hardware interfacing has become much, MUCH cheaper!

In the blur of ever accelerating technological progress, it is easy to forget how much has changed in the past few years.

I stumbled across this exchange recently:

Can you please recommend any hardware, that I could plug in to the notebook and though I could send a warning mail when the door was moved (open/closed).

…followed by increasingly complex, absurd and hilarious yet technically feasible solutions.

It reminded of my very first "hardware interfacing" project, written in Visual Basic 6.0 using the serial port and system tray. I had followed the first, straightforward method mentioned in the reply:

Mount a switch on top of the door that gets unpressed when the door opens, and connect to the serial port. Then read the pin status.

It worked quite well, I had logs of the door opening and closing, and a visual indication on screen showing current state. The project needed my (only) computer to be running 24x7, with the serial port dedicated to the door sensor. Having two serial ports was a thing at that time so I got away with using the modem on the second port. Printer had its dedicated port as well.

The specs back then were:

  • 333 MHz Intel Pentium-II processor.
  • 32 MB RAM.
  • 300 watt mains power.
  • 5+ kilograms.
  • One-time cost: 80,000 INR.

It cost between 3 to 4 years of average salary in town, my parents had purchased this machine on loan, we definitely did not afford another for years. Two decades have passed. In the meanwhile technology has leaped and how!

Today, I can build the same project for less than the cost of a salad at a fancy restaurant.

Specs today are:

  • 180 MHz ESP8266 processor.
  • 50 kB RAM.
  • 180 mW DC power.
  • < 100 grams.
  • One time cost: 300 INR.

The ESP8266 was designed as a WiFi extension for other circuits, but people soon discovered that it itself is powerful enough. Now we can run Arduino sketches on the board directly, or even Micropython, a barebones implementation of Python 3 for microcontrollers.

This (finally!) changes everything.

The home automation I had dreamed of two decades ago (and so much more) is now within reach. This dawning realization two years back put me on a path to digging into this whole "Internet of Things" hype. I found available tools to be too narrow in their vision of a hyper-connected world or they are full of unnecessary complexity for weekend tinkerers.

The hardware is ready, however the available software leaves much to be desired.

More on that in another post :)