1
Basic Connected HMI Solution Hardware2
Application Overview3
Setup4
Put the Boards Together5
Basic Connected HMI Software6
Run the DemoSign in to save your progress. Don't have an account? Create one.
This section explains the required hardware and miscellaneous hardware and tools needed for Basic Connected Human Machine Interface (HMI).
The hardware required to assemble, wire, and run the Basic Connected Human Machine Interface (HMI) application is listed below:
K32W061 and JN5189/88 (IOTZTB-DK006)
K32W061 from the Advanced Development Kit for K32W061 and JN5189/88 (IOTZTB-DK006)
Note: To activate coexistence between Wi-Fi and Thread, the Embedded Artist 2DS M.2 module needs rework (to reveal coexistence Packet Traffic Arbitration – PTA – lines) before being used in the Basic Connected HMI. The rework is described in the section 3.2 rework.
Something went wrong! Please try again.
The various hardware and tools required to assembly the platform are shown below:
Something went wrong! Please try again.
This section details the necessary hardware preparations, before assembling the setup.
On the i.MX RT1060 EVKB, the LCD panels can be connected at J49 (A1-A40) and Capacitive Touch Panels (CPT) can be connected at J49 (B1-B6).
Note: We suggest you use tweezers to handle the LCD connectors.
Something went wrong! Please try again.
The picture below shows the pads that correspond to the GPIOs required by PTA:
Something went wrong! Please try again.
Connect the Embedded Artists 2DS Wi-Fi module to the Murata uSD to M2 adapter. We will call this assembly Wi-Fi board.
Something went wrong! Please try again.
The attached picture shows an overview of the connections involved in the Basic Connected HMI solution. The 3 wires PTA is mandatory when coexistence is enabled.
Connecting all the boards of the platform is explained in the steps below.
Using 7 female to male jumper wires make the connections as described in the picture.
This step is optional, and creates a separate debug console for printing logs separated that in Matter CLI console. Prebuilt binaries are printing debug logs on the same interface as the Matter CLI, so an extra debug console is not required in that case. However, if you choose to separate the debug console from the Mater CLI, you need to add an FTDI232 USB to UART module and build the application accordingly.
The FTDI232 USB to UART module can be integrated in the setup using 2 female to male jumper wires to make the connections as described in the picture.
Something went wrong! Please try again.
J39/J22 of the i.MX RT1060 EVK/EVKBSomething went wrong! Please try again.
To debug the i.MX RT1060 EVK/EVKB, you can opt for the on-board debugger or for an external debug probe. Steps A and B show how to configure the board for these scenarios.
Choose either step A or B.
For flashing the boards and possible debug activities, configure the i.MX RT1060 EVK/EVKB board as following:
J47/J9 and J48/J10J41/J1
If you prefer to use the J-Link external debugger, configure the the i.MX RT1060 EVK/EVKB board as following:
J47/J9 and J48/J10J21/J2Something went wrong! Please try again.
The DK6 carrier board can be powered through a USB cable or by adding a male to female jumper wire between the i.MX RT1060 EVK/EVKB and the DK6 carrier board.
Note: Only one of the powering methods shall be used.
Now, the system can be powered through a USB cable connected to the J41/J1 i.MX RT1060 EVK/EVKB.
Note: 3V3 power can be obtained by powering the DK6 board using the mini-USB connector through one of the two available on-board connectors. In this case, the VBAT will not be connected.
Something went wrong! Please try again.
In this section we show how to get the Basic Connected HMI software package and flash the board using MCUXpresso IDE.
In this step we prepare the MCUXpresso IDE environment, needed to flash the board with the integrated debugger.
SDK_2.x_MIMXRT1060-EVK/EVKB
QuickStart Panel > Create or import a project > Import SDK example(s) > Select evkbmimxrt1060 > Import hello_world example Something went wrong! Please try again.
Solution software is available here: https://github.com/nxp-appcodehub/ap-basic-matter-ready-connected-hmi.git
Download the software package as a zip or clone the Connectivity Toolbox repository containing the Basic Connected HMI application:
Ubuntu terminal:
user@ubuntu: ~/ git clone https://github.com/nxp-appcodehub/ap-basic-matter-ready-connected-hmi.git
Something went wrong! Please try again.
In the downloaded repository, go to the binaries/bchmi_RT1060_apps/ folder that contains pre-built binaries for the following configurations:
| Binaries | Hardware | Functionality | Use Case |
|---|---|---|---|
BCHMI_OTW_BLE_OT_DK6_MCLI_DISP.hex |
i.MX RT1060 and K32W0x1 RCP |
Matter over Open Thread | Standalone Matter Open Thread Node (Bluetooth LE for commissioning). Open Thread FTD device: ot-cli for network configuration |
BCHMI_Wi-Fi_NOcred_MCLI_DISP.hex |
i.MX RT1060 and 88W8801 |
Matter over Wi-Fi |
Standalone Matter Wi-Fi End Node |
BCHMI_OTW_OTAP_BLE_OT_DK6_Wi-Fi_NOcred_PTA_MCLI_DISP.hex |
i.MX RT1060, K32W0x1 RCP, and 88W8801 |
Matter over Open Thread Wi-Fi for non-Matter use case |
Standalone Matter Open Thread Node (Bluetooth LE for commissioning) Open Thread FTD device: ot-cli for network configuration Wi-Fi Connection /non-Matter use case Thread – Wi-Fi Co-existence/PTA |
Something went wrong! Please try again.
Notes:
LPUART2_TX on GPIO_AD_B1_02 pin. This requires using an external
FTDI adapter with baudrate set to 115200 bauds
Next steps will describe how to flash the BCHMI_OTW_OTAP_BLE_OT_DK6_Wi-Fi_NOcred_PTA_MCLI_DISP.hex binary.
Something went wrong! Please try again.
Perform the following steps in the MCUXpresso IDE:
File > Import > C\C++ > Existing Code as Makefile ProjectMain > C\C++ Application > add the path to the BCHMI_OTW_OTAP_BLE_OT_DK6_Wi-Fi_NOcred_PTA_MCLI_DISP.hex binarySomething went wrong! Please try again.
This section describes how to join the Basic Connected HMI to a Matter network, how to exercise peer device control and how to connect to a non-Matter Wi-Fi network.
For running this demo, in addition to the Basic Connected HMI, you will need:
Note: This document will use an i.MX 8M Mini + IW612 Tri-Radio SoC as the Matter controller
K32W061 and JN5189/88 - IOTZTB-DK006) running a Matter Light device
example. (The steps for this setup can be found in “Getting started with K32W0X1 in Matter”.)
Note: Any Matter Certified Controller can be used to control the Basic Connected HMI.
Joining the Basic Connected HMI to a Matter network is done using BLE-Thread commisioning. The i.MX 8M Mini + IW612 Tri-Radio SoC will act as a Matter Controller. Further in this document we will refer to the i.MX 8M Mini + IW612 Tri-Radio SoC as Matter Controller board.
Note: The Matter commissioning process can be initiated by and external commissioner, such as an Android chip-tool application. For this demo, we are using the chip-tool application running on the Matter Controller Board.
ot-ctl state
ot-ctl dataset active
ot-ctl dataset active -x
> matterfactoryresetThe BCHMI will enter the Bluetooth LE Advertising mode waiting for a commissioner to initiate the pairing procedure (Advertising Device name = Matter 3840).
Using the Controller CLI, run the following commands on the Matter Controller board:
ot-ctl state
ot-ctl dataset active
ot-ctl dataset active -x
$ chip-tool pairing ble-thread <node_id> hex:<operational_dataset> <pin_code> <discriminator>
Once the Matter commissioning process is completed with success, the Thread Status on the Basic Connected HMI will update with the corresponding role (e.g Router). The updated status can be seen on the display of the Basic Connected HMI.
Something went wrong! Please try again.
In this part, we will add the Generic switch Node (running Matter Light device example) into the Matter network and then use the BCHMI Display with touch screen to control the On/Off State of the Light device. Further in this document we will refer to the Generic switch Node as Matter Light device.
$ ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 2, "privilege": 3, "authMode": 2, "subjects": [], "targets": null }]' 0
$ ./chip-tool binding write binding '[{"node" : , "cluster" : "0x0006" , "endpoint" : }]' 1
Something went wrong! Please try again.
Using the Matter CLI (opened in section Start BLE Advertising on the Basic Connected HMI) run the following steps:
> wifiscan> wifiadd wifiadd <ssid> <password>> wificonnectSomething went wrong! Please try again.
Check the status of the connection and get information such as the IPv4 and IPv6 addresses. Run the wifistatus command in the Matter CLI. The state connected/not connected is visible also on the Basic Connected HMI Display:
> wifistatus
Note: To change the Wi-Fi network, consult the Basic Connected Human Machine Interface (HMI) User Manual
Something went wrong! Please try again.
Mount the Display Panel on the i.MX RT1060 EVK
Rework the Embedded Artist 2DS M.2 Module (to Enable Coexistence)
Connect the Wi-Fi module to the USD to M2A Adapter
Connect K32W-001-T10 Module to the DK6 Carrier Board
Connect the i.MX RT1060 EVK/EVKB to the DK6 Carrier Board
Integrate the Wi-Fi Module
Configure the Board for Debugging
Power Connection