Having the right tool for the job sure makes it easier.  So I’m happy to say we finally got our CNC machine working and made our first cut – a TINKURLAB sign cut out of 1/4″ plywood.  More details to come, but this should certainly help with fabrication for projects.

CNC First Cut


BBQ Lab (v1.3) – Dashboard

While BBQ Lab captures all sorts of good data – its equally important to make that data into useful information that can easily be used.  While BBQ Lab has always used Google Charts for visual graphs and trending, BBQ Lab v1.3 included quite a few new visualizations including the new “gauge” view that has a round gauge for each metric – smoker temperature, smoker humidity, food temperature, and smoke density.  Each gauge contains a min and max value and is color coded for ideal (green), ok (yellow), and bad (red) ranges, which allow for easy viewing.


BBQ Lab 1_3 Screenshot 1.fw


BBQ Lab v1.3 also includes “over time trends” to show trends in the metrics over time.  This can be useful to identify trends and take action.  Ex. smoke density is decreasing – add wood.

BBQ Lab 1_3 Screenshot 2.fw


The data can also be correlated together to provide meaningful information about “events”.  In this event, more wood was added to the smoker.  The act of opening the smoker to add wood decreased the temperature by allowing hot air our and cool air in.  The wood is also soaked in water to prolong its smoking; however, this initially reduces the smoke output until some of the water evaporates, which also temporarily increased the humidity.  Therefore,  this series of data could be correlated together programmatically to identify a “wood added” event.

BBQ Lab 1_3 Correlation Analysis New Wood.fw



BBQ Lab (v1.3) – Smoke Density

BBQ is about low, slow, and smoke. And while the temperature sensors in BBQ Lab have already take care of the low and slow part, none of the instrumentation really addresses the smoke part.  So the newest upgrade to BBQ Lab in v1.3 is the addition of a smoke sensor that measures the smoke in parts per million.  I’m not actually as concerned with the exact measurement of the smoke as I am within the ability to relatively measure it throughout the duration off a BBQ.

The sensor is relatively simple – a MQ-2 sensor that detects the presence of smoke in parts per million and outputs an analog voltage that corresponds to the measurement range of the sensor. A 0 voltage corresponds to the low range of the sensor and a 1023 voltage corresponds to the high range of the sensor. Everything else in between represents gradients between the ranges. I any case what matters to me is identifying a reading that corresponds what I consider “good smoke output” and displaying the measurements via the trending graphs and real time alerts so I can take action based on the information.
BBQ Lab Propane Sensor

MQ-2 Smoke Sensor

BBQ Lab Propane Sensor

Knob to Adjust Sensitivity

I also ordered a bunch of other gas sensors, including a MQ-6 sensor that detects the presence of propane gas, which I’m to use to detect when the smoker’s flame blows out – such as on windy days.  I’m also working on adding a automated propane control value that throttles the propane to achieve an ideal temperature – so the sensor can be used as part of a safety control system.
Hopefully I’ll be making a BBQed Brisket this week – so stay tuned for notes, pictures, and video.
Tagged , , , ,

Das Bot – Instrumented Beer

Oktoberfest is a big thing – BFD – in our household. We love beer, we love sausage, and we love hanging out with our friends. So what better way to celebrate those things then an annual Oktobesfest party. Our first “Fest” was held one week before my wife and I got married in 2008. It was informal and ad hoc – some bratwurst sausages, six packs of good beer, and friends sitting around a firepit on our side patio. Since those days, Fest has grown into a much bigger affair, complete with an Oktoberfest tent, photobooth, stump, homemade sausages, and homemade beer compliments of Matt and Matt – two of our friends who are also excellent beer brewers.

We first hosted the Matt’s beers at the second Fest, creating The Trasherator out of a large rubber trashcan fitted with 3x beer taps and ample space for ice and 3x 1/6 beer kegs. So what could make this situation any better you ask. Das Bot!  Das Bot is an Instrumented version of The Trasherator that measures how much beer is consumed by each guest and keeps a running total of consumption complete with a leader board of stats.
The scenario works like this:

  1. A new drinker pickups a small key chain RFID tag and swipes it over Das Bot’s tag reader. A led light blinks confirming the tag has been read.
  2. If its a new drinker, Das Bot prints a message using a thermal receipt printer welcomes the drinker, asking the drinker to register, and advising the drinker they will recieve one beer without registering. If its an existing drinker, Das Bot prints a message with the drinkers consumption total.
  3. Das Bot opens solenoid valve in the beer lines enabling the flow of beer. The drinker has up to 10 seconds of inactive beer flow to pour as much beer as they want. As the beer is being pored, Das Bot is keeping track of how many ounces have been poured using a flowmeter in the beer line.
  4. Once the drinker has stopped pouring beer, Das Bot prints a message with the drinkers new total consumption and a summary of the top three consumers.
  5. Das Bot also has a web interface tat can be accessed via desktop and mobile web browsers enabling drinkers to register, provide their nickname, and check the overall leader board and % of beer renaming in the keg.

Das Bot v1.0 was a big project so I enlisted the help of my friend Matt. Matt and I only started the project in earnest about a week and a half before Fest. We started with a envisioning session with a whiteboard, identifying the overall features and process flow, and discussing implementation plans and potential risks. We self assigned work based on our abilities and focusing on higher risk features first. While Matt worked on the enclosure, mounting, and wiring, I wrote code for each individual component – the RFID reader, the solenoid, the flowmeter, the Ethernet network interface and web service calls. After figuring out the electrical interfaces and code for each component, I started coding them together into the over process. Matt and I would periodically break to discuss progress, make additional implementation decisions, and help each other with impediments. We worked this way for a few nights, making steady progress. Matt also created the web service interface and web site. After some hasty testing Fest was upon us. As a final feature we added a kill switch that would bypass the system allowing beer to flow freely in the event of a malfunction. There’s noting worse for a beer dispensing robot then angry beer drinkers with no beer.

“There’s noting worse for a beer dispensing robot then angry beer drinkers with no beer…”

And so the day came – the day of Fest. With all the other preparations we were a bit rushed to setup Das Bot but successfully installed it on a single 1/6 keg. At first, all seemed well. But soon we found that Das Bot was only pouring for 10 seconds regardless of if there was flow or no flow. Translation – only 10 seconds of beer. Not enough to fill a 1L stein. Angry beer drinkers. They put up with it for a bit, but we eventually activated the kill switch to placate the drinkers.
A few weeks later Matt and I sat down to triage the bug. It turns out we missed a single line of code that activated a pull up resistor on the Arduino board that stabalized the reading from the flowmeter. Turns out the flowmeter wasn’t registering any flow they tripping the 10 second cut off and thereby angering the beer drinkers. One line of code. Sigh. But we fixed it! And did more extensive testing this time. Das Bot is patiently waiting for the next Fest – and maybe a few summer BBQs (for beta testing of course).


  • Arduino Uno
  • Arduino Ethernet Shield
  • Solenoid value
  • Flowmeter
  • RFID reader
  • Thermal receipt printer and paper
  • PHP code and Database and server running Apache and mySQL
  • Website
  • Misc supplies – wire, tools, etc

Das Bot v.Next Potential Features

  • Badges awarded for certain achievements
  • Adding support for additional beer lines
  • Improving packaging to allow for faster setup and teardown, especially for quick connections for beer inflow and outflow lines
  • Addition of breathalyzer to track each users progression over time
  • Itegration with the Photubooth that earns credits that can be redeemed for beer
  • Integration with Twitter


Tagged , ,

Visualization and RoadLogger

As I recently tweeted, “Information is no longer a scarce resource – attention is”.  While technology, the internet, and the web of things have made amazing things possible, they have also given rise to vast amounts of information that are accessible almost anywhere at anytime.  Given this overload of information and often trying to find better way to determine what information is relevant and to improve the effectiveness of consuming it, I’ve recently found myself intrigued by data visualization – taking lots of data, analyzing it , and presenting it in a visual way that conveys a different point of view then the data could alone.  As a photographer, the phase “a picture is worth a thousand words” comes to mind.  And so to learn a bit more about this area of tinkuring, a few months ago I started reading Visualize This: The FlowingData Guide to Design, Visualization, and Statistics in which Nathan Yah describes his approach to visualization, including tools, approach, design – quite an interesting mash up of disciplines.

Realizing the first step towards visualization if to have data to analyze, I created a Arduino project called RoadLogger to use on a roadtrip to New England last summer with Val.  RoadLogger (v1.0) logged the location, speed, altitude, direction, and driver of our car ever second, using a USB GPS antenna and a microSD card to data storage.  While I haven’t had time to post info about RoadLogger and finish analyzing the 32,000+ datapoints, I’ve been thinking about what might be interesting way to analyize the data and present it visually.  Here’s a quick list of thoughts:

  • How many miles did each driver drive?
  • What was our average speed per state?
  • Who was the faster driver?
  • What was the average time from 0 – 60 mph per driver?
Any other ideas?

Until I get around to doing some more work on this project, check out my first basic visualization “Am I A Foodie” at another one of my blogs Until It’s Done.


Tagged , , ,

Mugs of Glory – “Kanban”

There have been quite a few good overheard quotes over the past few months so I’ll be posting quite a few new mugs.



The “Kanban” mug is inspired by Stephen Forte’s presentation “Yes, We Kanban!” at Microsoft TechEd 2011.  As stated in the presentation description

“From the presentation’s description “Kanban is an agile methodology that is gaining a lot of traction. Kanban, or Japanese for signal card, is a process that focuses on transparency and limiting the work in progress.”

I agree Kanban is a great additional to agile methodologies, and this mug can help spread the word.  Cause everyone who sees its will certainly ask “What the heck is Kanban?”.  Get yours today.


Tagged , ,

Mugs of Glory – “They’re Accountable”

About a year ago, I started making mugs to immortalize the witty and otherwise worthy quotes of my friends, family, and acquaintances.  When someone says something the makes me laugh – they get “their mug”.

The “They’re Accountable” mug was inspired by two acquaintances who always joked that the other one was accountable and kept pointing fingers at each other.  Now you too can lay the blame on whoever is sitting to your left – a much more passively aggressively.  Makes a great gift.  Order yours today.



Tagged , ,

BBQ Lab – Instrumented BBQ

My wife – Val – and I love food.  We love to cook it, eat it, and share it with others.  And one of my favorite foods is BBQ.  So a few years ago, we purchased a small smoker to try our hand at making some BBQ.  So first, let’s talk about the BBQ rig.  We live in a smaller house and didn’t want to invest too much money into a smoker until we proved our dedication to the craft, so we purchased a Brinkman gas vertical water smoker.  A vertical water smoker basically looks like a freestanding locker, with a fire in the bottom, followed by a wood pan, followed by a water pan, followed by a few racks for the good stuff – pork butts, briskets, sausages, etc – , and finally the exhaust chimney.  I chose the gas model because I thought it would provide more precise control to maintain the temperature of the smoker.  And so it was for a few years that our little smoker produced some really good BBQ.  However, smokers take quite a bit of tending.  You need to make sure the fire it lit, there’s enough wood and its smoking, there’s enough water, the smoker is at the right temperature, and the food isn’t overcooking.  That translates into going outside every 15 – 30 minutes to check on the smoker, making a few adjustments, and repeating for 8 – 12 hours.  It’s an all day affair.

Enter the instrumented smoker – BBQ Lab v1.0.  My friend Matt turned me onto Arduinos a few years ago.  Since then I’ve tinkered with a few Arduino basics – blinking lights, using switches – but I didn’t really have a focused project.  And so it was that my first true Arduino project was instrumenting my smoker.

BBQ Lab v1.0 consisted had the following capabilities:

  • Measurement of smoker temperature
  • Measurement of food temperature
  • Measurement of humidity at exhaust chimney
  • Measurement of ambient outdoor temperature
  • Sending data to a web service every 10 seconds which is logged to a database
  • Display of data on a web page with an auto refresh every 10 seconds
BBQ Lab v1.0

Arduino board with Ethernet shield.

BBQ Lab v1.0

Breadboard with leads to Arduino and inputs from thermocouples and humidity sensor.

BBQ Lab v1.0

Thermocouple probes. The smooth one is for the food, the one with the bolt screws into the side of the smoker.

BBQ Lab v1.0

Web page displaying real time smoker temperature and humidity.


Since BBQ Lab is still undergoing improvements, I haven’t created a permanent mounting solution as of yet.  It currently resides in a Rubbermaid container which protects it from rain and snow.

BBQ Lab v1.0 made is debut in March 2011 tending a 6 lb pork shoulder.  I setup a small Netbook computer with the BBQ Lab status page and glanced at it every few minutes to check the status of the pork.  While I still had to go outside every once in a while to adjust the temperature or check the smoke, it certainly reduced the overall number of trips.  I also emailed a link to the BBQ Lab to Val and a few friends, which had the awesome effect of having a crowsourced BBQ.  As the temperature rose too high one of my friends IMed me.  Later, when the temp droped severly because of a flame blowout, another friend sent me a text.  It was a group cooking effort – it was awesome!

Since then BBQ Lab has gone through a few revisions and cooked more yummie BBQ – with the continued help of friends watching the instrumentation.

BBQ Lab v1.1

  • Added Google Charts to show temperature and humidity trends over time

BBQ Lab v1.2

  • Added smoker temperature and food temperature thresholds with send text message alerts when thresholds are exceeded

BBQ Lab v.Next Potential Features

  • Smoke sensor to determine smoke density
  • Solenoid valve to throttle propane flow depending on smoker temperature and smoke density
  • Gas sensor to detect flame blowouts and turn off propane flow via solenoid valve
  • Igniter to reignite flame
  • Posting updates to Twitter
  • Data analysis and visualization of past BBQs
Tagged , , , ,