Room Temperature Sensor Demo
Manual
This document provides instructions for setting up and using the Room Temperature Sensor Demo, which runs on the Cascoda KNX IoT Development Board equipped with the Thermo 3 Click from MikroElektronika.
The development board features two views in the original document: a top-down view showing connectors, buttons (SW1-SW4), and labels like 'Thermo 3 click', 'BUS', 'RXD', 'AN', 'RST', 'MISO', 'MOSI', '+3.3V', 'GND', 'VEXT'. A second, angled view highlights the 'Thermo 3 click' module and its connection points.
Table of Contents
- Room Temperature Sensor Demo
- Table of contents
- Room Temperature Sensor Demo Features
- About Cascoda's KNX IoT Development Board
- Using the Devboard as a Room Temperature Sensor Demo
- Demo Overview and Requirements
- General information
- Document Version information
- Used Terms
- Safety instructions
- Issues
- Contact information
- Setup and Configuration
- Device Startup
- Hardware Setup
- Flashing the Firmware
- Commissioning
- Thread Commissioning
- KNX Commissioning
- Adding the Device to a Topology
- Creating a Configuration
- Downloading the ETS configuration
- Resetting the device
- Running the Demo with ETS
- Software Bill of Materials
- Cascoda SDK
- tinycbor
- mbedtls
- Openthread
- Data points
- Parameters
Room Temperature Sensor Demo Features
The room temperature sensor demo runs on Cascoda's KNX IoT Development Board, equipped with the Thermo 3 Click from MikroElektronika.
About Cascoda's KNX IoT Development Board
Cascoda's KNX IoT Development Board provides everything needed to develop KNX IoT over Thread applications with the Cascoda Chili module. It features Cascoda's SMARTRange™ technology for long-range Thread connectivity and easy integration with Cascoda's dashboard and KNX IoT Hub for configuration and backhaul connectivity. The KNX-IoT Development Kit includes two Development Boards and is available from distributors. Users can find more information in the Getting Started Guide and the datasheet.
The board works seamlessly with ChiliCuisine™, Cascoda's low-code development environment.
Features:
- Certified Thread-based radio supporting meshed networking, with long range.
- Easy integration with Cascoda's Border Router for IPv4/IPv6 backhaul connectivity.
- Ultra-low-power battery operation & battery charging.
- Four programmable buttons & LEDs.
- E-Paper display integration.
- A library of sensor & actuator plug-in boards for solution development.
- Automatic code generation for chosen sensor/actuator/switch/LED combinations.
Specification:
- USB or UART connectivity.
- 5V or 3.3V supply options.
- 3.7V Li/LiPo battery integration with charging from a 5V supply or USB.
- Two Mikroelektronika Click™ slots for plug-in sensor/actuator connectivity.
- Integrated chip antenna and an external antenna option.
- Dimensions: 66 x 64mm.
Using the Devboard as a Room Temperature Sensor Demo
Once installed and commissioned, the device operates as a room temperature sensor, sensing and sending temperature data every 20 seconds. This data can be received by another KNX entity (e.g., a thermostat or ETS group monitor). The data sent is: RTS: Current temperature value.
The Room Temperature Sensor demo can be powered via USB or a CR123A 3V Non-Rechargeable Lithium Battery.
NOTE! This demo application is not low-power and is not intended for very long periods of battery operation. Contact Cascoda for a low-power version if required.
Demo Overview and Requirements
This demo involves using the Group Monitor in ETS to observe temperature values sensed and sent by the Room Temperature Sensor. The system architecture diagram shows a 'Windows PC' connected via USB to the 'RTS Devboard'. The 'Windows PC' also connects via Ethernet to the 'KNX IoT Hub', which communicates via 'Thread' with the 'RTS Devboard'. The 'Windows PC' runs 'chilictl' and 'ETS'.
Hardware requirements:
- A Windows PC.
- A Thread Border router (Cascoda recommends the KNX IoT Hub).
- A development board with jumpers provided.
- Thermo 3 click.
- USB-A to Micro-USB cable.
Software requirements:
- ETS version 6.2.2 or later.
- Cascoda Windows Tools.
- An application binary.
- A serial number binary.
- A project file to load into ETS.
This manual guides users through hardware setup, device flashing, Thread and KNX commissioning, and final control using ETS.
General Information
Document Version Information
This manual is updated periodically to align with new software releases. The change status (date) is in the contents header. For later software versions, check www.cascoda.com for the latest manual version.
Used Terms
| Sign | Description |
|---|---|
| DANGER! | Indicates an immediately hazardous situation which will lead to death or severe injuries if it is not avoided. |
| CAUTION! | Indicates a potentially hazardous situation which may lead to trivial or minor injuries if it is not avoided. |
| WARNING! | Indicates a situation which may lead to damage to property if it is not avoided. |
| NOTE! | Indicates a situation which may lead to possible (known) side effects. |
Safety Instructions
CAUTION! This demo can be powered via USB or a CR123A 3V Non-Rechargeable Lithium Battery. Since the battery is non-rechargeable, do not connect both the USB cable and the battery simultaneously, as this may cause a fire. Follow jumper configurations precisely when switching between USB and battery power.
Issues
For product questions, contact Cascoda technical service at Tel. +44 (0)2380 638 111 or support@cascoda.com. Provide the following information for service requests:
- Type of appliance (model name or item number).
- Description of the problem.
- Serial number or software version.
- Source of supply (dealer/installer).
For KNX functions, provide:
- Version of the device application.
- ETS version used for the project.
Contact Information
Email: info@cascoda.com
Address: Threefield House, Threefield Lane, Southampton, SO14 3LP, UK.
Setup and Configuration
Device Startup
The device starts up when plugged in via USB or when a CR123A 3V Non-Rechargeable Lithium Battery is inserted into the battery slot.
Hardware Setup
Required hardware for this demo includes:
- Development board with jumpers provided.
- Thermo 3 click.
- USB-A to Micro-USB cable.
- (Optional) A CR123A 3V Non-Rechargeable Lithium Battery.
NOTE! The device must be powered via USB before and during firmware flashing. After flashing, USB is no longer required, and the device can be powered by battery. Ensure correct jumper configurations for USB power and change them if switching to battery power.
To set up the hardware:
- When using the KNX IoT Development board, jumpers must be placed correctly based on the application and power source. For this demo, match the jumper configurations shown in the pictures below. Ensure no jumpers are loose.
a. If powering via USB, use this jumper configuration:
The diagram shows the development board with various jumper blocks labeled U10, U13, U14/17, U15, U16, U19, U20, U23, U24, U25, U26, U27. Red arrows indicate jumper positions. For USB power, jumpers should be placed to connect VBUS, +3.3V, and GND. Specifically, jumpers are shown connecting U25 to U26 (VBUS), U23 to U26 (+3.3V), and U24 to U26 (GND). The VEXT pins are not used for USB power.
b. If powering with a CR123A 3V Non-Rechargeable Lithium Battery, use this jumper configuration:
For CR123A 3V Lithium Battery power, jumpers should be placed to connect BATT, +3.3V, and GND. Specifically, jumpers are shown connecting U23 to U19 (+3.3V), U20 to U19 (BATT), and U24 to U19 (GND). The VEXT pins are not used for battery power.
- Place the Thermo 3 click into one of the Click board slots. The end with the carved notch should face the battery slot. Both slots are interchangeable.
- If powering via USB, connect the USB cable to the development board's USB port. If powering with a battery, insert the battery into the battery slot with the correct orientation (observe the '+' symbol on the battery slot case).
WARNING! Power off the device by removing the battery or unplugging the USB cable before moving jumpers, especially when transitioning between USB and battery power.
Flashing the Firmware
Before starting, ensure you have:
- An installation of Cascoda's Windows Tools (downloadable as CascodaWindowsTools.zip). Key tools are
chilictl.exeandserial-adapter.exe. These are typically added to the system's PATH. - The application binary:
knx_rts_reed.binfor the RTS demo. - The serial number binary:
029B00000261.binfor the RTS demo.
Follow these steps:
- Connect the development board to a Windows PC via USB.
- Determine the development board's unique serial number using
chilictl.exe list. Run this command once with the devboard disconnected, then again with it connected, to identify the new device. An example output shows device details including 'Serial No:'. - Flash the application binary using
chilictl.exe flash -s <serial_number> -cf knx_rts_reed.bin. Replace<serial_number>with the identified serial number. An example output shows the flashing process: INIT → REBOOT, REBOOT → ERASE, ERASE → FLASH, FLASH VERIFY, VALIDATE COMPLETE. - Verify the application binary is flashed by running
chilictl.exe listagain and checking the 'App' name is 'knx_rts_reed'. - Flash the serial number binary using
chilictl.exe flash -s <serial_number> -m 029800000261.bin.
NOTE! This serial number binary should only be flashed on one device per network partition. Flashing the same serial number on multiple devices on the same Thread network will prevent the demo from working. Contact Cascoda for unique serial numbers if multiple RTS devices are needed on the same network.
Your device is now ready for commissioning.
Commissioning
After powering the device via USB, it enters a commissioning phase. Thread commissioning must be done first to enable IPv6 communication, followed by KNX commissioning using ETS (version 6.2.2 or later).
The following QR code is required for both Thread and KNX commissioning:
QR Code Data: 41S029B00000261+3ZEUI:1AEE09D5FDFC8668.P:VE3YPB1W60.PA:M95993H1HX
A YouTube video demonstrating Thread and KNX commissioning using a QR code scanner is available [here].
Thread Commissioning
Thread commissioning involves adding the device to the Thread network. This requires a Thread Border router; Cascoda recommends the KNX-IOT-HUB.
NOTE: The following steps assume you have an existing Thread network set up with the KNX IoT Hub. If not, follow instructions [here] for using the Web UI.
- In the menu bar, hover over "Thread" and click "Add Device".
- Use a QR code scanner to scan the QR code provided in this manual and enter the information into the provided field. Click "Submit".
Wait for the device to join the Thread network. It will appear in the "Neighbors" table.
NOTE: These steps are sufficient for the demo. See [here] for more details on Thread commissioning.
KNX Commissioning
KNX commissioning adds the device to an ETS project. KNX IoT uses a secure protocol requiring security credentials and the device's serial number, both contained within the QR code.
The device can only be added to a KNX IoT Area or Line. ETS can scan the QR code with a camera or 2D barcode scanner to supply credentials.
Adding the Device to a Topology
- Open the project in ETS version 6.2.2 or later.
- Open the "Devices" panel, select the demo device, and in the "Properties" section, click "Add Device Certificate". A window will appear for QR code information. Scan the QR code from this manual or use a camera. The "Adding Device Certificate" window displays fields for 'Serial Number' (e.g., 029B:00000261) and 'Factory Key' (e.g., M95993H1HX).
- Open a "Topology" panel and drag and drop the device into an IoT area.
Creating a Configuration
These steps create group objects for s-mode messages, linking them to communication objects (data points) to send s-mode messages to actuators and receive them from sensors.
- Open a "Group Addresses" panel.
- Select "Group Addresses", right-click, select "Add Main Groups", and click OK.
- Select the newly created main group, right-click, select "Add Middle Groups", and click OK.
- Select the newly created middle group, right-click, select "Add Group Addresses", increase the count as needed, and press "OK".
- Open the "Group Objects" tab for your device. Link each group object by right-clicking, selecting "Link with...", and then selecting the group address. The "Group Objects" tab shows device objects like 'RTS' with 'Object Function' and 'Linked with' columns.
Downloading the ETS Configuration
The ETS configuration can be downloaded once parameters are set and communication objects are connected.
To download the configuration: select the device in the "Devices" panel, right-click, hover over "Download", and click "Download All". A popup will ask to either:
- Download by serial number
- Download with programming mode
Downloading by serial number requires no device interaction; click the "Use Serial Number" button. The "Pending Operations" window may appear, indicating the device (e.g., '2.0.1 Room Temperature Sensor') and that download via serial number is supported.
Downloading with programming mode requires pressing the programming button (SW4) for 1 second. While pressed, the LED is on. When released, the device enters programming mode and the LED blinks. Disabling programming mode involves holding the PROG button again for 1 second.
NOTE: The device must be attached to a Thread network to enter programming mode. Double-check Thread network attachment and ensure the button is held for over 1 second.
Once download is complete, the device is fully operational.
Resetting the device
NOTE! This section is informational. Do not reset the device if you are only following steps to run the demo with ETS.
The device allows separate resetting of KNX and Thread configurations.
Reset KNX
To reset KNX, press the PROG button for 5 seconds. The LED will be on while pressed. Upon release (after 5 sec), the LED will flash twice quickly. This reset removes security credentials, requiring ETS to download new device keys.
Reset Thread
To reset Thread, press the PROG button for 10 seconds. The LED will be on while pressed. Upon release (after 10 sec), the LED will flash slowly three times. This reset requires the device to be added to the Thread network again.
Running the Demo with ETS
You can run the demo with one RTS device and ETS. The Group Monitor acts as an actuator, receiving and displaying messages from the RTS, similar to how a KNX IoT Counterpart product would.
NOTE: This section assumes Thread and KNX commissioning steps are complete, and configuration has been downloaded to the device using ETS.
Follow these steps to observe messages:
- Open the Group Monitor (Panels > Diagnostics > Group Monitor) and click "Start".
- Wait and observe the temperature messages displayed on the group monitor. The RTS demo application senses and sends temperature data every 20 seconds. The Group Monitor interface shows device details, group objects, and a log of received messages, including 'New group address' entries with 'ValueWrite' and '9.001 temperature (°C)' data points.
Software Bill of Materials
This section lists the open-source software used in this product.
| Name | Version | License | Description | URL | Notes |
|---|---|---|---|---|---|
| Cascoda SDK | 0.25 | BSD-3-Clause | Cascoda development | https://github.com/Cascoda/cascoda-sdk | Chili2D/S SDK, various drivers |
| tinycbor | v0.6.0 | MIT | CBOR implementation | https://github.com/intel/tinycbor | Used for CBOR encoding/decoding |
| mbedtls | 2.16.2 | Apache-2.0 | Security constructs | https://github.com/ARMmbed/mbedtls | Used for encryption/decryption |
| Openthread | knx-v1.0.0 | BSD-3-Clause | OpenThread, IPv6 | https://github.com/Cascoda/openthread | Cascoda's port of OpenThread |
Data points
| url | name | instance | resource | type | interface type | data type |
|---|---|---|---|---|---|---|
| "/p/o_1_1" | RTS | 1 | 321.51 | if.s | DPT_Value_temp |
Parameters
No parameters defined.



