For years we have been graced by cheap consumer electronics that are able to be upgraded through unofficial means. Your Nintendo DS is able to run unsigned code, your old XBox was a capable server for its time, your Android smartphone can be made better with CyanogenMod, and your wireless router could be expanded far beyond what it was originally designed to do thanks to the efforts of open source firmware creators. Now, this may change. In a proposed rule from the US Federal Communications Commission, devices with radios may be required to prevent modifications to firmware.
The proposed rule only affects devices operating in the U-NII bands; the portion of the spectrum used for 5GHz WiFi, and the proposed rule only affects the radios inside these devices. Like all government regulations, the law of unintended consequences rears its ugly head, and the proposed rules effectively ban Open Source router firmware.
The rules require all relevant devices to implement software security to ensure the radios of devices operating in this band cannot be modified. Because of the economics of cheap routers, nearly every router is designed around a System on Chip – a CPU and radio in a single package. Banning the modification of one inevitably bans the modification of the other, and eliminates the possibility of installing proven Open Source firmware on any device.
Walk into any home improvement store, and you’ll find dozens of smart accessories, home automation equipment, and WiFi-connected ephemera. The Belkin WeMo Insight is one of these devices, giving anyone with $60 and a WiFi network the ability to switch lights and appliances on and off over a network. [John] picked up one of these WiFi plugs, but it didn’t work exactly as he would like. Instead of building a smart plug from scratch, [John] replaced the controller board for a WeMo Insight for his Hackaday Prize entry, making it far more useful and a replacement for devices like the Kill-a-Watt.
In its stock form, the WeMo can only be used though the smartphone app provided by Belkin or through a few third-party services like IFFT. All of these solutions have a limited API, and don’t provide advanced power metrics. To solve this problem, [John] replaced the smart controller board inside the Belkin WeMo with one of their own design.
By volume, most of the electronics inside the WeMo are a transformer, caps, and a relay; the smarts of this smart plug are just a daughterboard. By re-engineering this daughterboard with a new microcontroller, an ESP8266, and a microSD card connector, [John] can replicate the functionality of the WeMo while adding some new features. SD card datalogging for up to four years is now possible, a RTC now provides precise time stamps on all data collected, and a few simple calculations on the microcontroller enable power factor, line frequency, and total energy metering. With the ESP, all this data can be sent up to the cloud with a vastly improved API.
It’s a great project, and something that Belkin should seriously consider for their next revision of the WeMo. For anyone stuck with a stock WeMo, [John] has made all his design files and code available, allowing anyone to replicate this build
You can check out [John]’s Hackaday Prize entry video below.
Of special interest in the new 2Ku system is the antennas strapped to the top of a GoGo-equipped plane’s fuselage. These antennas form a mechanically-phased-array that are more efficient than previous antennas and can provide more bandwidth for frequent fliers demanding better and faster Internet.
Currently, GoGo in-flight wireless uses terrestrial radio to bring the Internet up to 35,000 feet. Anyone who has flown recently will tell you this is okay, but you won’t be binging on Nexflix for your next cross country flight. The new system promises speeds up to 70Mbps, more than enough for a cabin full of passengers to be pacified by electronic toys. The 2Ku band does this with a satellite connection – much faster, but it does have a few drawbacks.
Because the 2Ku system provides Internet over a satellite connection, ping times will significantly increase. The satellites GoGo is using orbit at 22,000 miles above Earth, or about 0.1 light seconds away from the plane. Double that, and your ping times will increase by at least 200ms compared to a terrestrial radio connection.
While this is just fine for email and streaming, it does highlight the weaknesses and strengths of mobile Internet.
The hobbyist electronics market is still tiny, and even though random companies are coming out with some very interesting hardware, these parts and components aren’t exactly meant for us. The ESP8266 WiFi module is a slight deviation from this trend, with hundreds of different ESP dev boards floating around, and weirdos buying them by the bag.
[4ndreas] found an RGB LED strip on Ali Express that could be controlled by WiFi. Inside, he found everyone’s favorite WiFi module, and by shorting two pins, he started up the controller in bootloader mode.
Because of the massive amount of open source development surrounding the ESP8266, there are a host of tools that can be used to program this cheap LED controller. [4ndreas] took a swing at writing his own firmware for the controller and came up with this project.
It’s not a killer project, but it does demonstrate the power of open source toolchains for cheap WiFi modules. This is only the first product found with an ESP8266 inside, but there are undoubtedly others out there just waiting to be taken apart and controlled in more advanced ways.
The proliferation of DIY 3D printers has been helped in large measure by the awesome open-source RepRap project. A major part of this project is the RAMPS board – a single control board / shield to which all of the other parts of the printer can be easily hooked up. A USB connection to a computer is the usual link of choice, unless the RAMPS board has the SD-Card option to allow the 3D printer to operate untethered. [Chetan Patil] from CreatorBot built a breakout board to help attach either the ESP8266 WiFi or the HC-05 Bluetooth module to the Aux-1 header on the RAMPS board. This lets him stream G-code to the printer and allow remote control and monitoring.
While the cheap ESP8266 modules are the current flavor of the season with Hackers, getting them to work can be quite a hair tearing exercise. So [Chetan] did some hacking to figure out the tool chain for developing on the ESP module and found that LUA API from NodeMcu would be a good start. The breakout board is nothing more than a few headers for the ESP8266, the HC-05 and the Aux-1 connections, with a few resistors, a switch to set boot loader mode and a 3.3V regulator. If you’re new to the ESP8266, use this quick, handy, guide by [Peter Jennings] to get started with the NodeMCU and Lualoader. [Chetan]’s code for flashing on the ESP8266, along with the Eagle board design files are available via his Github repo. Just flash the code to the ESP8266 and you’re ready to go.
One gotcha to be aware of is to plug in the ESP module after the printer has booted up. Otherwise the initial communication from the ESP module causes the printer to lock up. We are sure this is something that can be taken care of with an improved breakout board design. Maybe use a digital signal from the Arduino Mega on the RAMPS board to keep the ESP module disabled for a while during start up, perhaps? The video after the break gives a short overview of the hack.
Yesterday Google announced preorders for a new device called OnHub. Their marketing, and most of the coverage I’ve seen so far, touts OnHub as a better WiFi router than you are used to including improved signal, ease of setup, and a better system to get your friends onto your AP (using the ultrasonic communication technique we’ve also seen on the Amazon Dash buttons). Why would Google care about this? I don’t think they do, at least not enough to develop and manufacture a $199.99 cylindrical monolith. Nope, this is all about the Internet of Things, as much as it pains me to use the term.
OnHub boasts an array of “smart antennas” connected to its various radios. It has the 2.4 and 5 Gigahertz WiFi bands in all the flavors you would expect. The specs also show an AUX Wireless for 802.11 whose purpose is not entirely clear to me but may be the network congestion sensing built into the system (leave a comment if you think otherwise). Rounding out the communications array is support for ZigBee and Bluetooth 4.0.
I have long looked at Google’s acquisition of Nest and assumed that at some point Nest would become the Router for your Internet of Things, collecting data from your exercise equipment and bathroom scale which would then be sold to your health insurance provider so they may adjust your rates. I know, that’s a juicy piece of Orwellian hyperbole but it gets the point across rather quickly. The OnHub is a much more eloquent attempt at the same thing. Some people were turned off by the Nest because it “watches” you to learn your heating preferences. The same issue has arisen with the Amazon Echo which is “always listening”.
Google has foregone those built-in futuristic features and chosen a device to which almost everyone has already grown accustom: the WiFi router. They promise better WiFi and I’m sure it will deliver. What’s the average age of a home WiFi AP at this point anyway? Any new hardware would be an improvement. Oh, and when you start buying those smart bulbs, fridges, bathroom scales, egg trays, and whatever else it’ll work for them as well.
As far as hacking and home automation, it’s hard to beat the voice-activated commands we’ve seen with Echo lately, like forcing it to control Nest or operate your Roku. Who wants to bet that we’ll see a Google-Now based IoT standalone device quickly following the shipment of OnHub?
Back in the 1990’s moving files via a floppy disk was known as “sneaker net.” While floppies are a thing of the past, SD Cards are the modern equivalent and they still lend themselves to sneaker net operations.
But why? WiFi is everywhere now. Wouldn’t it be great if you could hack those devices with SD slots to use WiFi? Apparently 3D printer [extrud3d] thought the same thing and found a way to reconfigure a Toshiba FlashAir card to put his 3D printer on the network.
The card is aimed at consumers, so by default it creates a hotspot and waits for a connection, a rudimentary web app allows you to move files back and forth over the network to the SD card which is then read by the host device. However, [extrud3d] shows how to modify a file on the SD card’s file system to allow the device to hook up to an existing wireless network and also provides a Python script to make the file transfer easier.