Doorbell Butler

Smart doorbell with notifications and a custom jingle played on Google devices throughout the house

6 minute read

6 min read

My house didn't have a doorbell when I moved in so I made my own! Instead of the traditional “ding dong” it plays a jingle written by my friend Nick Dahlquist throughout my house on Google Home devices.

The doorbell button is attached to an ESP32 which is connected to my WiFi. I also setup a few Docker containers on a Raspberry Pi to help with the automation.

Electronics Box

Laser cut acrylic sewing box used for storing hobby electronics

1 minute read

1 min read

Sure, it looks and acts like a sewing box but it's actually a portable electronics laboratory!

I don't have a permanent workspace at home so I find myself working at my dining room table and packing up my in progress projects often.

Kneading Table

Commissioned by a bread maker with limited counter space

2 minute read

2 min read

My friend asked me to help her make a bread shaping table because the small kitchen from which she runs Revelry Bread didn't have counter space at a good height for kneading.

She had an great 74” x 24” hardwood IKEA table top and just needed a study frame so I built one out of some premium pine.

Curtains Controller

Automated curtains controlled through sunrise/sunset triggers and voice commands

2 minute read

2 min read

Every morning and evening I found myself opening and closing the curtains in the front of my house. This sort of manual repetition just won't fly!

I automated the curtains with a Raspberry Pi Zero W, a couple of stepper motors, and some timing belt. I setup Home Assistant to publish commands over MQTT and persist the curtains’ state.

This Website

Hugo theme used to share the projects you're looking at right now

1 minute read

1 min read

I built the website that you're looking at right now! It's generated by a static site framework called Hugo. The theme I wrote is called Past Imperfect and its design is loosely based on HTML5 UP's Future Imperfect. I chose to use Hugo because it's fast, simple, and flexible.

Laser Cut Catan

Settlers of Catan laser cut and engraved in hardwood

1 minute read

1 min read

I wanted to begin my laser cutting journey by making a copy of this classic board game.

The design is pieced together from a version Glowforge released and a few other derivatives on Thingiverse. So far I've made wheat (birch), brick (cherry), ore (walnut), wood (oak), and sheep (birch) hexes!

A Smarter Remote

Universal infrared remote controlled through voice commands

5 minute read

5 min read

I replaced all of the remotes in my house with a microcontroller and an infrared LED.

Controlling it through Google Home is helpful when you can't find the standard remote or it's too far away!

Ship in a Bottle

Morse code blinking ship in a bottle that receives messages from the internet

4 minute read

4 min read

A few years ago my grandpa showed me a book that he had handwritten called How to Bottle It. In the book he describes the process of making a ship in a bottle.

I followed his instructions and added a technological twist of my own by augmenting it with IoT connectivity!

Network Monitor

LAN security script scans for connected devices

3 minute read

3 min read

After getting a QNAP NAS, I installed a network monitor agent just to give it a try. But after my trial expired I wasn't ready to pay for it. Domotz is a cool product but I knew I could write something that accomplished the same goal.

My Python script scans for hosts periodically using Nmap, notifies me when a new device has connected, and saves MAC address, vendor, IP address, and connection timestamps to a database on my NAS.

Camel Calculator

Algorithmic probability solver for the board game Camel Up

7 minute read

7 min read

Camel Up is a board game that boils down to pure probability but at the beginning of each leg of the race there are 29,160 possible outcomes!

Let's ruin the fun and solve it by brute forcing the permutations.

Joke Twitter

Short-lived twitter account dedicated to puns

1 minute read

1 min read

I really like jokes. In an effort to spur creativity, I tweeted a joke every day for a few months!

Most of them were not great but there were a few that I'm proud of.

Dining Room Table

Hardwood table built out of cherry with walnut inlays

3 minute read

3 min read

This was one of the first large woodworking projects I did and I really love how it turned out!

I made this table with my dad when I was in college. The process took a long time since we could usually only find one Saturday per month to work on it together.

Coffee Time

Wi-Fi controlled coffee pot that turns on with your alarm

1 minute read

1 min read

Waking up is difficult; coffee makes it easier.

I automated this part of my morning routine using a Wi-Fi connected microcontroller.

Text to Translate

Translation service over SMS

2 minute read

2 min read

Smart phones are ubiquitous today but not so long ago a connection to the internet was beyond the average phone's capabilities. This translation application works over one of the most primitive cell phone features: SMS messaging.

I built it using Twilio and Google App Engine.