Use the 433MHz Si4432 module for the wireless network
Using this module over the nRF 2.4GHz should allow for better reception in areas that reception was hit and miss, this was in the garage and some spots around the house. Input voltage is 1.8V to 3.6V so it’s quite low. Current consumption is 1uA when sleeping, 18mA in receive and you can change your transmit power from 1dBm to 20dBm (17mA to 85mA), so I might go for 5 or 8dBm which might be around 20mA. The downside is that it’s a lower frequency it will need to be receiving and transmitting for a longer period of time.
Door sensor – Hall effect sensor / updated reed switch
The problem with the old door sensors was the reed switch, if there was a vibration say hitting the door frame or similar it could trigger it, I was doing some filtering for this, like delaying a few ms and re-checking but I’d rather not have vibration impact the system.
I looked at going with hall sensors, if mounted correctly, you would detect if the magnet passing as the north and south poles would induce a voltage change. There were a few problems, one hall sensor was latched so it wouldn’t change states unless you pulsed the sensor on/off, so I bought a non-latched sensor but the current consumption was around 2mA at idle and the magnet did have to be relatively close for it to work properly.
So I went back looking at reed switches and found some that were covered in a black mold, I had my doubts but they do seem to resist vibration very well,
I’ve been thinking about what battery other than LiPos I can use, it’s a bit concerning using them without a battery protection switch though I do have a low current fuse in place in case of shorts. The new battery would have to account for the Si4432 1.8V to 3.6V and also with the PIR if we remove the 3.3V regulator we can drop down to 3.1V and it should still function correctly.
It looks like the LiFePo4 battery chemistry will do the trick, it’s safer than LiPos and offers a 3V to 3.3V working voltage which is perfect for my application. I bought a Zippy 2S 700mAh one, discharged it to 3.05V and then recharged it to 3.6V which the charger said it recharged about 600mAh. I’ll just have to separate the cells but I’ll also put a fuse on them too just in case.
In Australia the 2G network will be no more in Dec 2016 so this will force me to either switch to a 3G network/module . At first I looked at a service like Pushbullet which is free for a certain amount of messages per month but for some reason it didn’t seem to give push notifications unless you checked the app (might be a recent update that broke it) although the good thing is that other email providers do support push like @icloud.com. I enabled the mail for my iPhone, made sure Push was enabled and it seems to do the job. The downside is if the internet is down we might have a problem!
As I currently have the RPi acting as the wifi interface, I’d like to have more options being displayed on the webpage like sensor check ins (which are currently LEDs on the physical device), alarm logs such as when it was turned on, off, alarm tripped, which sensor reported it, battery voltage monitoring, etc. Also I’m investigating whether I should just replace the RPi with the ESP8266 for a more compact solution and cheaper solution, I think it’s the better option if I can get it up and running, I would still have an ATmega for the Si4432 side.
I was looking at a chip that would do all the HMAC/SHA so I can save on chip memory/usage, off load all processing to that chip, have a true random number generator (as I was just increment the static random number before!) and have the keys be secure on chip. It’s probably overkill for a simple alarm system but I’d like to give it a go anyway.
One of the chips available to me is the ATSHA204A available . After reviewing the datasheet for a few hours (way longer than I wanted to), it seems like it will work though it was a little confusing reading through the commands as it’s possible to do all sorts of things with various keys, nounce, one time programmable zones, and so on but I’ll just need to stick with the bare basics.