Let's Make Robots!

NABOT - [Not A] BOT Domotic

complete domotic and security system

NABOT, is not a bot.

But could be considered as one  (remember that movie with the 'red eye' in the house?)



At the origin, only have some cool touch switches

now... a complete domotic and security system



interconnected PICAXE devices, various sensors 


Network (BUS): 

Inter-picaxe communication works fine         http://letsmakerobots.com/node/3548  (mintvelt's excellent tutorial)

But the 5V TTL signals are not tailored for long distance domotic network

The evidence for me is RS485      http://letsmakerobots.com/node/4642  (my own rs485 component page)

The cable will be CAT5 STP (shielded) LAN cable, which over-meets the RS485 requirements



Power supply :  2x9V transformers,  bridge rectifiers, LM2940 voltage regulators + capacitors 

PICAXE mcu's  :   (08 for simple switches......  18, 28 or 40 where needed)

Touch sensors :   QPROX QT110 family      http://www.qprox.com/products/Page-16035/qt110.html

RS485 transcievers

LSI  LS7534 dimmer control chips PICAXE08 (phase lock loop),  to control the TRIAC

16A 800V triacs, + opto thingeys 

Piezo-buzzer  (in each switch) 

LCD screen(s)        http://letsmakerobots.com/node/4644

cheap Remote control      http://www.amazool.com/images/products_images/unfurl/amazool_b442_shop.jpg

touchpads ?

fingerprint reader ? 





-Control of the double flow ventilation unit

-Monitoring of the rainwater tank level and auto refill with tap water when empty, using a dishwasher valve 

-PIR detection  (automatic light in the entrance, security system)

-Implement a restrospective token bus over RS485   http://wrldcomp.com/the_token_bus_protocol/index.html

-Implement an 'ACTIVE ALARM' system   (security sensors emit packets when everything is ok... and stop when something is going wrong) 

-Have a web/wap interface

-Control/Monitor the heat-pump

-Control the garage door opener

-Have the switches 'ring' (beep) when someone is ringing at the door 

-or when we want to tell the kids that it's dinner time. (to be done)  (the kids I mean)

-Have a self-test function, for example, after 10sec of contact, the switches enter in a self-test mode with some beeps,

and action on the BUS 

-Show time, temperature... or news... on the switches when idle 

-... any suggestion is welcome ! 


Current status: 

QT110 :   ok touch sensors are working

RS485 :   ok packets are sent and recieved

LCD  :   ok some fun tests are working fine

IR control :   ok, working with SONY RC

Power Supply :   ok 

Dimmer :  ok  - now using a picaxe08M to sync with the phase (see the comments)

TRIAC power output : ok - I have recieved my optothingeys

Design the touche plates.  (choose a size, a shape, a material)

or use some IR detection instead of touch sensors 


1st february : tonight I've exploded a 16A 800V triac, fused 2 resistors, welded my oscillo-probe...  


26th of february : It's Alive !!!  

I've recieve my order from Thailand, with all my optothingeys and other fun stuffs (like 555"s and a realtime clock)

See the new video "First live test" 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Have you looked at X10 or some of the other home automation standards?


no, I did'nt look for any standard, and prefered to start from scratch

I did'nt know X10 (even not the name)

iF we can believe the french wikipedia, X10 was invented by a belgian guy :D,

uses 120Khz signals over mains, sending a bit at each zero crossing

A command takes 3/4 sec to be sent 

see i though X10 was invented by radio shack but thats probably wrong
now this is cool !!!

Nice. I've got a bit of home automation installed, using Insteon interfaces from SmartHome.com. I've got a laptop functioning as a server running MisterHouse (open-source perl package), and several Insteon light switches, power outlets, etc. Right now all it does is turn on some lights like the front porch light 30 mins before sunset and turn them off at 3am and things like that, but I've been meaning to integrate it with some of my other projects like my Arduino-controlled moodlight, to do more interesting things. If you install microphones throughout the house, the software can use voice recognition to respond to verbal commands, and if you install speakers, it can talk to you like to announce that someone's at the door or tell you the current weather when you ask or whatever. But I'm renting this house, so I can't go running wires through the house for speakers and mics :)


Your house has now taken over and all occupants will be destroyed on site! lol

Nice work so far... :P


here is a fun video of early domotic   

I did never think about having the bath controlled by a comptuer :)





here a picture of the SONY IR protocol signal :




here is the result of a big 220V mess ;)

(triac was 800V 16A) 

ouch1.jpg ouch2.jpg




Feb 6th and 7th: 

As LS7534 seems painful to use (non standard voltages...),  I've been working on a Picaxe08 Phase locking

The idea is simple :

- Have the Picaxe detect the zero crossing 

- Wait a defined time  (depending the dimming value)

- Send a Pulse to the optocoupler, which drives the Triac

- The Triac is triggered by the pulse, and stays 'On' until next zero crossing


Here is the circuit I made to detect the zero crossing

in RED,  the 220V 50Hz mains

in GREEN, the zero-crossing detection sent to the Picaxe 

zero_crossing_detection.jpg What has been done so far:

"reverse" zero crossing detection (signal is always high, with a short low at zero crossing) ,   picaxe is sync'ed to that,   and the pulse is generated after a defined delay

the hereabove delay is recieved by an "inter-picaxe" serial data transfer 


How I've proceeded: 

1) Verify if the secondary of a transformer is sync'ed to the mains --> Yes, a really short in advance  (<1ms)

2) Build the zero crossing detection circuit, based on the output of the rectifier bridge  (a NPN transistor and 2 resistors) 

3) Sync Picaxe08 using PULSIN   (the Picaxe processing time makes the signal really sync'ed to the mains)

4) Implement the serial input of the dimming value  

5) Simulate a 'positive' zero crossing signal in Electronic Workbench (see picture) 


Next steps: 

- If dimming value is 'OFF',  or 'FULL ON',  set output to LOW or HIGH, then enter a second loop, which is not sync'ed and is just waiting for a SERIN to occur 

- Buy some optocoupler thingys 

- Make some 220V mess again 

 I've successfully modified the zero crossing detection as per my previous "electronic labs" simulation

 This week, I'm replacing the serial inter-picaxe communication to the syncing picaxe by a pulsout/pulsin way of giving the dimmer value


basic code for phase-locking

sync_loop:                                          (*)

pulsin 3,1,w0    'sync on high               waits the trigger input to be high  (zero crossing)

pulsout 1,w1                        pulsout is used to precisely 'pause'  (pulsout is 100 more accurate than 'pause') (**)

pulsout 2,50      output to the optocoulpler thingy (to come),  that triggers the main triac

if pin4=1 then goto get_value             input pin used to get the dimming level  (0=OFF     255=ON)

goto sync_loop 


When the dimmer setting is ON or OFF, the trigger is set HIGH (on) or LOW (off),  then an idle loop is only checking for a new dimming level


the sine of the MAINS (220V 50Hz)  and the output of the transformer and rectifier bridge  (9V)

note that the output of the transformer is about 1ms in advance 



 the "zero crossing detection" transistor output

(which keeps the 1ms advance) 



this is the output of the Picaxe08 :  which is no more in advance 

The pulsout used as a 'pause' instruction takes some time to execute.

Even a '0' pulse takes the 1ms advance time we had on the zero-crossing signal, we are now Sync'ed to the mains 



and a dimming signal test

256 : full power :   no pause 

128 : half power, wait an half cycle  (5ms)

0 : triggers just at zero crossing   (and of cycle)

here : 180 --->    (256-180)/256 * 10 ms = 2,96 ms ---> pause is PULSOUT 1,296



This is advanced serial shizzle! Better not cross breed this system with Fritsl's stuph!

yeah, I did'nt even think about interconnecting it with any fun robot

I will definitely think about an RF access point somewhere