Z-Wave switch and Z-Wave sensor

Introduction

Z-Wave is a wireless communications protocol used primarily for home automation. It is a mesh network using low-energy radio waves to communicate from appliance to appliance,[1] allowing for wireless control of residential appliances and other devices, such as lighting control, security systems, thermostats, windows, locks, swimming pools and garage door openers.[2][3] Like other protocols and systems aimed at the home and office automation market, a Z-Wave system can be controlled via the Internet from a smart phone, tablet or computer, and locally through a smart speaker, wireless keyfob, or wall-mounted panel with a Z-Wave gateway or central control device serving as both the hub controller and portal to the outside.[2][4] Z-Wave provides the application layer interoperability between home control systems of different manufacturers that are a part of its alliance. There are a growing number of interoperable Z-Wave products; over 1,700 in 2017,[5] and over 2,600 by 2019.[6]

Schematic

  • It’s a very simple schematic design, since all the hard jobs had been handled by Sigma Design, we just prepare power for the ZM5202 module and use its  GPIOs to drive the relay.
  • The sensor module will read digital input from 3 pins, we can have some real sensors output to these pins
zwave switch schematic
Switch
zwave_sensor_schematic
Sensor

Layout

  • The hardest job in this task is antenna design since  I have no knowledge about RF signals.
  • The good news is we have examples of designs that ready to use, I just copied them.
zwave switch layout
zwave switch 3D layout

Board bring up

  • That is an amazing task, it will test our patience and perseverance.
zwave switch board
Switch
zwave sensor board
Sensor

Firmware

  • The Zwave SDK support both IDE and Makefile to build the firmware, we need the C51 toolchain in order to build the source code.
  • On this project, I had used KeilC IDE for development.
zwave_switch_firmware

Video demo

Description

  • We will use the benefit of Mesh network that the Z-Wave protocol provides, my test scenario will likely as below:
zwave_work_flow
  • Think about the case you have 3 buttons in your bedroom and you want to turn on/off the lights in the backyard, the garage, or the garden that far away from your buttons.
  • In the picture above, the sensor can reach switch1 directly but can’t reach switch2 and switch3.
  • with MESH network, switch1, switch2 will retransmit the packet from other nodes if it was not a destination of the packet. So, with this feature, we can extend the device reachable scope.

Setup

  • In this demo, I used 3 modules as 3 binary switches.
  • The module on the kit worked as the binary sensor (used buttons on carrier board).
  • The Zwave USB was used as a static controller.
  • We have some extra steps with the software on the host machine to:
    • Request the controller node to create a Z-Wave network.
    • Allow 3 switches and 1 sensor to join the network.
    • The sensor module has 3 inputs (represent 3 control sources), so we need to associate each input with a specific switch.
  • In the video below, I had done those steps, so when I press the button on the sensor module (buttons on carrier board), the led on the associated switch will on/off accordingly.

Source code