Controller

Purpose
The controller device is an HMI (human machine interface) with inputs (such as switches and buttons) and outputs (such as a display, speaker, LEDs).
It's purpose is that the user can request actions or set different modes of operation for other smart home devices and to have an overview of the status of smart home devices. It is also possible to build up a kind of interactive menu by reaction on button presses and changing what's on the display by implementing it in the corresponsing smart home applivation that's connected to the base station.
As the device usually has a display with background light, and interactions should be fast, it runs at 20 MHz on 5V, with internal voltage regulator to 3,3V for the RFM12 module. Because of the higher power consumption, it is meant to be powered by a 5V power supply.

Inputs and Outputs
The device uses a bigger ATMega644 to have more I/O possibilities. Most I/O pins are available on pin headers on the side of the PCB. They can be used freely for buttons when they are not used already by other functionality (display etc.).
Inputs
- Buttons
- Switches
- Analog voltages
Outputs
- LCD Text display
- Speaker
- RGB LED (as status light like in the RGB Dimmer device, with same functionality for colors and animations)
- I/O pins (to which you can connect e.g. a relais to switch something)

Functions, Behaviour
After building up the device, you have to configure which display, speaker, LEDs and buttons/switches you want to use. Afterwards, you can communicate through the Base Station or the smart home software of your choice that's connected to the base station with the Controller device to test it. You should write down what information should be shown on the display, what statuses should be shown on LEDs, and what the user shall be able to select when he presses a button / switches a switch. Afterwards, you have to implement that logic in your smart home application.
As an example, you could to the following in FHEM:
- xx
- xx
Supported Messages
- Generic_Version_Status
- Generic_Battery_Status
- Weather_Humidity_Status

E2P Device Configuration
Hardware Overview
PCB | Controller PCB (SMDSurface-mounted device Using this technique, the components are soldered directly to the surface of the PCB. The components are often very small. Their pin pitch is also small. Building up these devices needs some experience in soldering.) 91 x 50 mm |
---|---|
Microcontroller | ATMega 644P-AU (40-pin DIL) |
Clock Source | 20 MHz external crystal |
RFM Transceiver Mode | TX only |
UART | only debug TX |
Power | 5V power supply |

Download
- Firmware Builds for the ATMega
- Hardware Schematics + Layout at GitHub
- SourceCode at GitHub

Assembly Instructions
Look into the Wiki for assembly instructions for this device. It would be appreciated if you correct or enhance the description whenever you find potential for improvement.