CoYoHo is my attempt to build a wireless home automation system which is fully open source and open hardware. That means everything is available under open source/hardware licenses and you can download, use and modify all of the hardware designs (schematics and PCBs), the device firmware source code as well as the server and client source code.
CoYoHo is a home automation system, so its main features are:
- Communication with distributed remote devices
- Getting input from remote sensors
- Control remote actuators
- Server for configuration and management
- Automated device control via scripts
- Web administration
- Mobile client administration
CoYoHo is currently in an early alpha stage. Since i have no *real* use for a home automation system (since i don't own a house ;-)), i only built some devices to suit my actual needs (switching lights and electronic equipment) and evaluate things that interest me (developing a Ruby server, developing an Android client). So don't expect anything industrial grade at the moment.
Finished devices:
- Box with 8 switchable power outlets (220V)
- Box with a dimmer (200V, put between power outlet and lamp)
- Remote control (battery powered, 10 push buttons, 3 LEDs)
- Reworked Ikea Spoeka night lamp (RGB LED light)
- WLAN camera (pan and tilt controlled by two servos)
- Linux server running on a Panda board
Soon to be finished:
- Basic server software for system management and control
- Voice recognition device based on an EasyVR module (acts a s a voice triggered remote control)
- Client software for Android devices (imagine a wall mounted Android tablet for controlling your home automation system)
- Wall switch (flush mount, switch and button combination)
- Wall dimmer (flush mount, Rotary knob and dimmer combination)
Currently the following technologies are used:
- Wireless communication with the remote devices via XBee modules
- ATmega controllers are used in the devices, the firmware is written in C++ using the Arduino framework and developed with the Eclipse IDE
- Server software is written in Ruby (JRuby) using the Vaadin web application framework and running as a Jetty web application on Linux
- Mobile client for Android devices, implemented as homescreen widgets
By the very nature of this project, CoYoHo will never be finished. You can always imagine new sensors and actuators to build, think of enhancements to the server software or create a client for a new mobile device.
Since CoYoHo is only one of my many interest, this project is progressing steady but slowly. So help of other developers is highly welcome.
CoYoHo project web site:
CoYoHo git repository: