Archive for the 'Make' Category

Philips Hue: Almost the Perfect Lighting Solution

Saturday, October 12th, 2013

Update (3/28/14): Today, Philips announced the “Tap” switch for the Hue..

While it is very very cool technology (battery-less, wireless, scene direction for the Hue), it still doesn’t solve the very basic problem of integrate the Hue with the dead, simple, stupid, 100 year old this switch controls that light model of lighting control in use in just about every household that exists.

While you could hardwire the existing light switch to be always on and then use the Tap to control various lights, it would be aesthetically unpleasing and not nearly as convenient.

Until there exists a Tap-like device that is the same form factor and provides the same dead, simple, stupid “flip this to turn on/off that” mode of operation, the Hue — and every other pending solution like it — will not be a true home lighting solution.

Worse, it won’t achieve the promise. Right now, I have two if-this-then-that recipes that control the lights in our bedroom to wake us up and tell us about the pending day. One light will glow yellow or blue to indicate sun or rain. The other light glows from blue to orange to yellow to red (which, btw, was a pain in the butt to set up in IFTTT) depending on the high temperature for the day.

And we never see these programs run. Why? Because the last thing we do before going to bed is hit the light switch on the wall, cutting power to the Hues entirely. As does pretty much everyone.


Nearly a year ago, I upgraded all of the standard incandescent lights in the house to Philips Hue. The Hue is an LED lamp that gives off a decent amount of light — 60 watt incandescent range.

The Hue can also be remotely controlled via ZigBee. The Hue starter pack comes with a hub and 3 lamps. The hub has an ethernet port (no Wifi) and communicates with the Hue lamps throughout the house wirelessly.

It works really well. Better yet, there is a full API for controlling the Hue lamps and, as a result, there are a couple of dozen apps for controlling the Hue for both iOS devices and OS X. As well, the fabulous if-this-then-that site can control the Hue lamps based on various inputs. Want to have the Hue in the living to glow red on a warm day and blue on a cold day? No problem. What the Hue in your office to glow red when $AAPL is down and green when it is up? Easy peasy.

Yet, unfortunately, I can’t really recommend the Hue as anything beyond a novelty. Not because of any flaw in the Hue itself as it is a fantastic product, but because of what is lacking.

The critical missing piece is Hue compatible light switch. For example, when I walk into the bedroom at night, I hit one or both of the wall switches at the door, and I expect there to be light. Similarly, when I flip the switch off, the lights should go off. Now, unfortunately, this — as expected — kills all power to the Hue. No amount of remote control is going to light a lamp that isn’t plugged in!

One possible solution is to use something like the WeMo switch. It can be integrated with if-this-then-that to turn on/off a Hue or set of Hues when the switch is toggled. Beyond being expensive ($50/switch), there is a 7 to 10 second lag between the switch being activated and the light state changing. That assumes, of course, that the myriad of moving virtual parts between the light switch and the light are all up and running.

Way too Rube Goldberg to be acceptable.

Another possibility would be to configure a web server on a computer to receive the WeMo input, then fire a command off against the Hue hub. This would, at least, confine the Complex Machine to our house, but I’m really not interested in adding yet another server that needs administration to my life.


Kickstarter Opportunity!

To complete the Hue as a home lighting solution, there needs to be a light switch optimized to the Hue hub itself. Ideally, it would communicate over Zigbee to talk directly to the hub, reducing the switch-light hop count to 1. The switch would leave the Hue always powered. While it could be automatically configurable, that really isn’t necessary. The Hue management app could easily provide a list of switches and lights. Toggle the switch and it highlights. Select which lights should be controlled by the switch and you’re all set.

Alternatively, there is definitely a Kickstarter opportunity here and no one has come close (there have been a couple of “TCP/IP switches” on KS, but they all go for the kitchen sink of features). The key is dead simple; the switch could be as simple as on/off. Even basic dimming isn’t really necessary. Just an on/off toggle that doesn’t power off the device it is connected to, but sends a command to the Hue Hub over Wifi (because Philips has not opened ZigBee interface). Only need a 2-way switch because 3-way could be done entirely in software and could be implemented as n-way. The switch could be Hue compatible primarily, but that pretty much implies that it is a TCP/IP switch. Configuration is an obvious challenge; a bit of a chicken and egg situation there. Unless something like WPS (Wireless Protected Setup) could be used to automatically configure the switch, then I suppose it would have to have a USB port or something.

In any case, keep it simple. Go for maximal cost reduction while still producing an attractive product. I’d back it in a heartbeat, as I expect would many Hue owners.

Bluetooth Keyboard Caps

Saturday, June 22nd, 2013
Redesigned Keyboard Cap

v1.0, pictured below, proved lacking.

v2.0, in red, appears at the left.

The size difference between the end cap and the bit that rests against the end of the keyboard was widened considerably. The old piece would slip over the keyboard and the closed end would activate the power button. The open end combined with the wider overhang, seems, so far, to be a better, more durable, design.

Yes, my printer’s belts need to be tightened.

Thingiverse Updated.


Apple BT Keyboard End Caps

Recently, I’ve been carrying an Apple Bluetooth Keyboard with my iPad mini so I can compose relatively long emails. Nothing beats a keyboard for text entry!

While I love the keyboard, it does have an annoying habit of turning on when floating about my murse.

A few minutes in Autodesk Inventor Fusion and I whipped up some printable caps that slide over the ends of the keyboard. The cap protects the power button from accidental activation (there are two styles of caps, one more defensive than the other) and by placing a cap at both ends, they can be left in place while using the keyboard and it remains level.

The STL files and some more photos can be found on thingiverse.com.

Aside: I clearly need to reprint that piece. I had some schmutz on the print bed, leading to the end not being smooth. That and it looks like my belts need tightening. I’ll switch colors to clear and re-print someday soon.

Aside^2: Something snapped in my brain since the last time I messed with Inventor Fusion. In particular, I went from nerver using to completely embracing the construction feature. Basically, construction allows you to place axis or planes relative to features on the model. Thus, if you want to bisect the model to, say, make the inside wall of a tube a bit fatter for a few millimeters near the end, you simply place a plane parallel to the end face, offset a few millimeters into the tube and then bisect the model with the plane.


OS X Client Software for Owon SDS7102 Digital Storage Oscilloscope

Monday, April 15th, 2013

Ever since using my first Oscilloscope in the ’80s, I’ve wanted one. Though I’m a software person by trade, my hobbies have long included electronics in many forms. Heck, I’ll take a well tuned, clean, pinball game over a video game any day (and if it isn’t well tuned and clean, I’ll do that, too). An oscilloscope has long been the ultra-expensive super tool that my hobbyist pursuits just couldn’t justify the expense.

Not any more.

Recently, I picked up a cheap treadmill to turn into a “walking desk”. It works fine, save for the annoyance that it turns off ever 30 minutes and the control box is this big, ugly, clunky thing that clearly is a whole lot dumber than the LED display indicates. In adding some extra length to the control box’s cable, I noted there were only three wires; power, ground, and a signal wire.

Clearly, given price point and lack of real communication between control box and treadmill, the “protocol” between the two is likely nothing more than a PWM signal.

Which, given that the treadmill (Confidence Treadmill) is for my health, health is vital, and the best way to explore that signal deeper, I investigated picking up an oscilloscope for the first time in 15 years.

Boy howdy. What a difference those 15 years made! I was used to seeing depressing 4 digit numbers on scopes that were somewhat slow, very bulky and had little to no means of exporting data save for snapping a picture. Now? Less than $500 gets you a multi-input ‘scope capable of handling up to 100MHz signals with lots of analysis features and the ability to dump it all to USB or, in some cases, the network.

A bit of research revealed that the Rigol DS1102E is the most popular of the sort of entry level digital scopes.

However, the Owon scope pictured at left was only $50 more, has a much larger screen, and a LAN port. Rigol’s ds2072 is similar, but nearly $400 more and is backordered pretty much everywhere. While the Owon has had some negative reviews, the latest version seems to have addressed almost all of the criticisms. That, combined with the realization that I’m not exactly going to be pushing it (and a bit of a desire for immediate gratification) and I went with the Owon.

Couldn’t be happier. The Owon SDS7102 seems to work just fine; more than enough for my needs. The user interface is pretty mediocre, but passable.

I’ll let people far more competent than me properly review the scope.


Read the rest of this entry »

3D Printing: A Tour of Stuff

Saturday, December 15th, 2012

Since picking up an Ultimaker nearly a year ago, I’ve printed many things (and wrote a very well received article for Make: Ultimate Guide to 3D Printing).

These are many of them and some lessons learned from each.

Printed Ornaments

Koch Snowflake Tree Ornament Baubles

This is Thingiverse Object #35561.

Every year, we have an annual ornament exchange in our neighborhood. Last year, I used EMSL’s Egg-Bot to create an Eichler themed ornament.

This year, I started down the path of custom designing an ornament for printing, but grabbed the Koch snowflake baubles from Thingiverse.

Lesson Learned: Design software is hard to use. 3D design software is harder. You’d think a simple circle with some stars and words extruded in 3-space would be easy to do. Still, people totally dig the unique texture and shapes of these. In hindsight, I probably should have used Inkscape (awful, but works and is what is used for the egg-bot) to do a 2D design and then extrude that.

Read the rest of this entry »

Whoah! Arduino goes ARM on the cheap & Arduino AVR Gets Really Tiny (on the cheap)!

Wednesday, September 5th, 2012
B47af8930ab8a169e37c95534ab9945e large

For the Teensy Blaster, I used a Teensy v2.0 board from PJRC. It is a tiny board containing a not-so-limited AVR chip (32K of flash, >2K RAM, 1K of EEPROM, and a slew of I/O pins) and a mini-USB port with the ability to be USB bus powered. Tiny. Versatile. And cheap at $16/board! $24 nearly gets you nearly 4x the memory and nearly doubles the I/O ports.

Today, I ran across Teensy v3.0 on Kickstarter. In pretty much the same sized package, the Teensy v3.0 features a 32bit ARM Cortex-M4 board with 128K of Flash(!!), 16K of RAM(!!), 2K of EEPROM, and a slew of I/O options. If that weren’t enough, it includes support for IR, a high quality audio interface, an optional real time clock, 4 DMA channels, and support for touch sensor inputs. And more. Much more. Holy cow! Truly, a nutty amount of computing power in a 1.4″ x 0.7″ package!

And it can be used from both Arduino and C.

So, yeah, funded. No brainer.

8170026945a0f0462acf148cc38b69f5 large

Then, at the thank you for funding this project page, there is a thing you might be interested link that leads to the Digispark.

Wait. What? A board barely bigger than a USB connector that features an Arduino compatible CPU with multiple I/O pins, 8K of flash, PWM on 3 pins, ADC on 4 pins and many many different shields?!

For $8-$10 / board?!

Sign me up! (And I did!)


Arduino on Mountain Lion

Tuesday, August 21st, 2012

In my “spare” time (hah!), I hack on Arduino a bit. Mostly because there are tons and tons of 3rd party libraries that make hacking up a hardware solution mostly a bit of soldering followed by gluing together some pre-made software bits. The Arduino IDE is Java based and… well… not terribly awesome (to be fair — it isn’t awful, just quite lacking beyond the basics).

With the release of Mountain Lion, most Arduino installations were broken. Fortunately, this can be fixed by grabbing the latest bits from here and there.

  • Grab the latest Arduino.app for Mac OS X
  • Run it and it’ll insist on installing the latest Java VM. Do so.
  • If you use Teensyduino, grab the latest installer and install it. If Mac OS X (rightly) complains that the software is from an unidentified source and can’t be opened, you can ctrl-click on the installer, select “open” and it will present the option to bypass the security check. Do so, but not without a bit of misgivings.
  • Install the latest FTDI driver.
  • If all went well, you should see the device show up in /dev/ as something like /dev/tty.usbmodem12341.

    3D Printing: Oh, The Tuning We Shall Do.

    Sunday, March 25th, 2012

    After a while with the Ultimaker, a series of notes on the various things one can do to tune the 3D printing experience.

    Some of this is specific to the Ultimaker, but most of it is not. Much of this is personal preference and, frankly, there is probably some stuff in here that is wildly sub-optimal. But, hey, it has worked for me and it worked better than it did when I started.

    I.e. feedback and corrections are quite welcome!

    First, a note on consumables. I have stuck with PLA (polylactic acid) exclusively. It is a plant derived material that requires a lower temperature and is quite thoroughly non-toxic (there are lots of articles about fume-venting ABS… not so with PLA). As well, when I screw up — which is often — the resulting garbage is biodegradable (however, I’m donating my “pile of PLA” to someone who needs input into a PLA scrap-to-usable-filament project).

    PLA also doesn’t require — though it can benefit from — a heated print bed. ABS, the other common material, seemingly really does (though one can live without).

    Thus, these tips are optimized to PLA.

    These tips are also somewhat ordered in the steps that they should be done to maximize benefit. In some cases, that is because the earlier steps have a bigger ROI than later ones. In others, it is simply that the later steps really require the earlier steps first. Read the rest of this entry »

    Teensy Based IR Blaster

    Saturday, March 17th, 2012

    Evolution of a Design

    photo

    When I started this, as can be seen in the image at left, the case was two parts that fit together in a semi-complex manner (Actually, the very first version just had a little plastic square that covered the AVR, but nothing else). It was hard to print with any quality and, frankly, the front looked awful. So I simplified it such that the IR LED could stick out a small hole, as seen in the middle. But then it dawned on my that the translucent plastics might just be transparent enough to IR that no hole was needed at all.

    And sure enough, it just worked!

    Thus, the design is now even simpler (assuming you have translucent filament).



    photo

    Both professionally and as a couch surfer, I’ve found myself interacting with a great deal of devices that can be controlled via infrared remotes. Often, remotes lost in the depths of a couch or misplaced in the fridge (it happens). Clearly, I needed an IR blaster that could be controlled from a computer to both eliminate the “losing the remote” problem and to integrate control of multiple devices into a single UI. Conveniently, Arduino micro-controllers with integrated USB ports are commonly available and quite cheap. Adding an IR LED to an Arduino is trivial, as the ever popular TV-B-Gone project demonstrates.

    Thus, the Teensy IR Blaster was born. I started with the Teensy v2.0 AVR-based micro controller that includes USB support. It unofficially supports Arduino using the Teensyduino extension. To this, I added Ken Shirriff’s IRremote library modified fro the Teensyduino environment and Read the rest of this entry »

    Ultimaker Printing an Octopus Really Fast.

    Saturday, February 11th, 2012

    This is a short video of the printing of an Octopus I’ve been using as a test model. The Ultimaker is printing at 250% of normal speed. I started at 100% for the first layers until a solid base was created and then cranked the speed to 250%. It could go faster, I think.

    At that speed, the quality of the print suffers a bit. I believe, is mostly due to slop in my belts. I need to print some belt tensioners which will take up the slack nicely.

    The print quality is both better than the out of the box experience and tons faster.

    This is the result of a combination of upgrades:

    • Upgraded the Ultimaker’s firmware to the latest beta version. It has all kinds of features that enable both higher quality and higher speed prints.
    • Upgraded to using Pronterface to send the G-Code to the printer. It allows for communication at 250kbaud and doesn’t periodically pause like Replicator-G does if you forget and leave the temperature monitor panel open.
    • Moved to using SkeinForge-48 as the slicer.

    All three of these tasks were a downright pain to do. All three have been written up in another post.

    For now, enjoy some 3D printer music….


    3D Printing: Ultimaker Build Notes

    Friday, February 3rd, 2012
    Photo

    Some build notes from my Ultimaker build experience…..

    Overall, it took me roughly 4 days to build the Ultimaker. The first two days were a couple of long stretches and the last two were much shorter. Tuning the device to yield usable prints has taken a bit more time, too, and I still have a long ways to go.

    At left is a print made using the default firmware with relatively default settings in ReplicatorG. Stringy as heck, but otherwise quite good! Software and hardware tuning are reserved for another article.

    This is some random build notes from the build and roughly correspond in order to the assembly instructions themselves.

    By and large, assembly was relatively straightforward. The only real disaster I had was with the cooling fan used on the extruder. When I tried to mount it, it shattered — literally disintegrated into dozens of pieces — in my hand.

    The Ultimaker arrives in a surprisingly small, heavy, box. No surprise; wood is heavy and the Ultimaker is largely a wooden box with some very crafty electronics built into it. Frankly, the laser-cut wood based construction is, in and of itself, a bit of a hobbyist kit revolution. Wood is cheap and very strong, yielding kits that can be quite precise, extremely durable, and still remain accessibly affordable.

    Random notes below the fold…

    Read the rest of this entry »