My new home automation project – KitchenTouch

It has been a little quiet in my blog lately. But it’s not because I was lazy (well, maybe just a little).

I’ve been busy celebrating many many birthdays in July (including my own) and also I spent a lot of my time learning new technologies (namely HTML5, CSS3 and C# languages) and coding my own home automation project called KitchenTouch.

That last thing is what I want to tell you about.

Origins

Here’s a bit of a history for this project.

KitchenTouch originally started as part of an anniversary gift for my wife, when I decided to install a tiny Win7 Home Premium HTPC for her entertainment in the kitchen. For the curious ones the HTPC is the Acer AspireRevo 3610 with dual-core Intel Atom, Nvidia ION graphics and 2Gb of RAM. If you want more details on the Revo system check this very good site called RevoHTPC by James “Motz” Montemagno.

I started thinking of how to customize that system and make it easier for my wife to use. Taking into account the kitchen environment and possible usage patterns, I realized that keyboard and mouse were impractical controls while cooking. Therefore I decided to look into touch options. I acquired a touch-screen monitor for that system and started looking into available user interfaces. Alas, all products I could find were either too sophisticated (complex and difficult to use) or didn’t provide the features I was looking for. So, naturally I decided to write my own. 🙂

I had limited time on my hands (around 2 weeks before the event), but I really wanted to learn a new programming language – C#. I set off to quickly learn C# while doing something useful. Thus, KitchenTouch was born! I really didn’t have the time to plan the project through properly, but I had a general idea of what I want to achieve. Some features were written and re-written several times, layout was constantly changing as I was testing the program’s usability. And I expect it to change in the future as I go ahead with new features.

Objectives

  • Create a simple, touch-friendly user interface where most of the tasks could be completed in 2-3 clicks/touches.
  • Primary input should come from the touch, so an easy-to-use software keyboard should be implemented.
  • Allow the GUI to be skinned.
  • Provide customization of features (modules) and options within these features (avoid hard-coded links, etc.).

Modules supported / planned

  • Easy to see and always available time/date display;
  • Picture frame (slideshow);
  • Cameras pane for CCTV and remote Webcams (convenient to keep an eye on the kids and check traffic in the morning);
  • Weather;
  • Internet browser for quick searches (Google) and up-to-date news (Facebook, Twitter, CNN, etc);
  • Music player for local and streaming sources;
  • Cookbook for quick recipes lookup (possibly with a timer and pictures);
  • Lighting status and control (I primarily target X10 and INSTEON systems);
  • Security system status and control;

Screenshots

The screenshots are available in Picasa.

System Requirements

To run:

  • Windows XP SP2+, Vista, Win7
  • .Net 3.5 runtime
  • Display with 800×600 or higher resolution (1024×768 recommended)

To build:

  • same as above, plus
  • MS VisualStudio 2008 with C# language support

License

This project is a free software developed under GNU Lesser General Public License (aka GNU LGPL).
Please see http://www.gnu.org/licenses/lgpl.html for details.

Icons by Axialis Team (http://axialis.com)

For now there are no binaries (aka Setup/Installer) to download, but the full C# source code is available for anyone interested from http://kitchentouch.codeplex.com.

Let me know if you want to see photos of my kitchen HTPC set-up and I’ll post them here. Stay tuned for updates to this project — follow me on Twitter (@rusgrafx).

I’d also like to get feedback from C# developers, as this is my first project in this language and I’m sure there is a lot of code that could be improved.

About Ruslan Ulanov 103 Articles
Ruslan Ulanov is a software engineer by day and Smart Home hacker by night. He got fascinated by potential of home automation over a decade ago, when it was available to select few. Over the years experimented with smart products using different technologies from X10 to Insteon to ZigBee. Actively supports new smart home developments on Kickstarter and Indiegogo.

2 Trackbacks & Pingbacks

  1. DIY Project: Custom made touch panel | Home Automation DIY
  2. KitchenTouch project: status update | Home Automation DIY

Leave a Reply

Your email address will not be published.


*