My Pool Timer is working fine in the back yard. It’s really cool to drive it from a web browser, and track when it’s running graphically. The Raspberry Pi is working fine. But, the Raspberry Pi is really not the answer for this kind of project. In fact, I’m not entirely sure what project the Raspberry Pi is really the answer for. Let me explain.
It seems there are two major use cases for the Raspberry Pi: One, education, the reason it was created in the first place. The idea is that by giving into the hands of an aspiring student of computers a Raspberry Pi, they can learn how computers work.
The trouble is, I fail to see how it can teach what a computer is, or how it works, any better than if I went out to Fry’s, and bought the parts of a computer and put them together. I can see the chassis, the power, the motherboard, the CPU, the different memory alternatives, disk alternatives, USB controllers, graphics cards, and what have you. And I can see and understand them much better than if USB, Ethernet, HDMI video and RAM are all on the same board pre-integrated. So if I was trying to teach about computers, I’d be using a tower PC, instead of a Raspberry Pi. The main advantage of the Raspberry Pi would be its cost: everybody can have one at $25 or $35. But then, these days almost everybody has an old PC at home they are not using any more. They are just as good/fast, and free!
The second use case is to build embedded systems, like my Pool Timer project. For that, the Raspberry Pi is much more compelling. Unlike a general-purpose PC, it’s small, it takes little power, and it has easy-to-use GPIO. Unlike a more traditional embedded processor (e.g. the Arduino), one can run almost any server-side Linux software on it, like Apache, PHP or even MySQL. Which makes it much more viable in my view because lots of people already know how to deal with it, and lots of software is available with, in the worst case, just requiring a recompile.
But it also has lots of stuff that I don’t need for embedded systems, like audio, or HDMI output. And worse, it is missing a lot of things that are required for almost any embedded project one can imagine with it, and there’s no reason why those things should not come with it from the get-go. Such as:
- A reliable power supply. In an embedded system, using a USB charger and a USB cable for power is a complicated thing to do. Many people, myself included, have power problems due to an unreliable USB power source, and that’s far less acceptable for an embedded system than for a desktop system, because embedded systems are hard to get to and hard to reset. And they don’t have keyboards and screens. So power should come with it.
- For almost any purpose in an embedded system, GPIO output signals are too weak to drive anything interesting. So the board should already have some power MOSFETs or something like that pre-integrated. In fact, one can argue that what should be sold is not a Raspberry Pi board, but an “embedded systems” board for purposes such as switching 110V or 220V consumers, or data acquistion.
- Also hard to see how an embedded system of this type could do without WiFi. Certainly that’d be much more useful than, say, HDMI output.
- embedded systems often operate in places that are cold, damp, visited by spiders and so forth. The chassis requirements for those are very different from the cute ones they tend to sell these days.
Arguably, if somebody did what I’m suggesting here, it would be something else than the Raspberry Pi is today. Perhaps it would be called something else. It might even use a different processor, but it might well be binary compatible. And there may be many different variations, such as:
- Pre-integrated moisture-proof box containing board, 110/220V power supply, WiFi, and 1 (or several) relay outputs capable of switching anything up to 240V.
- Same thing, but built into a power strip form factor.
- Same thing, but with a form factor that makes it easy to put it into electrical boxes
- Same thing, with some simple binary (but electrically protected) inputs, for things such as switches, buttons etc. that may be a few feet away without frying the box in case of lightning nearby
- Same thing, with thyristor/triac outputs to dim lights and other variable loads
- Same thing, with one or more analog-digital-converters built in. For many projects, they don’t even need to have much resolution.
Once we have things like that, *all using the same software platform*, then interesting things will happen in market adoption. I have a hard time believing that 1 million sold Raspberry Pi’s are actually being used in any meaningful way. 1 million sold Raspberry Pi+’s that I describe above might suddenly pop up everywhere in our houses, like:
- Raspberry Pi Wifi house thermostats (with several control apps to chose from)
- Raspberry Pi Wifi yard irrigation controls (with several control apps to chose from)
- baby monitors
- garage door openers
- security components and systems
- digital picture frames
- even house plant monitors, etc. etc.
Geeks, time for the next step, which is to get away from “all the cool things to do with a Raspberry Pi” to “all the cool devices I can sell to many more people based on boards that are binary compatible with the Raspberry Pi”.