Author Archives: alaskanshade

SainSmart Fukubukuro 2017 Unboxing

The mystery bags from SainSmart that I mentioned in my previous post arrived and we tried doing an unboxing video.  I never do this kind of thing and having the kids involved really made it unpredictable and awkward.  I wouldn’t blame anyone for skipping it and getting to the rest of the post.

The items for all three “bags” were all together in two packages, so there is no way to distinguish what was in each one.  Most things were in anti-static bags which made it difficult to show them on camera, so here is the details of what we found.

Included Items

Pure Morning Air Quality Monitor ($115.99)

IMG_20171215_210318.jpgThis device measures numerous aspects of air quality and I can’t claim to understand even half of it.  The page lists three different models and I haven’t yet figured out which one this is or what all the readings are.  I can say tell that low numbers are good and I am not surprised by the results where we live.

One thing that is curious is how it reacted running of a USB battery pack.  I used a battery so I could get a good picture away from outlets.  My battery pack has a button that doesn’t really turn it on and off, but it usually just seems to turn the level indicator lights on and off.  In this case when I hit the button, this device kept the screen on, but the values went a bit wild:


One of these days I will look into why this happens, but I don’t see it as an issue with the device.

Another thing that is curious about this item is that I am not sure why it was even in there since it was included in the hints on the premium bag and mine were all the advanced bag.  There aren’t any other items specific enough to say what happened.  Also, I have no idea what I would use it for so let me know if you have any ideas or would like it.  If I were to get something from the premium bag instead, I would have rather an oscilloscope.

ToolPAC PRO32 Smart Soldering Kit ($75 x2, $59)



This is one of the items I did hope to get since my portable soldering iron is pretty old and basic.  In this case, I got three of them (one older version with a single tip and two of the 2017 updated versions with two tips).  One of them will become my new portable setup, though I might need a different stand to fit this one.  I believe I know someone who will want one of them, so that just leaves one extra to figure out.

The temperature reading seems a bit squirrelly until it gets up to temp, but it is programmable, so maybe that can be fixed at some point.  It does get hot pretty quick though not as fast as my solder station.

3D LED Cube Kit in blue ($30)


I have wanted to build an LED cube for a while.  I probably would have build a smaller one from basic components at some point, but now I don’t have to.  This one plays music, but I am not likely to use that feature.  They also sell an acrylic case and a building template to help with construction.  I will probably 3D print a grid to help with building, but the case might be nice unless I come up with a way to build one myself.

A really cool one to build would be the AuraCube, but that is just a bit more expensive.

RGB LED Strip Kits ($27)

IMG_20171215_194551.jpgEach of these two kits comes with a 5 meter spool of waterproof LEDs, a power supply, a controller and a remote to change the colors.  These were not hinted so they were a complete surprise, but I know I can put these to use somewhere.

I have done a number of LED strip projects before, but I haven’t made the jump to RGB yet.  The one thing that has held me back has been picking out a controller that I like.  This will give me something to start with and I can figure out what I like and don’t like.

Android Mega 2560 R3 ($24)

This is one item that was hinted at that I didn’t really care was included.  Arduino boards are always useful for some project or another but it is hard to find a project that is worthy of this hardware.  I really like the idea of building a pinball machine, but I don’t know if I am ready for a project of that scope right now.

Touchscreen LCD for Raspberry Pi ($24)

Of all the items hinted at, the screens seemed like the most useful.  I would have liked the larger 8 inch screen, but I am sure I can come up with a use for a small touch capable version as well.  Now I just need to get some newer model Pis finally.

Replacement Shell for ToolPAC Soldering Iron ($14)

This one was also hinted at, but I hoped to get something more useful instead.  The only purpose I see here is to change the shell from black to blue.  Not only do I prefer the black, but I don’t think I care enough about the color that I would buy a different shell.

Non-Contact AC Voltage Detector ($14)

This tool will indicate if AC voltage is present without contact so there is no risk of causing a short or getting shocked.  I have very nearly bought one of these since I seem to come up with a use for it every couple months or so.

3D LED Christmas Tree Kits ($7 x2)


I just built two nicer versions of these (read about that here) so I am not sure what I will do with these yet.  I may use them as gifts for friends to use for soldering practice.

16×2 LCD screen for arduino ($7)

Pretty standard screen for arduino project.  I have several around, but not all of them have I2C backpacks attached.



Also in the box was a Raspberry Pi camera.  I mentioned it in the video, but I forgot at the time that I specifically ordered that and it was not part of the mystery bags.

One really strange thing was the oscilloscope probe that was included.  The only oscilloscope option was in the premium bag and I don’t see a way to get just the probe.  I think these ended up in there by accident.


Overall, the items I got total $505 in retail value.  Most of them will be useful or fun.

Piper Computer Kit – $239. Learn coding with Minecraft



2 packages from SainSmart have now arrived.  I am hoping to do an unboxing video soon.

3D LED Christmas Tree Build


Last year I ordered a couple of these 3D LED Christmas tree kits from SainSmart at the same time I ordered one of their Fukubukuro mystery bags.  There are a variety of LED Christmas trees around ranging from this cheap version on Amazon up to a limited edition one offered by Particle that is web connected.  Some of the really basic ones have standard single color LEDs which does not sound all that interesting.

This version has 37 “7 color” LEDs which individually fade between 7 colors: red, green, blue, yellow, something I will call teal, purple and white.  Each board has 18 LEDs divided into groups of six that are driven by 3 basic RC oscillators to make them blink.  The capacitor and resistor values for the oscillator are pretty flexible and will change the flash rate.  Higher values will increase the frequency, lower ones will decrease it.  Small variations in individual components will make each section blink differently and the oscillators on each panel are chained such that they will be out of phase with each other.


Similar schematic, but component values are different than what I got with my kit

I tracked down the instructions just to make sure I got the resistors in the right spots.  This took a minute because something seems to be a bit broken about the search functionality on the SainSmart learn site.  I won’t detail every step because it has already been covered over on Hackaday.  It is a slightly different revision, but the same basic process.


Components laid out: 39 LEDs (2 extra), 7 transistors (1 extra), 6 capacitors, 13 resistors (one value for current limiting and the other for the RC oscillator), power jack, switch and three circuit boards

The printing on the boards makes it pretty clear how to assemble besides which resistors go where.  Once I verified how to do the resistors, I worked my way through populating one board.  I recommend doing resistors first even though I forgot this at first.  If you put in taller components first, the resistors like to slide out of the board.  The LEDs have a flat section in the leads so there is no concern about leaving a consistent amount left to allow them to bend over.

With one board finished, I applied some power to the pads to ensure that everything worked.  It is much easier to make fixes before the two boards are assembled.


The LEDs all start on red bit quickly get out of sync from each other.  You can see on this board where I laid the one capacitor down to avoid conflict.

I did have one set of 6 LEDs on one board that didn’t work initially for some reason.  I checked for shorts and the resistor and capacitor for that section, but nothing jumped out.  I removed the transistor and tried applying voltage directly to that section, but it still wouldn’t light.  I decided to check each LED individually.  I removed one and it tested out fine.  I checked the remaining 5 again before continuing and they also worked.  I reinstalled the LED and everything now works.  I still don’t know what the problem is, but I am glad it is working.

The lower board is setup so you can power it with a mini USB plug or the included battery pack.  I set the battery packs aside for now since I expect I will have them near usb ports or on outlet for now.

When I went to put the upper boards together, I discovered a mistake.  I had gotten carried away and installed the top LED even though it spans across the slot where the other board needs to slide it.  It only took a minute to remove one side so I could put them together and then resolder.  I also found one other minor problem–a couple of the capacitors would like to occupy the same space.  I recommend leaving some room to bend them down flat even though the printing on the board might lead you to solder them close like I did initially.  I saw a picture of one board somewhere that is printed to indicate laying the capacitors down.  The transistors did brush past each other a bit, but it is not really an issue.


With the tree assembled and fully functional, it was time to put it in the acrylic case.  Peeling the protective films off of these sorts of pieces is always a test of patience.  Once that was finally complete, I set to mount the tree on the bottom section.  I found that the standoffs have to be put in so the nuts are on top of the circuit board and the screws are through the acrylic plate.  If they are the other way around it just won’t fit together.

Assembling the case is just what I expected after building similar cases before.  Each corner takes a bolt with a nut to hold it together.  The nut needs to be slid into the slot (carefully so it doesn’t fall in) and then tighten the bolt into it.  I do have two issues with the case.

First, the front and back panels are identical, but this puts the hole just a little too high and not wide enough for the supplied cord.  A different cable might almost fit but the hole should be at least a few millimeters lower, so I broke out the Dremel to fix it.  Using the battery pack would work just fine.  Secondly, the case is not quite large enough for the bottom lights to fit without being adjusted so they don’t stand straight out.  Everything still functions, but I would really like it if all the LEDs could line up perfectly.


If you look, there are no rear panels yet.  I had not yet modified them to fit the power cord.

Despite the small issues, I am happy with the results.  I brought one with me to work and left one at home.  Everyone loves the look of it and I have a coworker that ordered one of his own.  If you would like to get your own, you can get one from SainSmart.  They also have one now that is taller and plays music.

Fukubukuro: SainSmart

150-01_1024x1024Fukubukuro (lucky bag) is a tradition among Japanese merchants of offering grab bags with random mystery items sold at a deep discount.  Even stores as large as Apple will offer mystery bags and they can contain big items like laptops.  Traditionally these bags are sold around New Year’s, but are sometimes available before and around Christmas.

Here in the US, we don’t have as much access to deals like this and many times there isn’t much hope for items that are useful or valuable.  My theory is that if you really want a chance of getting something worthwhile, stick to a site that normally sells items of interest to you unless you are curious in some real randomness.  For some mild entertainment check out the Meh Kickstarter campaign where they offered Fukubukuro bags as rewards.  Then look up the forums where people post about the stuff they got.

When looking for parts or ideas for my projects I usually check out sites like Adafruit, SparkFun and SainSmart.  They each offer various Arduino compatible hardware and a variety of their own specialities.  For three years now, SainSmart has offered Fukubukuro bags in various price points for the last few years and I have enjoyed participating albeit at a smaller, low-risk level.

In 2015, I tried out the $60 bag and got the following items:

Item Approx. Value at the time
Uno $12
Uno R3  $16
Nano v3 Starter Kit $40
NFC kit $10
Raspberry Pi case (x2) $6
RTC (x2) $8

That is over $100 value based on the retail prices at the time and most of it is useful to me in some way (I like the idea of NFC, but I am still trying to find a really fun or useful application for NFC).

In 2016, I ordered a $40 bag and a couple 3D LED Christmas trees (I’ll write about that experience in a separate post).  I don’t know why I spent less that time after being so successful the first time.  I didn’t take notes like I did the first time so I am not certain of the value at the time and if this is everything, but here is what I know I got:Lucky Bag 2016

  • The big item in there was a laser measuring meter (similar to this one but in red.)
  • A scientific calculator
  • An Arduino Pro Mini, but it does not appear to have marks to indicate what frequency or voltage it operates at.

There might have been something else in there, but I have since forgotten.  The laser meter is quite handy (during those times I remember where I put it last.)  I have no idea what I will do with the scientific calculator.  The mini arduino will be useful at some point, although it has sat forgotten the past year in the box with the LED trees.

Last week, I got the notification that they were selling bags again this year.  They are offered in three different sizes (Basic for $60, Advanced for $110 and Premium for $170) and this time they even provided some hints about items that could come in them.

The basic bag looks good but I have versions of almost all the tools mentioned so I wouldn’t get as much value.  The premium bag has some really cool possible items, but they just don’t fit with what I have time for.  The advanced bag on the other hand has several things of interest to me:

196525785058a32fb7c1d89b0d4a67ca_1024x1024_57a6e8d8-2e18-4093-969a-ae7ea7df78ed_compact   1_1024x1024_a1b41bce-5494-4275-8d58-09c1c549a86e_compact   7_1024x1024_645a6999-6b31-4df9-9a13-364425f40350_compact

With these interesting options in there, I decided to order multiple bags to increase my chances of getting the items I am hoping for.  I expect there will be certain duplicates, but some of those items I can put duplicates to use or find someone who would like them.

I plan to do a write up of unboxing (or is it unbagging?) of these once they arrive which should be some time this week.  The shipment made incredible time from China to Anchorage via Cincinnati and has been handed over to USPS to make it the rest of the way to Juneau.

Top Toys for 2017 from Fat Brain Toys

Crowdfunding Part 2: Gaming

As a follow up to Part 1 on consumer-level electronics, I decided to summarize games and game related campaigns I have been interested in.  I am including puzzles as well since they don’t really fit in any other category.

Robot Turtles (Sept 27, 2013  KS)

Goal: $25k  Raised: $631k  Pledged: $29  Delivery: Dec 2013

Robot Turtles

This has been my favorite game related campaign I have seen yet.  The initial concept was a way to entertain his kids and learn analytical skills.  Most games targeted at kids are based purely on chance and teach very little.  Candy Land is simple card turning and getting stuck in Molasses Swamp is just frustrating for kids.  Chutes (or Snakes) and Ladders is just randomizing every player’s location until someone gets lucky enough to hit the end.  Games like Connect Four have been solved, meaning like Tic Tac Toe, you can always win if you make the first move.

In this game, designed for 3 to 8 year olds, each player uses cards to issue commands to their turtle and an adult executes those commands (goofy sounds are encouraged in the rules).  Some of the stretch goals added more features such as ice walls that can be melted with lasers and boxes that can be pushed out of the way.  These features are designed to be added in as players become more familiar with the game.  Another way to add challenge is to have players set down the complete set of instructions first and then move the turtle.  I really like the way that the game can grow and it is flexible enough to modify the rules even further.

We received our copy of the game last week and the quality is just as good as any other game out there.  The parts include the board, 4 decks of cards and numerous double-sided, heavy stock tiles (similar to Carcassonne tiles).  My 3 year old son doesn’t seem quite ready to focus on the rules, but it is still pretty new and exciting.  He does love moving the turtle through a maze of walls to get the gem, so he intuitively picked up the basic goal with little prompting.  As one of the stretch goals, they will be releasing some “adult” rules (called Galapagos) to add increase the challenge for older players, but I have not yet seen the details on the differences.

There are currently no future plans to continue printing the game.  The goal was just to get enough quantity to make a quality game at a decent price.  Maker Shed did pick up a number of copies to sell and if there are any left they can be found here.  It is likely they will disappear since they only ordered 1500 copies and there was a mailing list of over 4700 people that were going to be notified.  Other than that, this game is now out of print unless he decides to publish again.  I personally hope that it gets picked up again because it I think it is an excellent learning tool.  My company just participated in the Hour of Code campaign where we go into schools and help introduce kids to programming concepts and this game immediately came to mind.

Maze of Games (March 14, 2013, KS)

Goal: $16k  Reached: $171k  Pledged: $60  Delivery: June 2014

This project is a one of a kind puzzle novel with numerous contributors and amazing looking art (what they have revealed at least).  Even the campaign itself included a number of puzzles to solve by scouring any text, images, video and even music and finding hidden clues in related blog posts.  I found the challenges very entertaining and I expect the book to be even better.

I pledged enough to get a hardcover copy, digital copy and an additional foldout maze puzzle.  They are not currently taking new orders, but it is possible they will sell more copies once they finish printing.  There were numerous stretch goals setup that added additional puzzle artists to the book.  I believe it was this increased scope that has slowed down publishing with the extra editing and artwork.  The latest update was that they would not arrive by Christmas as hoped, but I don’t mind too much because I know it will be a high quality book.  For those that were intending it as a present, they are providing a card that even includes another puzzle that I still have to solve.

Armikrog (June 27, 2013, KS)

Goal: $900k  Reached: $974k  Pledged: $20  Est. Delivery: July 2014



Armikrog is a point and click claymation adventure game from the makers of The Neverhood.  This time they have decided to self publish their new game.  They recruited Mike Nelson (of RiffTrax and MST3K) to voice the main character which is what first got my attention.  They are hoping to get onto Steam–you can help by voting for it on Steam Greenlight.  They will also be making a Wii U version with some special features that take advantage of the second screen.  For anyone who would like to get a copy of the game, you can preorder at for $25 or even get many of the extras.

The X-Cube (July 7, 2013, KS)

Goal: $30k  Reached: $53.8k  Pledged: $5  Delivery: July 2014

X Cube

The X-Cube is an expansion of a regular rubik’s cube, but still different from the 5x5x5 cubes.  The prototype was created on a 3D printer and since I will soon have a 3D printer, I put in enough to get the model files.  These files were provided shortly after the campaign ended and they real ones were estimated to be out in October, but are being shipped out right now.

Marauders (October 12, 2012, KS)

Goal: $1k  Reached: $14.5k  Pledged: $15  Delivery: Oct 2012

This project was kind of a no-brainer for me.  We like to try games and the goal of this effort was to get some additional copies out to an audience that would provide some feedback.  The game was already printed, so there was no delay in delivery and the price pretty much just covered shipping.  We have tried the game out and it was pretty fun.  I don’t know if it will replace our current favorites, but it is one we will hold on to.

Hexels (January 21, 2013, KS)

Goal: $50k  Reached: $130k  Pledged: $75  Delivery: Jan 2014


Settlers of Catan is still one of our favorite games, but the board setup isn’t perfect.  The frame can take some fiddling to get it to stay together and it gets harder with larger layouts like Seafarers.  Some friends of ours have border sections that seem slightly warped such that the inside edge raised up from the table and wouldn’t hold the tiles at all.

Hexels provides one solution to this problem by creating mini frames that fit around each tile and hold together with magnets.  The tiles can be stored with the hexels, so everything can still fit in the original box (with the plastic insert removed).  I have enough coming to cover 3-4 player Seafarers (to get the 10 additional ones for 5-6 player was too big a jump for me since I missed the early bird price for that level).

There was a significant delay in getting these out due to getting the plastics right and the injection molding process down to make them durable and looking nice.  I opted for assembling the magnet covers myself to get them sooner.  We have now played several games using these and they are great.  The only thing missing is something to hold the ports but I could probably design something to 3D print.  The project owner was very forthcoming with information with video updates almost every week.

Catan Board (November 19, 2012, KS)

Goal: $25k  Reached: $361k  Pledged: $100  Delivery: Aug 2013

Catan Board

Before the Hexels showed up I came across the Catan board.  This is the only Catan accessory that has been officially licensed by the publisher of Catan.  Pictured above is the plastic version (with one possible color theme they considered), but they are also selling a bamboo version.  For the Kickstarter campaign, they made a limited number of walnut and aluminum boards.  I have already received the basic 5-6 player board and it is very nicely made.  They will soon be sending out the Seafarer extension pieces and card holders that were added as one of the stretch goals.

The main problem that caused delays is getting the injection molding right.  First there were problems with the molds, then the injection process had to be tweaked.  Along the way they provided information about what was going on and I learned some things about plastic injection molding from that.  They had some issues toward the end about the finish of the plastic–whether the pieces could be painted nicely or just bare plastic.  The two tone color scheme did not work out for the manufacturing process, but they did provide some information on a good way to paint them.

The Keep (October 31, 2012, KS)

Goal: $250k  Reached: $58.6k

Great Chamber


This campaign was an interesting solution to store and transport games.  The picture above was just part of the system called the Great Chamber.  There were also plastic containers that were good for cards and smaller one for the various chits and small pieces.  I liked the concept, but I wasn’t totally happy with the price point for a complete system ($120 for the options I wanted).  While this second Kickstarter campaign reduced the original scope and reached a lot more people they did not end up reaching their goal.  Despite this, they have continued to refine the design and even make the Great Chamber modular.  I am not sure where the product stands right now because nothing has been posted on their Facebook page since July.

Home Heating Hacking Part 2 or How to (Almost) Audit a Furnace


Following up on my oil tank gauge, the next idea I had was to audit furnace usage.  There are three zones that demand heat from the furnace: upstairs, downstairs and the water heater.  Now that I can track how much oil we use, I would like to break it down by zone usage.  Since thermostat and furnace control systems operate on 24V AC, my plan was to build some basic voltage probes.


There are a few different ways I can think of to read an AC voltage or current from a low voltage circuit:
  • Inductive coil – these are great for measuring current on a high voltage line, but they are a bit more expensive than I liked and I only need to detect on and off.  I could build one, but it will take a bit of tinkering without an AC power supply for testing.  There are split core sensors that can be clipped over a wire, but they run more than $8 each.
  • DC power adapters – It is possible that I could find an adapter, but there aren’t a lot of options that run on 24 VAC.
  • Optocouplers – these are built specifically for the purpose of interfacing high and low voltage systems without directly connecting them electrically.
  • Hall effect current sensor – kind of a cross between optocouplers and inductive sensors.  The current is passed near a sensor that senses the amount of electromagnetic force.
I decided to go with an optocoupler for now, but I may come back to inductive sensors in a later iteration.  There are many different types of optocouplers (also called optoisolators), but the internal circuitry is pretty simple to understand.  One one side, there is an LED (or two) controlled by one circuit and on the other side is some form of light sensitive component (usually a photodiode or phototransistor) and sometimes a few extra components depending on the type of output required.  I started designing the circuit around a really basic 4 pin PC123 and ordered some bridge rectifiers for the input side.  Before I received these optocouplers, I came across the IL250 which is designed for AC current with LEDs going both directions.  This simplifies the input side to just a resistor to limit the current to 50 mA.

IL250 internal circuitry


Furnace circuit


  • 4x IL250 (I got 5 for about $8 on eBay)
  • 4x 510 ohm, 2 watt resistors (input current limiter)
  • 4x 220 ohm resistors (output current limiter)
  • 4x LEDs (The diagram shows red, but I used different colors-more on that later)
  • 4x electrolytic capacitors
  • speaker wire for furnace hookups

The circuit design is pretty simple.  On the input side, there is a 510 ohm resistor to keep the current around 47 to 50 mA.  If the voltage was consistent at 24, it would be on the low end of that, but it measures out closer to 27.  This chip will take up to 60 mA, so there should be enough of a margin for safety.  Initially, I tested the circuit before considering the power on the input resistors.  .05 x 24 = 1.2 watt  I only had quarter watt resistors on it, but they managed to work for a while with just a bit of discoloration from heat.  Once I realized this problem, I disconnected everything for a while while I waited for the new resistors to arrive.

On the output side, positive voltage is connected to pin 5 (collector) through a resistor and LED.  A capacitor between pin 4 (emitter) and 5 will help smooth out fluctuations in the output enough to hopefully avoid bad edge triggers.

4 probes on breadboard

I put together 4 probe circuits on a breadboard with a Nano (the one pictured happens to be a Sainsmart Nano).  I did a basic test with a 5V supply on the rail and about 28V (DC) on each of the terminals to ensure the LEDs would like up.  Due to the limitation of the XBees (mentioned in my previous post), I did not have what I needed to hook up wireless communication (at least not yet) so I swapped out the Nano for a Raspberry Pi with a T-Cobbler Breakout from Adafruit.  I have been meaning to start experimenting with the GPIO port on the Pi, so this was as good a time as any.
I won’t detail out the full install process for the Pi since it is mostly pretty standard, but I set it up with ngenx as a webserver with  PHP, node.js and, SFTP for updating the web app easily, SSH for remote administration, mySQL and Adafruit’s WebIDE (to try it out).  I then wrote a python script that would regularly poll 4 input pins and log any changes to a database (the current version can be seen here).  I then set it up to run as a background process following the instructions here.  I had some problems getting it running properly, but they were mostly due to typos and file permissions.  It isn’t a surprise, but +X and +x don’t do the same thing.
Furnace controller

Furnace controller

Zone Valves

Zone Valves


When I had a chance, I started by hooking up wires to the zone valves.  I ran speaker wire from a shelf over to the valves and hooked up to the terminals that trigger the pump and furnace.  These terminals operate as a switch that turns on once the valve has opened part way and turn off before it gets all the way shut.  I think it was this timing that threw off my earlier probing, so they worked opposite of the way I wired the circuit.  I updated the script to handle this, but I still need to go back and update the circuit so the LEDs are on at the right time instead of being off when each zone is active.
After a couple tweaks to the script, I let it run to collect data.  The next day, I had some time to hook up the other wires: one to the furnace terminals labelled thermostat and one to the pump that supplies the water heater (this was the only obvious connection point to that part of the system as everything else appears to be inside the water heater or in metal conduit).  I couldn’t simply test out the water heater part since there isn’t a manual trigger for it.


  • As I mentioned, the voltages are opposite of what I thought I remembered from probing.  The data logging side is fixed through software, but I still want to rework the circuit so the LEDs operate correctly.
  • I still have an issue with it starting up with it registered through update-rc.d, so I used rc.local to force it to startup instead.  I may look into it at some point, but this method is working for now.
  • The thermostat terminals on the furnace controller aren’t as useful as I had hoped.  This connection tells the controller unit that heat is needed, but is not a direct indication that the furnace is burning.  Somewhere in the controller, it starts and stops the furnace to keep the water between the set temperature range.  I have a few ideas to monitor actual burner operation, but I will continue to look into it and cover this in a later post when I have some options detailed out.
  • The day after I got all the wires hooked up, the Pi became unresponsive on the network.  Following this post, I put in a script to monitor the wireless connection and reinitialize it when it drops.  So far this seems to have kept the Pi on the wireless.
  • One oddity that shows up in the data is a 10 second on time after each zone valve has been off for roughly a minute.  I considered that something is causing the zone valve to miss its stop point and rotate again, but it shouldn’t take a minute to get back around.  I will ignore these 10 second results and look into this phenomenon further.
  • I may try using Dropbox for updating the web pages instead of FTP.


Furnace log

Sample output

For now I am just dumping the raw data.  Once I have a bit of data collected, I will have a better idea of the metrics I would like to present.  The ideas I have so far include: number of times a zone demands heat, average duration that zone is on, total furnace burn time and a basic proportion comparing the zones.


Crowdfunding Part 1: Consumer Electronics

Cross posted from Blogger

It has been a little over a year since I got into Kickstarter and I thought I would collect some of my thoughts on the campaigns I have pledged to.  In addition to Kickstarter, I have backed a few things on IndieGoGo which operates a little differently.

On Kickstarter, you pledge any amount you wish, but there are defined reward levels.  If the campaign fails, you do not get billed for the pledge amount.  IndieGoGo can operate the same basic way, but you pay the amount up front.  Some campaigns have fixed funding goals and if they are not reached, you get refunded.  They also have flexible funding campaigns that don’t fail if they don’t meet the goal (though the creator is penalized for this).  Some IndieGoGo campaigns can even extend their end dates–I followed one that did this to allow more people the opportunity to get in.

This post is dedicated to the the non-development electronics and I will post about other types of items in future posts.  Part 2 will probably be on development electronics since that is one of the biggest categories I participate in.

ZPM Nocturn (missed out on backing, but preordered)

Goal: $20k   Raised: $369k
We have been on the lookout for a decent espresso machine at a reasonable price.  The Nocturn is the result of engineering students starting from scratch and creating a new kind of machine that is simpler yet still powerful.  Instead of trying to keep a full reservoir of water up to the proper temperature, it precisely heats the water right in the head.
Rather than use a pump/pressure relief valve combo to keep the pressure within range, this one uses a precisely controlled pump that operates like a stepper motor.  These allow for instantaneous and precise control that allow for temperature and pressure profiling (adjusting them throughout the extraction).  This is normally found in $10,000 custom machines like the Slayer which only does so on pressure and not temperature.  This profiling can bring out different aspects of the coffee.  I could write more on this, but I will save that for another post.  In addition to this functionality, they have used as many standard off the shelf espresso parts as possible and the electronics and software are all open source.
This campaign ended January last year, and they have just recently shipped out beta units.  This has been due to a number of different problems, the main one being UL certification.  The UL has never certified an open hardware device, so they had a seemingly endless series of questions.  Once the beta testers have had their machines for a few weeks, they will proceed shipping out the remaining kickstarter units and hopefully the preorders shortly thereafter.  I have always ended up at the conclusion that we need to spend $1000 between the machine and grinder to get into a decent entry level setup, but I got a combo with the grinder for well under $500 (final retail will be more) and I have some green espresso blends on hand to try out when we get it.

Equiso (July 28, 2012, KS)

Goal: $100k   Raised: $241k   My Pledge: $69

The Equiso was the first kickstarter campaign that I supported and what drew me into getting started pledging.  I saw this as a great way to play video on a TV without needing a computer.  My intention was to use the Plex app to watch videos on the TV in our bedroom.  The estimated delivery date was for August and I received it mid-October which isn’t too bad for a product of this scale.

Initially, Plex would run but not play videos.  Since I didn’t intend to use it for games and such, I didn’t get much use out of the stick for a while.  However, the remote has been very useful.  They changed the design to use a removable USB receiver for the remote so I was able to plug it into my media computer and control the Windows Plex app that way.

I still use the remote almost daily with only one complaint: the USB charge port broke off of the board making it really difficult to get it charged.  The first time, I disassembled the remote and was able to resolder the plug.  Just recently, I had to fix it again and I tried some super glue as well.  I’ll see how well that does.

In August, they offered to update the stick for the new model.  All I had to do was send the original one and keep the remote and power cable.  I should have included tracking because it ended up lost somewhere, but they were gracious enough to send me the new one once I sent them a copy of the postage receipt.  I am happy to report that the new model runs the Plex app beautifully and as long as I leave it running I can control it from my phone.  The only wrinkle now is that Plex has added ChromeCast support, so it may become the more optimal device for my purposes.

Ouya (August 9, 2012, KS)

Goal: $950k   Raised: $8.6M   My Pledge: $225 (for second controller and etched faceplates)
There are a lot of post about the Ouya both good and bad, so I will stick to my basic impression.  I liked the concept because you can try any game for free and if they succeed, they could change the traditional game publishing model that can be cost prohibitive to get started.  Time will tell, but I think it is slowly improving through updates and more developers migrating Android games over.  This also functions as a decent Plex player now, so I may try using the Equiso remote with it at some point.
It does seem like there might be an issue with one of the controllers.  It will sometimes act like one of the gimbals stick for a bit.  I found a post mentioning that I might need to get the firmware on it updated, but I don’t always get much time for console games so I haven’t looked into it yet.
The original delivery date was estimated at August 2012, but I did not receive it until June 2013.  With an effort of this magnitude (hardware, software, 3rd parties), this delay did not surprise me.  They have made some mis-steps, but I think they are doing a decent enough job so far.

ChargeCard (August 27, 2012, KS)

Goal: $50k   Raised: $160k   My Pledge: $18
The ChargeCard is very handy to leave in my bag or carry in a pocket in case I need a charge.  I just held out until they hit the stretch goal to include micro USB.  I don’t have a tracking number to compare how they did on dates, but their last update saying that everything had shipped was the same month they expected: November.

Mini MicroSD Reader (May 5, 2013, KS)

Goal: $5k   Raised: $70k   My Pledge: $12
This one looked like a nice way to be able to move large files (like media files) with my Nexus 7 since it doesn’t have a card slot.  I have an OTG cable that works pretty well with flash drives, but this is more compact.  After the campaign, they offered backers the opportunity to get additional units so I picked up a second one.  I believe they were only a month or so late on delivery, but that isn’t bad as far as Kickstarter projects go.

MyPhone Thermometer (Failed, KS)

Goal: $35k   Raised: $7k   My Pledge: $19 (for both probes)
I have been thinking about building a remote temperature probe for the grill, so this one looked like it could save me the work.  I also liked that the creator was an Alaskan.  Perhaps it was a failure of getting the word out or just more visible products in this space, but they didn’t make the goal.  They say they will come back with a new campaign and I will at least check it out.

Beddit (October 15, 2013, IGG)

Goal: $80k   Raised: $503k   My Pledge: $189 (for two)
The Beddit is a nice looking sleep tracker that is simpler than wearing a sports band and more capable than motion sensors.  It automatically tracks and logs data on sleep cycles so you can determine how well you are sleeping and hopefully figure out how to get better sleep.

This campaign did have the end date extended just to let more people get in.  The estimated delivery was going to be November, but they got held up by Apple certification on the BlueTooth.  Since Apple has to approve the hardware part, even us Android folks are still waiting a bit longer.

World’s first roast-grind-brew coffee machine (December 8, 2013, KS)

Goal: $135k   Raised: $681k   My Pledge: $1
I didn’t back this one to get a machine, but I love the concept.  We have already started roasting our own coffee and it has been well worth it, but between that and the Nocturn mentioned above, we don’t need another machine.  I will be watching this one to see how well they do with the “direct from farmers” model they are setting up.
Update: After the successful campaign, they have now started an IndieGoGo to try gaining more ground on the farmers side.  It is also another opportunity to get in on a machine.

Angel band (didn’t back, but watching)

Goal: $100k   Raised: $334k
The Angel health monitor is a new take on the sports band style of sensors.  Instead of just monitoring movement, it also collects heart rate, blood oxygen and temperature making it a much more capable device.  In addition to that, it is open source so it won’t be limited to just one app.  At the time the campaign ended, I had not yet decided that it was worth getting one at this time.  I will be watching these when they come out in April (or so).
With any crowdfunding campaign, you should be careful to evaluate them and what they promise.  There are several promising campaigns that have gone on for a long time past their delivery date with little to no information.  Kickstarter requires creators to provide some sort of product or a refund, but there is no stipulation on time.

Update: I added links to the campaign pages and goal stats.

Home Heating Hacking Part 1 or How to Measure an Oil Tank

Cross posted from Blogger


Oil Tank

not our tank, but a reasonable facsimile

For a while now, I have had this plan to monitor the energy use of our house–primarily the fuel oil for our furnace.  Unless I go out to the tank regularly and check it with a dipstick, I have no idea how fast or slow we are using up the tank.  The above ground tank holds 570 gallons and it lasts us around a year.  Since we live in a temperate rainforest (and the water heater uses the furnace), the furnace is running year round.  I only have a very rough idea of the difference between summer and winter usage.  Last winter we decided it might save some oil to use a space heater, but I could not determine how much of a difference it made.
With this in mind, I made the following mental list of requirements for the first stage of this project:

  • oil tank level sensing
  • enough granularity to see daily usage
  • data logging
  • ability to compare oil usage to outside temperature


I looked into several potential methods to measure the tank level.

The Rocket

There is really only one product already on the market that is similar to what I want: The Rocket.  It is $120, only reads in 10% increments and just displays on the receiver.  Without hacking the wireless protocol that is being used, there is no way to do automatic data logging and a 60 gallon granularity is not optimal for the analysis I want to be able to do.


Here is a summary of the various sensors I considered:
  • Mechanical – while this style of sensor should be very simple and reliable, I didn’t come across any that could be read digitally or were able to read a range of 4 feet.  One may exist, but I suspect they would be fairly expensive.
  • Resistive – While strips exist and provides continuous range, they are not even close to being long enough.
  • Capacitive – There are also capacitance based strips, but they are also too short so I would have to build and calibrate my own.  I also had some concern about a capacitive sensing in fuel oil, but I later learned that this type of gauge is used in some aircraft so it should be safe.  Probably better safe than sorry.
  • Gravitational – Strain gauges are solid state devices that measure weight and are used in scales of all sizes.  I was not sure how hard it would be to get them placed under the tank, so I did not research them very much.
  • Optical – Infrared distance sensors seemed like a simple option, but I didn’t find one that covers a broad enough range for my purpose.  They all seemed to be designed for close range or far range
  • Ultrasonic sensors – there are a lot of different ultrasonic sensors.  There are expensive industrial models and cheap ones that are often used in hobby robotics.  After looking at several different sensors, I picked up a Maxbotix EZ4 (more on these later).
  • Others – I considered a sensor based on light diffraction, but I don’t know how one would work on a tank like this.  There may also be some sort of resonance type that could read from the outside of the tank, but I would guess these would need a bit of calibration if something does exist.
  • I also thought about putting a flow meter on the intake line, but I would also have to have one on the return line and it would not really tell when the tank was getting empty.
  • Thanks to comments, I was pointed to the Jaycar and the Centroid sensors.  The Jaycar needs a half meter of head space–I think it is intended for upright tanks.  Like the Rocket, it uses its own receiver.  The Centroid is hard to find a lot of information on (especially price), but I believe it is a capacitive sensor that can be cut to length.


I started out with the EZ4 sensor mentioned above.  This sensor is versatile and simple to use.  It has circuitry onboard that does most of the work and communicates the results as an analog voltage, PWM or RS232 signal.  The down side of this sensor is that it only offers 1-inch resolution which is about 15 gallons in the middle of the tank, but something that works is better than nothing and I can swap it out later.
I hooked it up to an Arduino Uno board with a 9V battery and tried aiming it down the fill tube which is maybe 8 inches long.  Even holding the sensor an inch or so into the tube, it would only read a small number of inches (can’t remember the exact number) when the tank was clearly under half full.  I realized it was getting interference off of the fill tube and looked up the datasheet again.  It turned out that I got the sensor versions backwards and what I really meant to get was the narrow beam Maxbotix EZ0.
for it’s 0 to 255 inch range and narrow beam so it could be spaced up far enough off of the top of the tank to avoid getting wet from splash back.

The LCD contrast was too a bit low
for the picture, but it says 116

Before I got around to mounting the EZ0, I came across a cheap version of the Ping))) sensor on eBay (2 for about $5 shipped).  These sensors claim centimeter accuracy (about 6.5 gallons in the middle of the tank) and also cover the required range, so they were worth a try.  I hooked one up on a breadboard and brought it out to the tank.  I had to hold it most of the way in the whole, but it gave a reasonable reading: 116cm (about 46″ or almost empty; it was filled the next day).  Once I verified that it would read properly aimed through a PVC adapter, I decided to go forward with this sensor.
The simplicity of this sensor is actually a bit of a strength.  To use it, you pulse a trigger pin and wait for the echo on another pin.  Even though its rated accuracy is a centimeter, accurate timing (and a bit of algorithmic cleanup) can allow for even better precision.  More on the output later on in the software section.






To hold the sensor in place, I cut a disc out of a plastic container and made holes to fit the sender and receiver through.  I started with a #5 plastic container which was quite soft and flexible and then changed out for a more rigid #7 plastic.  Once I determined the sensor would not pick up the sides of the PVC, I started putting everything together.
I used CAT5 to run into the crawl space of the house so there are minimal components outside to weatherproof.  I added an LED for a visual indication that the system had power (and perhaps to ward off anyone who comes by with the idea of siphoning the tank).

soldered up using CAT5

Everything in place

Final test setup

Final test setup

I tested out the system over the full 100′ spool to make sure that it wouldn’t suffer from any issues due to distance.  Ultimately, I used closer to 20′ to get into the house and it would have been shorter but I already had a hole around the corner to use.  I added in a temperature sensor, but I had to use an LM35 I had sitting around because I broke the leads on my TMP36.  I don’t expect most people will know the difference, but basically the LM35 requires a negative voltage in order to read below freezing.  I don’t have any parts around to produce the proper voltage, but I left the sensor in anyway.  Even above freezing, I am getting erratic results, so I intend to replace it (when the weather is a bit warmer) or use a separate temperature sensor.  I have tinkered with intercepting the signal from our Oregon Scientific weather station, but I haven’t had any luck yet (possibly, I need to add an antenna but that is for a different post).

Installed and functioning

Installed and functioning


I tried to keep things simple on the Arduino end since it would not be really easy to access in the crawl space.  Initially, it was coded to take 10 consecutive readings each time and return the total.  This essentially gives an average in millimeters.  This seemed to work great inside, but after a bit of time on the tank it was clear that it wasn’t reading correctly.  The distance returned would often be lower than it should be.  It is possible that I didn’t have the proper delay between readings (supposed to be at least 29 microseconds and I forgot to add in a delay).

sample output

I decided to go down to the crawl space to update the code and made a few changes while I was at it: increased the number of readings each time to 100, return the sum of the 10 median values, also send the min and max values.  The output is simply passed over serial using the XBee to a computer with another XBee on a USB adapter.  I wrote a simple application to allow me to select the COM port and it starts reading the data and inserting it into a simple database.  I put together a basic webpage to output the data by hour and graph the results to visualize daily trends.
16 days of data so far

Oil sensor chart


For those that are interested, there are charts and formulas available for the calculations so I won’t reproduce them here.  The tank has rounded ends, but it would be difficult to account for and accounts for a small enough portion of the volume that I ignore it for now.


All in all, I am very happy with this progress.  There are a few issues that have come up during the process:
  • As I mentioned already, it is not very convenient to bring the laptop down to the crawl space to update the Arduino code.  In addition to that, the jumpers on the XBee shield are not working for me, so I have to disconnect power, carefully remove the shield, plug in the USB to upload, disconnect USB, reattach the shield and plug the power in again.
  • The XBees (at least series 1) are simple to use, but they don’t quite operate the way I had planned.  My hope was to use one receiving module with several senders, but they are designed to be one to one communication.  There may be a way to set one to promiscuous mode, but my current plan is to change out the Uno board for a Spark Core which should be arriving soon.  These boards have integrated wifi and can be programmed over the Internet.
  • The XBees also don’t have the range I had hoped.  I had to move the receiving end as far from the computer as possible to get them somewhat reliable.
  • Sometimes the data jumps around a bit which can be seen on the graph image above.  There are also times that the sensor gets a drop of liquid on it causing misreads.  I have done some cleanup of outlying values, but the moisture problem is not apparent yet.  It could be a bit of condensation, but I suspect it is a stray drop that splashed from the return line.  To fix the problem, I have pulled the sensor off and blown it clear each time.  If the problem goes away as the tank gets lower, I will assume it is splash back, but I haven’t formulated a permanent solution yet.
  • As I mentioned above, the temperature sensor I included doesn’t provide any benefits as it is.  I won’t change it out until the weather is warmer, but if I come up with an easy way to generate a -5V, I may do some more testing in the meantime.
  • I forgot to do a manual measurement to calibrate the distance from the sensor to the top of the tank, so I made a rough guess.  This could make the values off, but I can adjust the head space on the database side if I decide to.  In the future, I may make this a setting on the Arduino side that I can modify over serial communication.

While this project is in stable operation, it is not yet complete.  Besides the improvements just mentioned, I would like to add active anti-theft of some sort.  A couple ideas I have are a tilt switch on the fill cap and a motion sensor and there may be other features I come up with later so I will revisit this part of the system after I get some of the other systems functioning and have some more parts.

Coming soon: Part 2 – How to Audit a Furnace

Update: added a couple commercial sensors to the list.

Update #2: Here is a snippet of messy data before purging.  The values jump all over the place, but the maximum distance read is often in line with what it should be.  Once I removed the sensor and blew it clean, it continues to read fine for a while.  This time I couldn’t see anything on the sensor.

2 weeks