## 2 Materials and Methods
### Final System Implementation
#### 2.6.2 TI-CC2650 Launchpad MCU + External timer  
Another configuration option involves using a TPL5110 timer as an external timer for sleep time control. In this setup, the MCU exclusively determines the broadcast timing. The TPL5110 is an ultra-low-power timer module that requires an external resistor, referred to as \"R_DELAY\", to specify the delay time during sleep mode. R_DELAY is connected between the DELAY and GND pins, as outlined in the datasheet [45]. When the entire system starts up, the DRV pin controls the power supply to the load, which includes the MCU and the BME680 sensor in our case, through an onboard MOSFET. While the timer drives a load via the DRV pin, a pulse high at the DONE pin triggers the load to go low and initiates the sleep timing. Typically, this DONE signal is sent to the DONE pin of the  
Figure 4: Sensor node electrical circuitry schematic in the case of TI CC2650 MCU + internal timer (a), together with its operation flowchart (b).  
Figure 5: Current traces of BLE packet corresponding to TI-CC2650 Launchpad + internal timer (a) and TI-CC2650 Launchpad + TPL5110 timer (b).  
TPLS110 timer by the MCU itself. For stable and reliable operation, a pair of resistors and capacitors must be connected in parallel to the DONE pin. Figure 6 provides an overview of the circuitry and electrical connections.  
The sleep mode begins when the timer powers down both the MCU and the sensor through the DRV pin. The timer then activates the system by turning on the sensor and MCU at the end of the sleep period. The MCU initializes itself, reads environmental data from the BME680, transmits these data via BLE, and returns to sleep mode. This cycle repeats when a DONE signal, which is a pulse high lasting at least 100 ns, is sent via the DIO21 pin to the DONE pin of the timer. The timer then powers down the system, and the process restarts. The operational flowchart for the TI sensor node circuit with an external timer is illustrated in Figure 6.  
Figure 5 displays the BLE packets when the TI-CC2650 Launchpad MCU is used with the TPL5110 external timer module. In comparison to the previous case, differences are observed at the system's startup phase. The highest power consumption occurs during the timer IC and MCU boot-up. This high-activity phase is followed by the sensor's current draw, and then the BLE spikes. The sleep mode current, regulated by the timer, measures 35 nA.  
Table 2 displays a BLE packet captured in Wireshark, presented as a raw digital data stream. This data stream contains device-specific information, including the device's MAC address, flags (if any), data length, various fields like company ID and data type, and finally the payload data. The raw hexadecimal data are as follows: \"00 07 ba 00 01 86 6d 00 00 0d5 0e 00 0c cb 6d 00 00 00 00 00 00 00 00\".  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline \(\mathbf{N^{o}}\) & **Bytes** & **Hexadecimal** & **Decimal** & **Parameter** & **Reading** & **Unit** \\ \hline
3 & 00 07 ba & 1978 & Temperature & 19.78 & [\({}^{\circ}\)C] \\
4 & 00 01 86 dd & 99949 & Pressure & 99949 & [Pa] \\
4 & 00 00 d5 0e & 54542 & Relative humidity & 54.542 & [\%] \\
4 & 00 0c cb 6d & 838509 & Air quality & 838509 & [\(\Omega\)] (1) \\ \hline \hline \end{tabular} \({}^{(i)}\) Very high resistance indicates a high air quality.  
\end{table}
Table 2: Interpretation of the payload raw data received in hexadecimal format.  
Figure 6: Sensor node electrical circuitry schematic in the case of TI CC2650 MCU + TPL5110 timer (**a**), together with its operation flowchart (**b**).