Way out ahead at number one is the only circuit board I’ve completed and put to regular use. Still working fine, apart from a brief pause when the batteries ran out. Kind of regretting replacing the batteries just in time for the recent spell of cold weather!

Leading the pack is this surprise entry to the top ten. Unlike some Joggler owners, I still use it fairly regularly and, apart from the occasional experiment, I’m still using the O2 software it came with. I did give Jolicloud another go yesterday, to see whether a little bluetooth keyboard helps; nice, but just not quite fast enough to switch permanently. Might give MeeGo a try next.

Maybe it’s just me but I get quite excited about the potential that this kind of data mashup has. Perhaps it’s because I’ve seen what you can do with enterprise data and software like Message Broker; now imagine the possibilities with open data and simple ways for anyone to manipulate it. (That’s not manipulation in the political sense of course!)

This follows on from the number 2 post, while the third in the series has some catching up to do and didn’t make the top 10. I also have some has some catching up to do; I hope to get to the next instalment early this year.

All soldered together but not yet receiving that lovely data from the number 5 post. I’m currently pondering whether to just hard code things ‘for now’ or hack some more so that the three orbs could be programmed using the BlinkM sequencer.

So that screen shot is probably not all that helpful in understanding what’s going on; this style of graphical programming is fairly common these days but I would personally like to see more advanced ways to document and share diagrams like this. Still, this one is pretty simple, so here’s a quick overview:

The path at the top extracts the current temperature from the local weather station data

The middle path makes use of some very handy date functions in Mashup Hub to pick out entries 12 hours ahead from the forecast data

The bottom path does a lookup on the forecast conditions to replace a text forecast with a numeric code

Perhaps not the most direct route for getting a weather forecast but I think it’s a nice example of how anyone can pull together data they are interested in without any programming, or a server of their own. I’m also quite please with the results of the forecasts so far; 13 C and clear tomorrow in theory!

After a long wait, I finally have a TLC5940 LED driver chip, so I’ve been making a bit of progress on my ambient orb project. The LED driver works well with the little RGB PCBs in the B&Q disco light after a bit of hacking, cutting tracks to the original controllers and soldering a few wires on to the LED leads. The final ingredients are a Freeduino Nano to squeeze inside the box, along with a 433MHz AM receiver.

So the hardware is mostly sorted, but what about the software? That I’m not quite so sure about. Here’s a vague list of requirements:

I want the orbs to work when they are connected to a computer directly via USB, or remotely using the 433MHz AM wireless

It should be possible to use the three orbs as separate ambient indicators, or together in more complex animations, like the weather beacon in Toronto for example

It should be possible to cycle through several ambient animations, such as a traffic indicator and weather forecast for example

The information the orbs can display should be easy to modify without reprogramming

My current thinking is that the home easy protocol might be sufficient to send information to the orbs. It is limited, but I think there is also a limit to how much information the ambient device can convey before it stops being ambient. If I have to spend time decoding what it’s trying to tell me, I may as well have messages on a screen. The other potential advantage of using the home easy protocol is the possibility of using home easy remotes to select the information being displayed. A simple protocol also means that simple devices could control the ambient display directly, without requiring an always on server in between.

That covers the wireless connection. My plan is to use the USB connection to send animation information to the device, since this is beyond the home easy protocol. For example, to indicate traffic problems; top orb is alternating dim red and bright red, middle orb is dim amber, and bottom orb is dim green.

Simples! Well, in theory. I’m still thinking about a protocol that would capture the kind of ambient animations that I’m after. If there were several single orb animations, and several multiple orb animations, how would these be shown? Automatically? Based on some notion of priority? Manually using a remote, even though this seems less ambient?

I would love to hear if you have any comments or suggestions.

Update: The disco lights are almost back in one piece, and glowing a bit like they did originally! Just need to solder on the wireless module and get on to the software side! (16 April 2010)

Well, the polar bears have begun their migration back north to the loft. It was my first experiment with an ambient device and the Christmas tree was certainly hard to ignore, especially when Jo complained the bears had gone off again! As a result, I updated the arduino sketch a bit to just briefly flash the bears off every three minutes when our energy use was high instead of turning them off completely. Still annoying apparently (kind of the point!) but the bears did manage to stay under arduino control all Christmas with only a few breaks on manual! A few observations now that the experiment is over:

I don’t think having a display like CurrentCost’s in the house makes a huge difference after the initial discovery phase. That’s not to say that the display is pointless: it is much easier than checking the meter, and the cost estimate is great, but after I found out what wastes the most energy, I rarely look at it. Is that the same for most people?

On the other hand, having a Christmas tree flashing when a lot of energy is being used is much harder to ignore! Not really an all year round solution but I’m sold on the idea of ambient devices. I hope to have a more compact one soon. It would be nice to have a simple indication near the front door as well for quick checks that everything is off before going out.

Energy use alone wasn’t enough information to tell whether the house was occupied or not. I had planned to leave the lights on automatic all the time, so they would turn on when we arrived home and off when we were out. A daft idea with hind sight because the fridge and central heating were enough to confuse the poor polar bears.

The arduino does a great job controlling Home Easy devices. I had it set up to send ‘reminders’ on a regular basis, which seems like a good way to make sure things are in the right state without any acknowledgements from the Home Easy receivers. (Also quite entertaining when the lights pop back on after someone turns them off with the normal Home Easy remote! I’m easily amused!)

This was the first project I ‘completed’ with the the arduino, and it was almost useful! Well, I enjoyed it at least, and it’s got me thinking more about the next project: the ambient orbs if Farnell ever ship the TLC5940 I ordered, or a wireless programmable thermostat.

Getting inside was easy, with just a few screws holding the back in place. Once in, there’s a simple string of little circuit boards glued to plastic balls. A bit of levering popped the first one off to reveal a set of three LEDs, and it looks like they’re soldered on in a common anode arrangement…

You could just ditch the RGB circuits completely and pop in a few blinkms but I’d like to reuse what’s already in B&Q’s handy kit. I think it should be possible to cut the tracks to the colour changing circuit and wire the LEDs up to an Arduino instead. The problem is that there aren’t enough PWM outputs on a single Arduino to drive three RGB orbs. Fortunately a combination of a TLC5940 LED driver chip, and the Arduino library to go with it, should solve that problem.

Here are a few other links which look like they could be useful for this little project:

If I get the simple version working, I’d eventually like to get it working wirelessly. It would be much more useful if the orbs could be plugged in anywhere in the house rather than being connected to my home server via USB the whole time.