Modules are one of the distinctive features of the DomoTab Project
Due to the very large number of protocols used in smart home technologies, picking just one would have locked us in a limited product range and cut us off from from 90% of existing products.
This is the basis for our decision to create a central control unit able to link all protocols and technologies used in smart homes.
Faced with the estimated cost of such a device, however, we had to admit that creating an “all-included” product meeting our goals wasn’t realistic. The solution was to transfer protocol handling to modules that would each be dedicated to one technology.
Elements shared by all modules
All modules use the same standardized interface: the UEXT connector, an open format designed and freed by the Olimex company.
All interface modules also share the same micro-controller, NXP’s LPC1224, making it much easier for anyone interested to learn how to contribute. While its ARM Cortex-M0 core makes it simple to get started on, this micro-controller is quite powerful and benefits from numerous peripherals (2xUART, SPI, I²C, GPIO, ADC, Timers, … ) and enough internal memory (32KB of Flash memory and 4KB of SRAM) for any application.
Having a micro-controller on each module allows the protocols to be handled by the module itself, simplifying the interface and freeing up resources on the central unit.
Each module includes an identification EEPROM of 1 or 16 KB which can store configuration or status data, or even the module’s driver so that it can be deployed more easily.
Finally, all modules meet accurate size specifications so that they can easily fit in either the DTPlug or the DomoTab.
Comparison with Arduino
I’ve often been asked what the difference was between a Domotab or DTPlug and an Arduino. There’s no easy answer as there are dozens of Arduino boards but let’s give it a try.
I would say that while both platforms have a lot in common and you can use them for more or less the same things, Arduino is primarily a learning platform while Domotab aims to become a practical smart home appliance.
Also, Arduino boards are produced by the thousands while ours are still done in small batches.
|-||GPIO Demo Module||Arduino Uno||Arduino Mega2560||DTPlug|
|Micro-controller||NXP’s LPC1224||Atmel’s ATmega328||Atmel’s ATmega2560||NXP’s LPC1764|
|Core||32 bit ARM Cortex M0||8 bit AVR||8 bit AVR||32 bit ARM Cortex M3|
|CPU Freq||45MHz max (user config)||16MHz||16MHz||100MHz max (user config)|
|Flash Memory||32KB (128KB max)||32KB||128 KB (256KB max)||128 KB (512KB max)|
|SRAM||4KB||2KB||8 KB||32 KB (64KB max)|
|EEPROM||1KB or 16KB (on I2C)||1KB (internal)||4KB (internal)||1KB or 16KB (on I2C)|
|Inputs/Outputs||32 (6 Analog in)||22 (6 Analog in)||70 (16 Analog in)||30 (5 Analog in)|
|Programming||USB or UART||USB (bootloader)||USB (bootloader)||USB or UART|
|Full programming||USB or UART||ISP header (+ ext. hardware)||ISP header (+ ext. hardware)||UART|
|Serial Communication||2 UART||1 UART||4 UART||4 UART|
|Ethernet||UEXT module req.||Shield req.||Shield req. (+45€)||1 port 10/100|
|SD Card||UEXT module req.||Shield req.||Shield req.||1 SD card|
|Other Busses||I2C, SPI||I2C, SPI||I2C, SPI||I2C, SPI|
|Buttons||1 Reset + 1 User||1 Reset||1 Reset||1 Reset + 1 User|
|Extensions||1 UEXT Port||Arduino Schields||Arduino Schields||4 UEXT Ports|
No cable required
USB Cable (+2€)
USB Cable (+2€)
4 UEXT connectors
30W power supply (110/230V)
|Debug||Serial wire debug||debugWIRE||JTAG||ARM JTAG|
|Price||26 euros||20 euros||84 euros (39+45)
(+15 for 5W power supply and box)
(+26 for 30W power supply and box)