The Arduinos are programmed with special versions (preprocessor switches) of the normal firmware code. Uncomment the BOARD_TYPE_DEMO_SHIELD define and comment out the default BOARD_TYPE_... define.
You can also use the sketches that are provided in the demo-shields sub-directories of the caretaker-devices project to upload the firmware directly with the Arduino IDE. In order to do this, you need to 1) copy the caretaker-device directory into your local Arduino libraries directory and 2) extract all zipped libraries from the 3dparty-libraries into your local Arduino libraries directory.
This is a simple example of a switch module. Normally a solid state relay is used to turn on and off equipment like light bulbs, TVs and so on. On this shield a LED shows the state of the switch. There is also a button for manually switching the LED on and off. This directly changes the state of the LED (without going over the server) but also sends the new switch state to the server.
This shield uses the caretaker-device-switch firmware with the BOARD_TYPE_DEMO_SHIELD compiler flag enabled or the CaretakerDemoSwitch.ino sketch.
This is a remote controllable RGB LED. On the web page you can control it by moving red, green and blue slider controls.
This shield uses the caretaker-device-dimmerrgb firmware with the BOARD_TYPE_DEMO_SHIELD compiler flag enabled or the CaretakerDemoRGB.ino sketch.
This shield contains a Dallas DS18S20 temperature sensor and a photo resistor. The two sensor values are display on the web page with two gauge graphs.
This shield uses the caretaker-device-sensor firmware with the BOARD_TYPE_DEMO_SHIELD compiler flag enabled or the CaretakerDemoSensor.ino sketch.
Here we have a board with four buttons, demonstrating a simple remote control.
This shield uses the caretaker-device-remotecontrol firmware with the BOARD_TYPE_DEMO_SHIELD compiler flag enabled or the CaretakerDemoButton.ino sketch.
And finally a board with a rotary encoder that lets you control the brightness of the RGB LED.
This shield uses the caretaker-device-rotaryknob firmware with the BOARD_TYPE_DEMO_SHIELD compiler flag enabled or the CaretakerDemoEncoder.ino sketch.
The Caretaker project files are hosted at GitHub:
https://github.com/grappendorf/caretaker-devices
The subdirectory demo-shields contains all the Eagle (V6) PCB layout files for these shields. The firmware source code can be found in the various device subdirectories.