Philips Says: No Internet Of Things For You!

The 900-pound gorilla in the corner of the Internet of Things (IoT) hype that everyone is trying to ignore is interoperability. In the Internet of Internets (IoI) everything works on a few standards that are widely accepted: IP and HTML. The discrepancies are in the details and the standards wars are in the past. Websites are largely interoperable. Not so in the wild-west ethos of the IoT.

Philips makes a line of ZigBee-enabled RGB lightbulbs that took the enthusiast community by storm. And initially, Philips was very friendly to other devices — it makes a ZigBee-to-WiFi bridge that would let you control all of your ZigBee-based lights, regardless of their manufacturer, from your phone. Until now.

Philips has just rolled out a “Friends of Hue” certification process, and has since pushed out a firmware update where their Hue bridges stop interoperating with non-certified devices. You can read Philips’ version of the story here.

Philips Locks Out 3rd Party ZigBee Hardware

The hub shown on the right is what's being locked down.
The hub shown on the right is what’s being locked down.

The short version is that, ZigBee standards be damned, your future non-Philips lights won’t be allowed to associate with the Philips bridge. Your GE and Osram bulbs aren’t Friends of Hue. DIY RGB strips in your lighting mix? Not Friends of Hue. In fact, you won’t be surprised to know who the “Friends of Hue” are: other Philips products, and Apple. That’s it. If you were used to running a mixed lighting system, those days are over. If you’re not on the friends list, you are an Enemy of Hue.

Their claim is that third party products may display buggy behavior on a Philips network, and that this loads up their customer-response hotlines and makes people think that Philips is responsible. Of course, they could simply tell people to disable the “other” devices and see how it works, putting the blame where it belongs. Or they could open up a “developer mode” that made it clear that the user was doing something “innovative”. But neither of these strategies prevent consumers from buying other firms’ bulbs, which cost only 30-50% of Philips’ Hue line.

While Philips is very careful to not couch it as such, the Friends of Hue program really looks like an attempt to shut out their competitors; Philips got an early lead in the RGB LED game and has a large share of the market. As they say themselves in their own press release “Today these 3rd party bulbs represent a minimal fraction of the total product connected to our bridges so the percentage of our users affected is minimal.” And they’d like to keep it that way, even though the people they’re hurting are probably their most vocal and dedicated customers.

Who owns the IoT?

This Techdirt response to the situation is positively apoplectic, and there’s been the predictable flood of tirades in the comments on Slashdot. [Joel Ward], who in January was celebrating the ability to afford enough colored lights to appease his son is not so happy anymore.

And while we, with our manual light switches, laugh comfortably at the first-world problems of Hue consumers, we have to ask ourselves whether we’re next. Today they come for our RGB lightbulbs, but tomorrow it might be our networked toasters. A chilling thought!

Snark aside, the IoT brings two of the saddest realities of the software world into your home appliances: Where there’s code, there’s vulnerabilities, and when you can’t control the code yourself you aren’t really in control. You may own the lightbulb, but you’re merely licensing the firmware that runs it. The manufacturer can change the rules of the game, or go out of the product line entirely, and you’re high and dry. What can you do? Pull out your JTAG debugger.

Of course it’s insane to suggest that everyone needs to become an embedded-device firmware hacker just to keep their fridge running. As we’ve written before, we need to come up with some solution that puts a little more control in the hands of the ostensible owners of the devices, while at the same time keeping the baddies out. We suggest a press-to-revert-firmware button, for instance. When Philips pushes a non-consumer-friendly upgrade, you could vote with your fingertips — but then you’d miss out on bug fixes as well. Maybe it’s better to just give in an learn to love Windows 10.

There are no easy solutions and no perfect software. The industry is still young and we’ll see a lot of companies staking out their turf as with any new technology. It seems to us that IoT devices leave consumers with even less choice and control than in the past, because they are driven by firmware that’s supposed to be invisible. It’s just a lightbulb, right?

What do you think? Any ideas about how to put the power back in the hands of the “owner” of the device without everyone’s refrigerators becoming botnet zombies? Let us know in the comments.

Thanks [djxfade] for the tip!

Edit: Shortly after we ran this piece, Philips backed down:

“We underestimated the impact this would have upon the small number of our customers who currently use uncertified lights from other brands in the Philips Hue system. We have decided to continue to enable our customers who wish to integrate these uncertified products within their Philips Hue system.”

More ESP32 Info Dribbles Out

In case you’ve been hiding under a virtual rock over the last two years, you might have missed it when Espressif turned the IoT game on its head by releasing a chip with WiFi and a decent embedded processor for under $1 in bulk, and costing not much more than that in a module.

They’re looking to repeat the success of the ESP8266 with the ESP32, that should be coming out any time now. As we get closer to the release date, details start to dribble out. [Alberto], who makes very nice-looking pinout diagrams for a number of our favorite chips and modules, has already made us an ESP32 module pinout diagram.

And [Rudi] has been digging up nearly every crumb of info on the ESP32 that’s publicly available. For instance, it was through his website that we learned that the new RTOS SDK source is already up on GitHub.

There’s also a source of official information in the ESP32 forum, but there’s not much news there just yet. We expect this to change as more beta units make it out into the wild.

We covered the announcement of the forthcoming ESP32 last month, and we have to say that we’re looking forward to getting a module or two in our hands. Twin cores, BTLE support, and better DMA are tops on our list of neat features.

ESP8266 BASIC WiFi Thermostat Is Child’s Play

If you’ve read any of our posts in the last couple years, you’ll have noted that our community is stoked about bringing the Internet to their devices on the cheap with the ESP8266 modules. Why? This forum post that details making a WiFi thermostat really brings the point home: it’s so easy and cheap to build Internet-enabled devices that you almost can’t resist.

When the ESP8266 first came out, there very little documentation, much less code support. Since then Espressif’s SDK has improved, the NodeMCU project brought Lua support, and there’s even Arduino support. Most recently, BASIC has been added to the ESP stable, and that really lowers the barriers to creating a simple WiFi widget, like the thermostat example here that uses a Dallas DS18B20 temperature sensor and an LED as a stand-in for the heater element.

The hardware for this project, a re-build of this demo code from the ESP8266 BASIC docs, is nothing more than a few off-the-shelf parts soldered together. No schematic required.

What makes the project work behind the scenes is some clever code-reuse by [Rotohammer] on the ESP8266 forums. Essentially, he wrapped the Arduino’s one-wire library, giving it simple BASIC bindings. Then all that’s left for the BASIC coder is to read the value and print it out to a webpage.

There’s all sorts of details swept under the rug here, and those of you out there who are used to bare-metal programming will surely huff and puff. But there’s a time for building your own injection-molder to make DIY Lego bricks, and there’s a time to just put blocks together. This project, and the BASIC interpreter that made it possible, demonstrate how much joy someone can get from just putting the parts together.

Absurd Clock Uses Twelve ESP8266 Modules

Quick quiz: How many ESP8266 modules do you need to make an LED clock? Hint: a clock displays 12 hours.

Nope! Twelve is not the answer. But that didn’t stop Hackaday.io user [tamberg] from building a 12-ESP clock during the Bilbao, Spain Maker Faire. The “advantage” of using so many ESP8266s is that each one can independently control one hour LED and its associated slice of five minute-marker LEDs. Each ESP fetches the time over the Internet, but only lights up when it’s time.

It’s like parallel processing or something. Or maybe it’s redundant and failsafe. Or maybe it’s just an attempt to put the maximum Internet into one Thing. Maybe they had a team of twelve people and wanted to split up the load evenly. (We couldn’t think of a real reason you’d want to do this.)

All snark aside, the project looks great as you can see in this Flickr gallery, and all of the design files are available if you’d like to re-use any parts of this project. We’re thinking that the clock face is pretty cool.

Continue reading “Absurd Clock Uses Twelve ESP8266 Modules” →

The Internet Of Minecraft Things Is Born

Minecraft has come a long way since [Notch] first thought up the idea that would eventually make him a billionaire. The game can be enjoyed on so many levels and become so engaging that grown adults who should know better spend far more time playing it than working on, say, their backlog of Hackaday posts. As if that weren’t bad enough, now Minecraft threatens to break out of screen with the ability to control a WiFi light bulb from within the game.

For those unfamiliar with Minecraft, it’s an open world game that allows players to interact with blocks of various materials. Players can build, destroy, explore and create landscapes and structures. An active modding community contributes everything from cosmetic texture packs to new block types with extended functionality. It was one of these mods that was leveraged to “break the fourth wall” in Minecraft. [giannoug] used the OpenComputers mod, which allows placement of programmable in-game computers with a full complement of peripherals, including an Internet connection. That allowed [giannoug] to send commands to his Brand X eBay WiFi light bulb, the protocol for which his friend [Thomas] had previously reverse engineered. Flip a switch in Minecraft and the real-world light bulb comes on instantly. Pretty cool.

We’ve seen quite a few builds where Minecraft blocks inspired real-world lamps, but this is a step beyond and might be a great way to get kids into programming using Minecraft. But it’s not the first time Minecraft has broken the fourth wall – check out this 2012 effort to build a microcontroller-based Minecraft server that can toggle pins from within the game.

[Thanks to aggvan and Stathis K for the near-simultaneous tips!]

“Hello Barbie” Under The Knife

In February, Google and Mattel introduced their Hello Barbie Internet-connected toy. This Barbie has an internal microphone, a WiFi connection to Google’s voice recognition services, and a speaker to carry on a “conversation” with the targeted child.

Like the folks at Somerset Recon, we’d say that this is an Internet of Things (IoT) device that’s just begging for a teardown, and we’re totally looking forward to their next installment when they pore through the firmware.

BarbieTeardown2On the hardware front, Barbie looks exactly like what you’d expect on the inside. A Marvell 88MW300 WiFi SoC talks to a 24-bit (!) audio codec chip, and runs code from a 16Mbit flash ROM. There’s some battery management, and what totally looks like a JTAG port. There’s not much else, because all the brains are “in the cloud” as you kids say these days.

From day to day we alternate between the promise of IoT and being anti-IoT curmudgeons, so it should come as no surprise that we’re of two minds about Hello Barbie. First, there’s the creepy-factor of having your child’s every word overheard by a faceless corporation with “evil” in their mission statement (see what we did there?). Next, we’re not sure that it’s OK to record everything your child says to a toy and listen to it later, even if you are the parent. Hackaday’s [Sarah Petkus] summarized this neatly in this article.

But mostly, we’re curious about how well the thing actually works and what it will do with naughty words. And who will take on the task of reviving the Barbie Liberation Organization? Now we totally want to go out and buy one of these things.

Optimizing Crop Yield With IoT

For a recent hackathon, a group of strangers (now friends!) created Crop Squares — a system designed to optimize crop yield by better tracking weather and soil conditions.

The event was hosted in Madrid called Future Hacks Internet of Things Edition, with the goal to build disruptive IoT solutions to help change the world. In 54 hours.

The concept behind crop squares is to make a graphical user interface using Dizmo that clearly shows the status of your crops in a grid system. For the prototype they used an Arduino Pro Mini with moisture sensors in potted plants to detect moisture levels, while a Raspberry Pi also collected weather data for the area being watched. The Arduino used an ESP8266 WiFi module to transmit the data remotely. To demonstrate how the system could be used in an automated sense, they hooked up another Arduino (this time a Leonardo), to pour water once the moisture levels dropped below a certain threshold.

Crop Squares won the Best Pitch Award as well as the Best Integration of Dizmo — good job guys!

Speaking of moisture sensors — did you know you can build your own using some plaster of paris and nails?