Temperature-Compensated BLE Transmission from a Crystal-Free Mote

Titan Yuan

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2020-124
May 29, 2020

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-124.pdf

As wireless IoT nodes become increasingly smaller, one solution is to build a wireless sensor node without a crystal, reducing the size, cost, and power consumption of the node. This led to the development of a crystal-free wireless system-on-chip with a standards-compatible radio that can communicate with off-the-shelf IEEE802.15.4 or Bluetooth Low Energy (BLE) devices. However, the lack of an external frequency reference makes radio operation over supply and temperature variations challenging. In particular, the frequency drift of the mote's local oscillator over temperature exceeds the frequency error requirement specified in the 802.15.4 and BLE standards.

In this work, we first present a method to calibrate a crystal-free wireless system-on-chip for use as an IoT temperature sensor between 0°C and 100°C. Using the frequency ratio of two clocks on the mote, the 2MHz chipping clock for the chip's transmitter and the 32kHz sleep timer, both of which would already be running during normal radio operation, we can linearly estimate the ambient temperature with an error of less than 2°C.

We then describe how we can configure the chip and tune the local oscillator (LO) using a 15-bit frequency tuning code to transmit BLE advertising packets on a specified BLE channel. If we simply sweep the lowest five bits of the LO frequency tuning code, we show that we can transmit BLE packets over a range of around 20°C. To be more power-efficient, though, we discuss two possible approaches to compensate the LO frequency for temperature changes. Instead of sweeping the tuning code, we can calculate the correct frequency setting for the LO given a temperature estimate. Alternatively, we demonstrate that we can use an external OpenMote that constantly transmits 802.15.4 packets on a specified frequency channel as a frequency reference by adjusting the crystal-free mote's LO frequency based on the intermediate frequency (IF) of the received OpenMote packets. Tuning only the last five bits of the tuning code using this approach allows the crystal-free mote to operate as a BLE beacon or 802.15.4-to-BLE translator over a temperature range of around 20°C. Finally, while the crystal-free mote's BLE packets can be received by commercial BLE devices, receiving BLE packets transmitted by off-the-shelf BLE devices does not work on the mote.

Advisor: Kristofer Pister and Jaijeet Roychowdhury


BibTeX citation:

@mastersthesis{Yuan:EECS-2020-124,
    Author = {Yuan, Titan},
    Title = {Temperature-Compensated BLE Transmission from a Crystal-Free Mote},
    School = {EECS Department, University of California, Berkeley},
    Year = {2020},
    Month = {May},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-124.html},
    Number = {UCB/EECS-2020-124},
    Abstract = {As wireless IoT nodes become increasingly smaller, one solution is to build a wireless sensor node without a crystal, reducing the size, cost, and power consumption of the node.  This led to the development of a crystal-free wireless system-on-chip with a standards-compatible radio that can communicate with off-the-shelf IEEE802.15.4 or Bluetooth Low Energy (BLE) devices.  However, the lack of an external frequency reference makes radio operation over supply and temperature variations challenging.  In particular, the frequency drift of the mote's local oscillator over temperature exceeds the frequency error requirement specified in the 802.15.4 and BLE standards.

In this work, we first present a method to calibrate a crystal-free wireless system-on-chip for use as an IoT temperature sensor between 0°C and 100°C.  Using the frequency ratio of two clocks on the mote, the 2MHz chipping clock for the chip's transmitter and the 32kHz sleep timer, both of which would already be running during normal radio operation, we can linearly estimate the ambient temperature with an error of less than 2°C.

We then describe how we can configure the chip and tune the local oscillator (LO) using a 15-bit frequency tuning code to transmit BLE advertising packets on a specified BLE channel.  If we simply sweep the lowest five bits of the LO frequency tuning code, we show that we can transmit BLE packets over a range of around 20°C.  To be more power-efficient, though, we discuss two possible approaches to compensate the LO frequency for temperature changes.  Instead of sweeping the tuning code, we can calculate the correct frequency setting for the LO given a temperature estimate.  Alternatively, we demonstrate that we can use an external OpenMote that constantly transmits 802.15.4 packets on a specified frequency channel as a frequency reference by adjusting the crystal-free mote's LO frequency based on the intermediate frequency (IF) of the received OpenMote packets.  Tuning only the last five bits of the tuning code using this approach allows the crystal-free mote to operate as a BLE beacon or 802.15.4-to-BLE translator over a temperature range of around 20°C.  Finally, while the crystal-free mote's BLE packets can be received by commercial BLE devices, receiving BLE packets transmitted by off-the-shelf BLE devices does not work on the mote.}
}

EndNote citation:

%0 Thesis
%A Yuan, Titan
%T Temperature-Compensated BLE Transmission from a Crystal-Free Mote
%I EECS Department, University of California, Berkeley
%D 2020
%8 May 29
%@ UCB/EECS-2020-124
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-124.html
%F Yuan:EECS-2020-124