I have made available on
The replacement firmware is in no way compatible with the OEM firmware and also requires certain pins to be rerouted between the PIC and CM11a board.
The firmware provides a low-level interface to the power line. Received bits are grouped 6 at a time and sent to the host. The host transmits by specifying a bit string and a repeat count. All encoding/decoding is done in the host. Normally once the host has seen 7 or more zero bits further zeroes are suppressed, but for full real-time analysis a flag is provided to force all bits to be transferred. An additional flag is available to disable three-phase transmission support and the supplied daemon sets this flag by default.
I've been running this code for a few days but it should of course be considered preliminary. Further documentation will be available depending on the level of interest...
Dan Lanciani ddl@danlan.*com