Strangers in my Office

For the last few days, strangers have been coming into my office and turning the lights on and off.

On Tuesday, I launched a Light Control Application that allows complete and total strangers to control a roll of LEDs on my desk. The app has an embedded Twitch stream so that you can watch the antics in real-time (for now).

In this post, I won’t be going into the technical details of the application- instead, I’m going to talk about how I read signals from my audience to determine my product roadmap.

Read More

Using X.509 Certificates with ESP8266s

If you’re looking to add the cloud to your IoT projects, one of the most powerful products available is AWS IoT Core. It’s a collection of IoT-related services and features rolled into one package, allowing data from edge devices to flow into the rest of AWS. Once the data has reached AWS, there are a lot of things you can do- from simple operations such as logging, storage, and event triggering to more advanced actions like machine learning and anomaly detection.

Let’s not get ahead of ourselves though- first, the device has to connect to the service! AWS IoT Core requires authentication via X.509 certificates. While loading them onto a Raspberry Pi is fairly straightforward using the AWS IoT SDK, it is a little more involved for ESPs (both 32s and 8266s). In this post, I’ll walk through my current methodology for loading these certs onto an ESP8266 so you can start integrating your IoT projects with AWS IoT Core.

Read More

Building a Battery-operated ESP8266 Sensor Module

This last week I’ve building a bunch of sensor modules to compliment my new local MQTT broker -> AWS IoT setup. One limiting factor for my rollout was powering all of these devices- it isn’t exactly sustainable to run all of these off of microUSB plugged into the wall. I specifically wired up a waterproof temperature sensor so that I could monitor the lake temperature, before realizing that I had no good way to run it without punching a hole in the side of our house or leaving a window open.

That’s a no go.

Enter the world of batteries: small bricks of chemicals that you can zap power into and pull it back out later. I’m honestly terrified of them, but I think it’s healthy to treat them with respect- if you aren’t careful, you can get hurt.

In this walkthrough, I’ll go over how to wire up a battery/charging solution for your ESP8266 projects, as well as a simple method to reduce your project’s power consumption so you don’t have to charge up every few hours.

Read More

Building a Soil Humidity Monitor on Arduino

Hey everyone!

I recently attended the GeekWire Cloud Summit in Seattle, and listened to a great fireside chat with Kevin Scott, the CTO of Microsoft. Although he covered a wide range of subjects, he touched on how some Azure customers are using IoT to add value to the agriculture industry. That was all it took for me to start shopping around for some parts to see if I could spin up a proof of concept.

This project isn’t finished yet, but I have reached the first milestone- get soil humidity of plants. I’ll follow up with another post as I build out the notification system.

The Problem

I’m not the green thumb of the house- that’s Lindsey’s specialty. I do, however, enjoy having lots of greenery around my desk. I often neglect my plants (poor babies) and although I haven’t killed any yet, they get pretty sad when they’re not watered.

The Solution

I’d like to be notified when the plants are drying out. I can use a simple sensor (hygrometer) to detect soil humidity, and use that data to establish some thresholds around alerting.

Read More

Triple Axis Accelerometer Visualization

I’ve got an update to the Connected Boat project!

I picked up an ADXL Triple-axis accelerometer a while back with the intention of integrating pitch and roll data into Mariah, my connected boat platform. I got it all hooked up so that it was reporting numbers towards the end of last season, but I wanted to add some sort of real-time visualization to the UI. What I’ve got now isn’t anything that will make it into the final project, but I thought it was a pretty cool use of the data and CSS 3D transforms.

There’s a lot of cool stuff going on here, so let’s start off with what the end result looks like:

Accelerometer Visualization

Read More

Building a Smart Boat

Last year, we bought a boat. She’s old, and she’s slow, but she floats and sails and that’s pretty cool. There’s not much to ole Mariah, but the guy that sold her to us included a solar panel to charge cell phones and power a small lamp, and that idea of owning something and making it your own to solve a problem put a little tickle in the back of my head. I knew that I wanted to make this boat my own, but I wasn’t sure how.

I think most people would take an old boat and gut the interior, give her some fresh varnish, or do some other cosmetic project. Mariah needs all of that, but I wanted to do something that I hadn’t seen anyone else do before. I was going to give her a brain.

Read More

Control a Raspberry Pi with Node.js

In the last few years, I’ve ended up with a Raspberry Pi, Arduino, and a handful of LEDs and other gizmos that have been sitting in a box under my desk. All of the new AWS IoT announcements piqued my curiosity again, and I finally found the time to sit down and play with my toys. I wanted to put my web dev knowledge to work, so I figured I’d learn to control the Raspberry Pi with Node.js.

Read More