Making An Alexa Raspberry Pi

Last week, I ordered all of the bits and pieces I needed to get a Raspberry Pi configured to become an Alexa device.  It was incredibly easy, the tutorial was very straightforward, and I ended up with something that can do this:

What You Need

If you want to try this, here’s what you’ll need (links and prices from Amazon):

Optionally, you might want to protect your Raspberry Pi if you plan to take it anywhere.  They make a very nice, inexpensive case for it:

Finally, there are a few things you’ll need to get it running, but these are things I assume you probably have.  If you don’t, I’ve recommended some with the links.

  • USB keyboard & mouse (Logitech MK270 Wireless USB keyboard and mouse – $19.95)

    I like this one because it’s small, compact, and easy to travel with.  Most travel keyboards are garbage, so I tend to lean towards smaller, full-function keyboards instead.  (My primary keyboard is a Das Keyboard, much bigger and clickier.)

  • HDMI monitor (there are way too many options here, any monitor will do. I’m hunting for a tiny one I can travel with.  Like 5″ or smaller.  But in a secure case, since it will likely see the bottom of my backpack occasionally.)
  • Micro-USB Charging Cable (you literally have 100 of these in a drawer. Any of them.)
  • 3.5mm audio cable
  • Literally ANY speaker that can take a 3.5mm audio cable as input (I used the Nokia MD-12 for mine, but you can certainly find cheaper speakers if you need one.)


The How-To

I would normally give you a run-down of the steps I took, and the issues I faced, but there simply isn’t much point in that.  I followed the provided tutorial on GitHub, and it was one of the smoothest experiences I’ve ever had setting something like this up.

My Takeaways

I’m working on a few things to enhance the experience, but here’s my takeaways:

  1. If you ONLY want an Alexa device, this is probably not the project for you.  The Echo Dot is $49.99, and doesn’t require any setup to work.  This project, at a minimum cost, is about $53.15.  That being said, having an Alexa device that can also run some other services is really compelling.  Adding a touchscreen to it would allow you to see the “cards” that Alexa skills produce at, for example.
  2. Each time you power up the Raspberry Pi, you have to manually start all of the services again.  I’m hoping that with some creative effort, this might not always be true, but there’s some authentication that happens that requires your monitor, mouse, and keyboard every time you power it up.  (This is why I’m looking for travel keyboards and monitors.)
  3. This was one of my first experiences in the Raspberry Pi ecosystem, and I’m very excited by what I found.  There are tons of accessories to enhance and protect your device, and I’m looking forward to seeing where I can take this project forward.




My Frustrations with “Smart Home”

That’s not a fair title.  I LOVE the smart home movement.  I love being able to open/close my garage remotely.  I love having rooms light up as I walk into them.  I love concocting recipes on IFTTT to mash-up my smart devices into even smarter experiences.  I love telling Alexa to control my home with only my voice.

“If it is 10:30pm, and the garage door is open, close it.”

What I don’t love, however, is that much of the experience and joy that is meant to be created by smart devices seems to have been created exclusively for one person that lives by themselves.  Let me give you a few examples:

Smart Bulbs

Smart lightbulbs can be controlled by my phone.  They can change colors, be turned on and off, and even dance to my music.  Amazing, right?  Where this story falls apart quickly, however, is the traditional light switch.

If I turn the bulb off from my phone, the light switch becomes non-functional.

If I turn the bulb off with the switch, I lose all of the “smart” features.

If I am a single person living by myself, I can consciously make a decision to only control the bulbs from my phone, and everything is harmonious.  Once you introduce roommates, like a spouse, or even worse, children, this entire experiment falls apart.  The consistency that you require evaporates instantly.

Smart Plugs



This is another example of power management that has so much potential.  Plug this into the wall, and now you can control a lamp, a stereo, or really anything else that requires power.  You can even set timers, so it’s an incredible way to manage those random lamps you have around your home!

That is, until someone turns that lamp off in the traditional way.


Now your smart plug is a $40 brick that can control nothing.  It’s incredibly frustrating, and most of the frustration comes from the fact that our homes are not constructed with the idea of a smart home in mind.



Geofencing might be one of the coolest ideas around when it comes to smart home functionality.

“When I pull into my driveway, open the garage, turn on the lights, set the thermostat to 71F, and turn on my favorite music.”

“When I am gone for more than 18 hours, set the entire house to away.  Light bulbs on timers, thermostat as low energy as possible, all doors closed and locked.”

If I lived by myself, This. Would. Be. Awesome.  Instead, it becomes an incredible way to scare my entire family to death as I dramatically announce my home arrival.  There HAS to be a better way.


In short, I love smart home stuff.  But as a software developer, my brain wants more.  Today, in our homes, we basically get the equivalent of a solitary IF statement.

IF I pull in the driveway, THEN do this stuff.

In order for this smart home stuff to be truly impressive (and accessible) to everyone, we need to be able to add as many conditions as we possibly can.

IF I pull in the driveway AND my family is home, THEN open the garage.
ELSEIF my family isn’t home, THEN open the garage AND turn the house up to eleven.

Smart home is still really in its infancy for consumers.  If we want to make it more accessible, we need to be able to provide this level of customization in an easy to use format.  IFTTT and Stringify have made huge strides here, but we still have a long way to go.

I, for one, look forward to the very near future.  This stuff is amazing, even if it’s also frustrating sometimes.

Blitzball Strike Zone

A couple of years ago, I played a few rounds of whiffleball with my friends Ryan and Travis Lowdermilk.  Travis went so far as to build a strike zone out of PVC and sheet metal, and it was an amazing amount of fun.

Since that time, I’ve seen all sorts of awesome things about the Blitzball, including the guys over at Dude Perfect.

This past weekend, I decided I needed to make one for myself.  This is the final product:


The rest of this post is about how I built it, so if that sort of thing isn’t for you, here’s something fun to watch instead.

The Supplies

It’s a pretty affordable setup, made entirely of PVC, sheet metal, and zip ties.

Total cost?  $41.45 with 7.5% sales tax.

The Frame

I knew that I didn’t want to have to cut the sheet metal.  I’d do a poor job, and it was pretty close to the standard strike zone size, give or take an inch or two.  This meant that I needed to make a PVC frame that would hold a 24″ x 36″ piece of metal, with a little space to give.  I ended up setting my dimensions of the inside of the frame to be an inch larger in both directions, 25″ x 37″.

This meant cutting out these pieces:

  • 2 x 37″ (sides)
  • 1 x 25″ (top)
  • 2 x 4.25″ (bottom)
  • 1 x 12″ (bottom)

Because we’re using the Tee joints to connect to the base, I had to break the bottom up into three separate pieces, that’s why you see those cuts in the list.  The entire frame should be able to come from ONE of the 10′ PVC pipes.


When it’s assembled, it looks like this:


The Base

I know, I know, you’re all about that base.  I saw some photos of a strike zone that another person had built, and it had angled legs that reminded me of how a catcher sits behind the plate.  I decided to emulate that look, because it looks cooler.

The cuts you need for the base are here:

  • 1 x 23″ (front)
  • 2 x 16″ (sides)
  • 2 x 12″ (legs)
  • 2 x 7″ (connect to frame)


When you assemble the base, it should look like this, where the legs tilt in towards the center a bit:



I would generally recommend using some PVC primer and cement at this point.  It will make your strike zone virtually indestructible.  That being said, I simply used a rubber mallet to make sure all of my pieces were completely connected, and that seemed to make it strong enough.

Put Them Together!

Once you’ve gotten the two sections cut and assembled, put them together!  Your strike zone should resemble the one below.  (See how much cooler the angled legs look?)


Paint It!

At this point, you could say you’re done with the frame, but I highly recommend painting it.  Pick your favorite team colors, or just go with black.  Either way, a coat of paint will do wonders.


Prepping the Sheet Metal

I also painted my sheet metal, but you certainly don’t have to.  The galvanized steel finish looks good on its own, but some color really makes it look finished.  Unfortunately, I didn’t take any pictures of my sheet metal when I was painting it, but you can see what it looked like from the first photo at the top of this post.

Drill Your Holes

I’ve seen some folks that just hammer a nail through their sheet metal to make the holes for the zip ties, but I think that would result in some bends to the metal that I wanted to avoid.  I just used a simple drill bit that was slightly larger in diameter than the zip ties.

On the top and bottom (24″ edges), I punched holes at 3″, 12″, and 21″ across.  Especially on the bottom, these measurements are important, because you don’t want your drill holes to be over the Tees that connect to the base.

On the sides (36″ edges), I drilled holes at 6″, 12″, 18″ 24″, and 30″.  You can space these out however you’d like, but make sure they’re evenly spaced on both sides, or your sheet metal might hang slightly crooked.

Attach the Sheet Metal

Run the zip ties through each of the holes, and tighten.  I don’t recommend over-tightening them, because your PVC will just pull towards the center.  Hand-tightening should be plenty.


Take Advantage of the Power of Magnets

You’ve got a magnetic surface, so why not add some flair?  I had a large Cleveland Indians logo hanging on a refrigerator in my basement that added the perfect finishing element to my PVC strike zone.  You can get one for just about any team on Amazon.

So, that’s it!  Time to get some pitching practice in!  Let me know if you build one…I’d love to see it!


Echo and Alexa

If you’ve talked to me in the past year, or visited my home, I’m certain I’ve mentioned the Amazon Echo.  I’ve been playing with it a ton lately, so I thought I’d write some of my thoughts for all of you to read.


Amazon Echo is am amazing little device that sits on your kitchen counter or desk.

You talk to it.


Alexa is the voice that speaks to you and listens to your commands.  It does all the basic stuff incredibly well:

  • “Alexa, what’s the weather like today?”
  • “Alexa, what time is it?”
  • “Alexa, how many cups are in a gallon?”
  • “Alexa, what’s the current price of AMZN stock?”
  • “Alexa, order me some AA batteries.”
  • “Alexa, play some classic rock.”
  • “Alexa, set a timer for 9 minutes.”

What you may not know, however, is that you can also add additional skills to Alexa.  There’s a growing collection of skills being created by developers, much like app stores of the mobile phone world. There any many cool skills you can add, but the home automation ones have had the biggest impact in my household:

  • “Alexa, how much gas do I have in my tank?”  (via Automatic)
  • “Alexa, trigger the garage.”  (opens or closes my garage, via WeMo Maker)
  • “Alexa, trigger the office lights.” (flips the lights in my office, via WeMo Switch.)
  • “Alexa, order a pizza from Domino’s” (places my standard order with Domino’s.)
  • “Alexa, ask FitBit how I’m doing today.” (tells me my step count via FitBit.)
  • “Alexa, ask Capital One how much money I have.” (via Capital One)

I’ve even built my own simple skill, a game of Would You Rather.  It poses a situation for you, and it’s up to you and your friends to answer it.  Like I said, pretty simple, but a good way to include Alexa in your next game night.

I’m going to write another post next week with a simple tutorial on how to build an Alexa skill.  It’s surprisingly easy.

Making Changes

About a year ago, I took a chance on my career.  I left the stable, secure world of Microsoft to join and help found a startup.  I don’t regret this decision at all.  But I failed.

I failed because I didn’t make my expectations known.

I failed because I didn’t figure out what was expected of me.

I failed because I was scared to stand up for myself.

I failed because I didn’t communicate effectively.

I’ve always prided myself on being an excellent communicator, but it showed me that I’d made a mistake.  I took the job for the money, for the prestige, and for the wrong reasons.  I chased promises rather than reality.  From Day #1 I was counting the days to our acquisition.  This is absolutely the wrong approach, and I wouldn’t know this if I hadn’t taken that chance.

So I’ve decided to start making some changes in my life.

First, I am going to exercise every single day.  Between work and travel, I wasn’t taking any time for myself, and my energy levels reflect that.  I need to be healthier at 40 than I was at 30.

Second, I need to find “the right job.”  I’ve had a few of these in my career, where I can’t wait to get started every morning, and don’t want it to end every night.  I’ve started a pretty extensive job search, but it’s a slow, slow process.

Third, I need to get back to focusing on my family.  The weekly travel to startupland didn’t do any lasting damage to my relationship with my family, but I owe it to them to give them everything I have.  None of this other stuff matters if I can’t spend my time with my wife and children.

Finally, I need to find a hobby.  I’ve been scattered across a number of “interests,” but I’ve never really landed on one that really consumes my time.  I love golf, but it’s time consuming and expensive.  I like playing with Lego Robotics, but mostly with my kids.  I love writing, but I never seem to find the time to do it (as evidenced by the infrequency of my posts.)  The one I keep coming back to, however, is writing.  I’ve been sitting on the first 20 pages of a sci-fi novel for a couple of years now, and I think it’s time to dust it off and bring it to life.  Keep an eye out for something from me later this year, I hope.

I don’t like failing.  I don’t like accepting that a decision I made was a bad one.  But it was, and I did.  Here’s to making the next decision a good one, and making several aspects of my life better than they’ve ever been.

Leaving the Nest

For the first 9 years of my career, I was a software developer.  It hadn’t even occurred to me to be anything else.  Then, one day, I met a guy named Drew Robbins, who said he was an evangelist for Microsoft.  He introduced me to Josh Holmes, one of the best speakers I have ever met.  The way they described it, they spent most of their time learning the bleeding edge of software, and the rest of their time teaching people how to use it.  On that day, I asked Drew when he’d be looking for a different job, because that was exactly the kind of thing I wanted to do.  He eventually did, and I was fortunate enough to get the opportunity to replace him in the summer of 2007, thanks to a very unexpected decision by Sam Henry.

I can honestly say that I will never be as excited to start another job as I was to start this one.

For six amazing years, I got to spend my time traveling through what Microsoft calls the “Heartland District”, and I got to know these states well.  I’m not sure why I decided to do it, but I have kept every single plastic hotel key I’ve ever had since I started this job.  There’s 163 of them in this photo.


I met people from every type of company, writing every type of software, with every type of concern about Microsoft and every one of our development technologies.  And I loved it.  I helped start conferences (like Stir Trek), and encouraged others to do the same.  I spoke anywhere someone would listen.  I did all of it because I loved it, and Microsoft empowered me to share my passion.

I had the pleasure of working closely with Jennifer Marsman and Brian Prince for years.  I made lifelong friends in Clark Sell, Sarah Dutkiewicz, Mike Eaton, Matt Davis, Andrew Maxey, Rick Kierner, Matt Casto, Brian Jackett, Ryan & Travis Lowdermilk, and literally dozens of others.  Practically my entire social circle is a result of my work as an evangelist.  I am so thankful to have met all of these people, and all of you reading this.

My passion for software and evangelism led me to write over 500 articles, a book, and dozens of apps. That passion took me to a new role two years ago at Microsoft.  I got to share my passion with four high-profile software companies in the healthcare industry.  We talked about Windows and Azure at length, and I got to help them make some significant architectural decisions about their products.  It was still evangelism, but for a highly focused set of individuals.

It is that same passion that has me writing this today.  I have decided to leave Microsoft after 8 years of amazing.  8 years of learning.  8 years of loving what I do, with the freedom to do it.

I will miss every single thing about evangelism here at Microsoft.  Sincerely.  The people are amazing.  The mission is worth fighting for.  I can only hope that my path will cross with yours again time after time.  Thank you all for teaching me so much.

Jeff Blankenburg

On May 18th, I’m starting a new adventure.  I’m joining a startup as their Director of Product Management.  We’re going to try to change how the world thinks about software and healthcare together.  As we get close to a release, I’ll have plenty more to share about this endeavor.

#12: My Favorite Talk of the Year

For the past seven years, I have had the good fortune of being invited to speak at the Kalamazoo X Conference.  If you’re not familiar with this conference, you’re not alone.  It’s one of those hidden gems.  Once you’ve gone once, you’re angry you didn’t hear about it sooner.

In short, KalX is a conference for software developers that has nothing to do with software development.  It’s a focus on the other part of your career.  Work-life balance, mentoring, passion, enthusiasm, excuses, you name it.  Anyone, in any industry, would have tons to gain from these presentations.

As a speaker, this is my Superbowl of speaking opportunities.  It has been said that “every talk at Kalamazoo X would have been the best talk at any other conference.”  And it’s true.  I am humbled and flattered to be asked back each year, and am astounded by the raw human emotion that each speaker brings to the conference.

Two years ago, the organizers of Kalamazoo X recorded all of the sessions, and you can find them at the link below.  The best way I’ve heard these described is as “a braver, more profane version of TED talks.”

This year, they opted to not record the sessions, but I did set up my tablet to record my presentation before the battery died.  My talk was titled “Be A Beginner,” and it focused on the benefits of being a beginner in a situation, and how, as experts, we should recognize and encourage the beginners on our team.  There is a moment early in the presentation where the projector fails me, but we rally and get past it in a relatively quick time frame.  I’d love your feedback on the content.  Click the photo below to view it on YouTube.

Get the entire presentation as a PDF here…