Amazon Dash Button Pwn3d

If you haven’t heard about the Amazon dash button yet we’re glad you quit watching cat videos and have joined us. Just to get you up to speed: the Amazon dash button is a small wireless device that lets your lazy ass order more laundry soap by pushing the “dash button” which should be affixed to something near your washing machine. The pushing of the button will set in motion the gut wrenching process that we used to know as “buying things we ran out of” but thanks to Amazon we can now just cover our entire lives with an assortment of buttons that take zero credentials to physically push. We can’t see that being a problem whatsoever.

Needless to say we as a community set out to find an actual use for these fantastic little devices. [maximus64] has done quite a nice job at enabling this hardware in a most usable way. Most of the hacks we have seen for the dash button remove the physical push button and add a sensor of some kind. Replacing the button with a sensor still uses the WiFi connection to send data from the button to the cloud. Instead of the button ordering more <<product>> from Amazon, a sensor might trigger the dash to increment a counter on your website letting you know that your dog went through the doggy door +1 more times.

[maximus64] has the dash button working in the reverse manner by porting the Broadcom IoT WICED SDK to the button. He is using the dash button as a receiver and when [maximus64] sends the “all good” signal from his laptop to the dash button his garage door opens which you can see in the video after the break. We find this extremely more useful than the dash button’s original intended use. [maximus64] has instructions in the readme.md file of the github repo so that you too can hack your dash button in this way.

Continue reading “Amazon Dash Button Pwn3d”

First Raspberry Pi Zero Hack – Piggy-Back WiFi.

And we have the first Raspberry Pi Zero hack! In less than 72 hours from the official release announcement [Shintaro] attached an Edimax WiFi USB Adapter directly to the USB solder pads on the Pi Zero. He couldn’t bear to disturb the small dimensions of the Pi Zero by using the USB On-the-Go (OTG). The OTG is needed to convert the micro-USB connector on the board to a full USB-A connector.

The case was removed from the Edimax and the device and Zero wrapped in Kapton to insulate the exposed solder points. Power was taken from the PP1 and PP6 points on the back of the board. These are the unregulated inputs from the USB power so should be used with caution. Some cheap USB power supplies can put out more that 5 volts when first connected and that might let the smoke out of a device.

raspberry_pi_quarter

The data wires were connected to PP22 and PP23, also on the back, and behind the USB data connector. Since USB is a differential signal these wires were carefully kept of equal length to avoid distorting the signal.

An SD card was created and edited on a Raspberry Pi B 2 to set the WiFi credentials. Inserted into the Zero it booted fine and started up the WiFi network connection.

Congratulations, [Shintaro] for the first Hackaday Raspberry Pi Zero hack. Is that a Hack-a-Zero-Day hack?

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.

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!]

Hackaday Links: November 22, 2015

There’s a new documentary series on Al Jazeera called Rebel Geeks that looks at the people who make the stuff everyone uses. The latest 25-minute part of the series is with [Massimo], chief of the arduino.cc camp. Upcoming episodes include Twitter co-creator [Evan Henshaw-Plath] and people in the Madrid government who are trying to build a direct democracy for the city on the Internet.

Despite being a WiFi device, the ESP8266 is surprisingly great at being an Internet of Thing. The only problem is the range. No worries; you can use the ESP as a WiFi repeater that will get you about 0.5km further for each additional repeater node. Power is of course required, but you can stuff everything inside a cell phone charger.

I’ve said it before and I’ll say it again: the most common use for the Raspberry Pi is a vintage console emulator. Now there’s a Kickstarter for a dedicated tabletop Raspi emulation case that actually looks good.

Pogo pins are the go-to solution for putting firmware on hundreds of boards. These tiny spring-loaded pins give you a programming rig that’s easy to attach and detach without any soldering whatsoever. [Tom] needed to program a few dozen boards in a short amount of time, didn’t have any pogo pins, and didn’t want to solder a header to each board. The solution? Pull the pins out of a female header. It works in a pinch, but you probably want a better solution for a more permanent setup.

Half of building a PCB is getting parts and pinouts right. [Josef] is working on a tool to at least semi-automate the importing of pinout tables from datasheets into KiCad. This is a very, very hard problem, and if it’s half right half the time, that’s a tremendous accomplishment.

Last summer, [Voja] wrote something for the blog on building enclosures from FR4. Over on Hackaday.io he’s working on a project, and it’s time for that project to get an enclosure. The results are amazing and leave us wondering why we don’t see this technique more often.

Belkin WeMo Teardown

[Brian Dipert] over at EDN has a teardown of Belkin’s answer to the Internet of Things (IoT) craze: the WeMo. This little WiFi gadget plugs into an outlet and lets you turn a connected device on and off from a smart phone app or something like Amazon Echo.

As you might expect from a cheap piece of consumer hardware, there’s not a whole lot inside. The digital board contains a Ralink WiFi chip, an antenna etched on the PCB, and a handful of components, including an SDRAM and some flash memory.

Continue reading “Belkin WeMo Teardown”

RFM69 to MQTT Gateway on the Super-Cheap

[Martin] is working on a RFM69-to-MQTT bridge device. If you’re at all interested in DIY home automation, this is going to be worth following. Why? When your home automation network gets big enough, you’re going to have to think seriously about how the different parts talk to each other. There are a number of ways to handle this messaging problem, but MQTT is certainly a contender.

MQTT is a “lightweight” publish-subscribe framework that’s aimed at machine-to-machine data sharing, and runs on top of a normal TCP/IP network. IBM has been a mover behind MQTT since the beginning, and now Amazon is using it too.

But most MQTT servers need a TCP/IP network, which pretty much means WiFi, and this can be a killer for remote sensors that you’d like to run on battery power, or with limited processing power. For these use cases, a low-power, simple sub-gigahertz radio module is a better choice than WiFi. But then how to do you get your low-power radios to speak to your MQTT devices?

That’s the point of [Martin]’s MQTT bridge. Previously he had built a sub-gig radio add-on for a Raspberry Pi, and let the Pi handle the networking. But it looks like there’s enough processing power in a lowly ESP8266 to handle the MQTT side of things (over WiFi, naturally). Which means that you could now connect your 868 MHz radio devices to MQTT for less than the cost of two pumpkin spice, double-pump lattes.

On the firmware side, [Martin] has enlisted the help of [Felix], who developed the Arduino-plus-RFM69 project, the Moteino. [Felix] has apparently ported his RFM69 library to the ESP8266. We’re dying to see this working.

For now, we’ve got some suggestive screenshots which hint at some LAN-exposed configuration screens. We’re especially interested in the RFM + MQTT debug console window, which should really help in figuring out what’s gone wrong in a system that spans two radio protocols.

The bottom line of all of this? Super-cheap, power-efficient RFM69-based radio nodes can talk with your sophisticated MQTT network. Keep your eyes on this project.