03/15/2020 at 20:14 •
I've spent some of the COVID-19 quarantine alone-time sketching out the initial design. The schematic in the files section represents the beginning of the transmitter. The receiver is mostly the same except for the power supply section. That will wind up having a simple LDO power supply from some sort of AC input along with SSRs for outputs instead of buttons.
The design includes a boost converter to turn a pair of AA batterie into a constant 3.3v power supply. The design at present calls for the boost converter to run constantly and hopefully with a low enough load the batteries will last long enough to not be a nuisance. If that doesn't work out, then we'd have to come up with some other scheme for backup power to the RTC chip and a MOSFET system to turn the power supply on and off when the button(s) are pushed. Hopefully it won't come to that.
The RTC chip has a supercap for backup power, and the chip can be internally configured to trickle-charge the cap. This is only necessary to carry over the time counter whenever the batteries are changed.
The schematic has connections for up to 4 buttons. The message to the receiver will include an 8 bit "message" field that can be used for future expansion. A secp256r1 public key is 2 32 byte numbers and an ECDSA signature is 96 bytes long. The time counter is 4 bytes long and the message byte is 1. That is a full packet size of 165 bytes, or 1320 bits (a 1 or 2 byte CRC might be appended just to cut down on the amount of verification work the receiver needs to do. A CRC check is a lot easier than an ECDSA signature test). At 10 kbps, that's just over 1/8 of a second or so, which ought to be just fine. A single button push would be a second or two, and would accommodate easily a half dozen retransmissions, of which you'd hope at least one would go through.
The downside so far is that the DS1374C is kind of expensive - about $5 each. The other chips are pretty inexpensive by comparison, though we haven't even begun to talk about the radio yet.