Cypress EZ-BT™ Module Mesh Evaluation Kit - Review

Table of contents

RoadTest: Cypress EZ-BT™ Module Mesh Evaluation Kit

Author: abiswas1993

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: The only comparable product for Bluetooth mesh is Particle Xenon. Particle Argon also has mesh capability and wifi integrated. The cypress also has Global Coexistence Interface (GCI) for Wi-Fi integration.

What were the biggest problems encountered?: Few of the problems I encountered are listed below- 1. Connecting multiple boards arises problem to detect the targeted board and only upload program to the board which was detected with lower serial com number. 2. The mesh client control app sometimes cant communicate with the network nodes properly.

Detailed Review:

Contents

My Goal

Unboxing

Software

Test Program

Conclusion

Would I recommend?

Few Resources

My Goal

The Mesh feature is unique for this kit. In order to build any local network of sensors where the system components are inter dependable and share real-time data, a form of communication is necessary.   In a Bluetooth mesh, the nodes (individual devices with Bluetooth mesh capabilities serving different purposes often named according to their functionality i.g. light node, relay, switch, etc) can communicate with each other or any Bluetooth device on the same network. Now, if an internet connection is necessary then a wifi module can be useful and added to the system via UART. My road test is divided into two parts in part 1 I will be setting up the kit to demonstrate the features and getting started steps. Part 2 will be posted later showing a modification of codes to interface different sensor connected to other GPIO pins.

 

In this roadtest the below point will be discussed -

 

1. A basic idea of the CYBT-213043-MESH development kit.

2. Create and run the Light Bulb control program using 2 or more boards while at least one will act as a switch and other as dimmable light (at least two boards required).

3. Create a Mesh Network using MeshLighting Android application.

4. Create a Mesh network using the Mesh Client software.

5. Manipulate the Mesh network by both Windows/Android software

 

Unboxing

  • 1: 4 MicroUSB cable for  4 boards.

 

  • 2: Getting started guide

  • 3: 4 CYBT-213043-MESH boards.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Features

 

Few Features of the CYBT-213043-MESH development kit.

1. A CYW20819 Ultra-Low Power, BLE/BR/EDR Bluetooth 5.0 SoC with an antenna. (The CYW20819 is useful to retrieve the datasheet and processor features). The Spec sheet of CYW20819 can be found here. ( View page or  direct download )

2. Sensors-

  • A PIR motion sensor.
  • A thermistor.
  • An ambient light sensor.

3. Controls-

  • 3 buttons (User, reset and recover).

4. Onboard 2 channel USB to UART for debug report/overall device status printing and programming.

 

 

 

Software

In order to program the kit and set up a network basically one software package needs to be installed.

 

Click to download- ModusToolbox Download

 

Setup

 

After installation, the software ModusToolbox 1.1 can be found on this location - C:\Users\user\ModusToolbox_1.1\eclipse [SDK]

To create and control a network the MeshClient software can be found - C:\Users\user\ModusToolbox_1.1\libraries\bt_20819A1-1.0\components\BT-SDK\common\apps\snip\mesh\peerapps\Windows\MeshClient\Release\x86\MeshClient.exe

The Mesh lighting app for android can be found - C:\Users\user\ModusToolbox_1.1\libraries\bt_20819A1-1.0\components\BT-SDK\common\apps\snip\mesh\peerapps\Android\src\bin

 

Test Program

 

Test Program Structure-

 

In order to control/communicate between the Bluetooth nodes (different boards) first the role of each board has to be defined. The defined boards then have to be included in a network as individual components. Any boards programmed but not added in a network is called an unprovisioned device while the term provisioning means to add a board to a predefined network. In the first program, one board will be programmed as a led switch which will communicate to the other boards to control their onboard LEDs.

 

Steps that will be taken:

 

1. Program one board as a switch to control onboard LEDs of other boards.

2. Program one/two board to act as a dimmable light bulb.

3. Open a network on Mesh Client (Windows) software.

4. Provision the individual boards to the network.

5. Try controlling the light bulb boards using the Mesh Client app as well as the Light Switchboard.

6. Create and control a network by the Mesh lighting app on Android.

 

1. Program one board as a switch to control onboard LED of other boards

  • Modus ToolBox

  • Importing the Mesh Dimmer program (upload to the board will be used as a switch to the light bulbs in the mesh)

File->Modust Toolbox IDE Application--> Choose Target Hardware --> CYBT-213043-MESH

 

Once loaded the readme.txt file describes the functionality of the switch as - toggling the button will toggle on/off the led on the other boards programmed as the light bulb, Push and hold will change the intensity low->high or vice versa.

 

  • The next step is to connect the board to the computer by a micro-USB cable. Once connected two serial ports (WICED HCI UART and WICED Peripheral UART) will appear on device manager

 

  • The WICED HCI UART(COM14) is a programming port while the WICED Peripheral UART(COM17) is device status/debug information port. A serial port terminal software (i.e. Putty, Serial monitor) can be connected to the COM17 to see the device status as well as programming update. !!! One thing to mention the baud rate at which the WICED Peripheral UART connects by default is - 921600.

In the Modus Toolbox building and programming is easier and was done just by clicking the Build +Program button

 

While programming the progress can be seen on the serial port-

So the light switch is ready to be provisioned in a network.

2. Program one/two board to act as a dimmable light bulb.

 

Following the same steps as described to program the switch- two boards are programmed as Dimmable Light (Boards which will act as a light bulb)-

 

!!!!!!!!!!!!!! Warning !!!!!!!!!!!!!!

I have found that if more than one board is connected through USB to the computer at the same time, the computer picks the board with the smallest com port number assigned and programmed that board. So I was not able to pick specific boards I was targeting.  so I disconnected the other boards except for the one I am intending to program.

 

After programming all the boards, it is time to create a network and provision them to communicate with each other.

 

3. Open a network on Mesh Client (Windows) software.

 

  • Brief description of a mesh network- Inside a Bluetooth mesh network (after it is created) any nodes (Boards programmed according to different functionality) that not added to the network is called unprovisioned device while adding to the network called provisioning.

  • This step required me to create a network and add the programmed kits as shown below-

  • So I created a network in the Mesh Client Software- the MeshClient software can be found - C:\Users\user\ModusToolbox_1.1\libraries\bt_20819A1-1.0\components\BT-SDK\common\apps\snip\mesh\peerapps\Windows\MeshClient\Release\x86\MeshClient.exe

 

Steps Followed (Numbers associated with the text below are mentioned in the below figure)-

 

1. Insert the Network Name and User.

2. Click create to create the network.

3. Click open to make the network available for other device and to be able to scan other unprovisioned devices.

4. All the status can be seen in this log.

 

4. Provision the individual boards to the network.

 

Now after opening the network the next step is to add the nodes to the network. It is preferred to add one by one because sometimes having multiple unprovisioned nodes misses the node names.

1. Clicking Scan Unprovisioned will show the name and UUID of the device (2).

2. Device information. The name can be manipulated by the users.

3. To provision- click Provision and configure. The status can be seen in the log (4 on below figure).

 

5. Try controlling the light bulb boards using the Mesh Client app as well as the Light Switchboard.

 

Once all the boards are provisioned, we can now control the light boards/led on the two boards using the Mesh Client App as well as the third board which is programmed as a switch.

 

Controlling in Mesh Client App-

1. Select the board first (Dimmable light in this case).

2. Clicking Get will show the status of the board or led one the log (5 in below figure).

3. Select the state which we want to put the led (on/off).

4. Click Set to set the selected state (3).

5. Log showing the result from Get/Set.

 

 

Selecting On and clicking set, sets the onboard led of the device.

 

Now the video of a node (Lightswitch) controlling two other nodes (Light Bulb) is shown below-

 

 

6. Create and control a network by the Mesh lighting app on Android.

 

The Mesh lighting app for android can be found - C:\Users\user\ModusToolbox_1.1\libraries\bt_20819A1-1.0\components\BT-SDK\common\apps\snip\mesh\peerapps\Android\src\bin

 

In order to add the board to another new network, we have to reprogram the boards again.

So the boards were programmed.

 

Configuring and controlling a mesh network on the Android app is shown in the following video.

 

 

Conclusion

 

The kit is really great for beginners. Few comments to add-

  • The kit has all the components needed.
  • Easy to program.
  • Can be battery powered so really handy for some projects.
  • User doesn't need extensive knowledge about the SDK other than knowledge on C/C++ programming.
  • Install is really easy and didn't create any issues.
  • Customization is easy.
  • Enough resources are available.
  • Has a good collection of sensors.
  • Ultra low power operation (idle mode).

Would I recommend?

 

Yes, I would definitely recommend this kit to anyone trying to understand and develop projects using the Bluetooth mesh feature. The board can be driven by CR2032 batteries and has an idle mode to preserve battery life which is a critical feature for real-time remote applications. It's really fun and easy to play with this kit .

 

Few Resources

 

ModusToolbox Download

Tutorial for the Kit

CYW20819 Peripheral Guide (for customization)

Cypress BLE-mesh page

Please feel free to drop any comments. Thanks

Anonymous