A place for thoughts and ideas
Cubee is a connected desktop toy which spends most of the time trying to stay out of your way while calmly delivers the weather forecast for the next hour for your location.
Cubee was created because I needed to know the forecast for the next hour in order to decide when it's a good time to take my dogs out for a walk and at the same time avoid getting all of us soaking wet from the rain. Of course, knowing the weather conditions for the next hour does not only apply to walking your dog. You can use this information to decide if you are going out for a run, bike ride or anything else that bad weather is not suitable.
Cubee - an IOT desktop toy
This information is displayed on the 8x8 LED matrix. Here is an example of how the weather icons are displayed on Cubee:
(cloud, fog, overcast, rain, snow, sun, wind)
This (very) low resolution display makes it easy to read the icon from a distance or even by using your peripheral vision, like ambient display objects are designed to do so. This means that Cubee is able to keep itself out of your focus point, avoids creating distractions and it can be read with just a glance. A true glanceable information panel!
Cubee device showing the weather (sunny)
Cubee gets its data from a remote REST API server. This API fetches the weather forecast using the forecast.io weather service, transforms the data into one of the icons to displayed and sends it back to Cubee. In the mean time, the data is also stored on a RedisDB server for 15min in order to avoid hammering the forecast.io API with date request every 4min.
Besides displaying the weather conditions in my location for the next hour, Cubee can display my own (designed) icons by just sending them to the same API server. This way, I can have shell scripts or services like IFTT.com pushing 'notifications' to Cubee, e.g. email notification. Here are some icons I use for email, facebook and twitter notifications:
email, facebook, twitter
For Cubee to work properly I need to configure the WiFi parameters and my location. For the WiFi I'm suing the SmartLink android application, that is able to push WiFi configuration data to the ESP8266 chip. For the location setting, I have made a small web application that is updating the Cubee profile on the RedisDB using the REST API. For now, you can do very basic things, like setting a name an a description for the Cubee, setting an API key for when you want to send data to Cubee from a remote service/script and configure the location. I have also made another type of 'data feed' (which I call 'agents') which displays the snow forecast, instead of the weather, for the next 3 days.
Application Dashboard - Lists my Cubees
Configuring Data Agents
The problem with the 'agents' is that Cubee is very limited in the type and the detail of the information it can display. Cubee is more suited to display a 'fixed state data', e.g. Rain or Email or Twitter. Due to it's low resolution display and to keep Cubee a true 'glanceable information display', displaying 'transitional state data' is not possible. That means, that if I wanted to monitor the air pressure and use Cubee as a barometer, it wont be able to display the transitions of the pressure accurately in order to make a weather prediction.
The internal parts of Cubee are mainly:
- PicAxe microcontroller (using an 08m2)
- ESP8266 module for the wifi connection (AT mode firmware)
- 8x8 LED matrix driven by a MAX7219 chip
Here are the schematics for the Cubee:
Making some Cubee enclosures!
Comments and suggestions are welcomed.
Words & Letters: Connected smart wooden blocks toy. Have a look here.
Cubee: An IOT desktop toy that displays the weather. More info here.
A wooden treat dispenser your pet using a smart phone and blue-tooth. Have a look here.
IKEA Strala Lamp modification! Use a PicAxe chip to add X-mas tunes and control the lamp from you PC through the USB. Have a look here.
Little Bes: the lost rabbits - Mini old-school platform game! Have a look here.