RF comms module

A project log for Networked energy metering and home automation

Networked energy-metering nodes (at 10A 85-265VAC) nodes for home and building automation. And smart capacitive light switches, too!

Luke WestonLuke Weston 04/03/2017 at 16:210 Comments

The RF communications component is implemented as a separate module, rather than an all-in-one single PCB. This means that the RF module can be swapped to support different types of networks and different chipsets - for example WiFi solutions from Broadcom or TI or Atmel, or the Espressif ESP32, or 802.15.4 solutions such as the TI CC2538 or Atmel's ATmegaRF 802.15.4 solutions, or Bluetooth solutions such as the Nordic nRF51822. LoRA may also be used, for example to control an agricultural pump in a remote paddock. You may want to use different wireless hardware, or a new device that isn't even on the market yet. And you don't want to redo the design and layout across the whole system, so let's make it modular and replaceable.

Today the way to go is a single-chip solution providing both your wireless connectivity and application microcontroller on a single chip - such solutions are common today, low cost, and a good fit for many different wireless connectivity standards such as WiFi, BLE or 802.15.4.

The first of several radio modules that I'll implement will be the familiar Espressif ESP8266.

Sorry, that one isn't back from the fab yet. :)

Really simple - it's just a familiar ESP8266, crystal, pi network for impedance matching, a couple of passives and the flash memory. It just fits into a certain form factor with a certain header pinout to match the motherboards. (Both the switch board and the energy metering board share a common interface pinout to the microcontroller board.) These pins provide the ESP8266 hardware SPI interface (on GPIO12/GPIO13/GPIO14/GPIO15) because we need that SPI for reading data from the energy metering IC.

A spare header on top breaks out all the spare ESP8266 pins - for example GPIO1 and GPIO3 for firmware programming.
A relatively large (32 Mbit) flash memory should be used, as this provides more room for firmware development as well as for storing the "redundant" firmware in memory when OTA programming is used.