Modules

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
USB - - - 1 device
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
Leds 1 bicolor 1 1 1
Buttons 1 Reset + 1 User 1 Reset 1 Reset 1 Reset + 1 User
Extensions 1 UEXT Port Arduino Schields Arduino Schields 4 UEXT Ports
Other Temperature sensor
No cable required
Power connector
USB Cable (+2€)
Power connector
USB Cable (+2€)
RTC
4 UEXT connectors
30W power supply (110/230V)
Box
Debug Serial wire debug debugWIRE JTAG ARM JTAG
Price 26 euros 20 euros 84 euros (39+45)
(+15 for 5W power supply and box)
74 euros
(+26 for 30W power supply and box)

Modules examples


nouveaux_prototypes_modules