Hard-Eliot is the hardware layer of Eliot project. It has open-source specifications available for creating new peripherals. Most of the peripherals can be connected to 15-PIN port of Mother device through SPI, Serial or I2C (TWI) ports available on 15-PIN port. Also, 15-PIN port can supply power required for peripherals running on 3.3V, 5V or 12V. Most of the peripherals utilize Atmega AVRs on I2C port for data exchange to and from Mother Module.
- Mother Module
- Relay Module
- RF24 Module
- RGB Led Driver Module
- OLED Screen Module
- LCD Screen Module
- GAS Sensor Module
- PIR Sensor Module
- Temperature & Humidity Module
- Keypad Module
Peripherals can be connected to Mother Module in series. There is no limit on the number of peripherals connected. However, there can be up to 128 I2C peripherals due to the reason that I2C address space is limited to 128. There are also other limitations for SPI devices. Only 2 SPI Peripheral can be connected to Mother Module because there is only two SPI chip-select pins available for SPI bus. Also, there is currently no protocol defined for Serial communication and if you are want to use raw serial bus, you are limited to only one Serial peripheral. If you want to use a multi-drop serial bus or implement your own for your peripherals, you are not limited to one peripheral.
Available communication protocols on Mother Module are:
- I2C (TWI), Low Speed, Up to 128 Peripherals
- SPI, Up to 1 MHz, 2 CS Pins enabling Up to 2 Peripherals
- Serial, Up to 115200 Baud, Only 1 Peripheral for Raw, Unlimited for multi-drop bus implementations
- RF24, Up to 200 Kbps, Unlimited Peripherals
One important advancement in Eliot family is the introduction of RF24 Wireless Bridge which acts as a wireless bridge between peripherals. In a smart home scenario, there can be multiple locations where peripherals are connected to devices. For example, a Temperature and Humidity Module can be connected to a Mother Module in the living room. However, Relay Module that switches the heater on and off according to temperature read can be located in the basement next to the heater. RF24 Bridge module easily links Mother Module and Relay Module seamlessly. RF24 Wireless Bridge will monitor messages on the bus and send it to corresponding module on the background. RF24 Wireless Bridge uses a lot less power than a Mother Module making it the best choice for remote sensors and actuators where there is no wifi. RF24 Wireless Bridge has a range of 100 meters indoor and up to 800 meters outdoor.
Mother Module is based on ESP12E module. For easy development, Lolin Development Board for ESP12E is utilized. Lolin Development Board has USB-Serial chipset on board, which makes it easy to program and debug. Mother Module is based on NodeMCU firmware. NodeMCU is mainteined by NodeMCU group. It is open-source and all the tools required for development is publicly available.
Mother Module handles all communication between Eliot peripherals and OpenHAB server with its embedded Wifi module. NodeMCU has good support for all WiFi stack and all you need to do is to setup Wifi connection. NodeMCU has full TCP/IP stack and it has a quite handy MQTT client which is used for high level communications between Mother Module and OpenHAB.