cuplTag

Interface

Off-board connections are kept to a minimum (see pinout). These provide:

  • Power.
  • Serial port for programming and configuration.
  • Spy-Bi-Wire for debug.

Microcontroller

An FRAM-based microcontroller was chosen for its low power consumption and low-cost-per-unit. It also a has a free Eclipse-based IDE.

24 MHz 16-bit MCU

32KB Non-volatile FRAM

4KB SRAM

420 nA in LPM3.5 (deep sleep mode) with LFXO


Low Frequency Crystal Oscillator

It is vital that the microcontroller records samples at an accurate time interval. This adds fidelity to sample timestamps calculated by the decoder. The RC oscillator in the microcontroller is too unstable. This justifies a 32.768 kHz watch crystal, which also reduces power consumption.


Load Switch

The load switch splits cuplTag into 2 power domains:

  • VDD (always-on) powers the microcontroller and its LFXO.
  • VMEM (switched) powers the NFC EEPROM and humidity sensor.

The cuplTag spends most of its time in sleep mode. It wakes up for a few milliseconds each minute. Current consumption in sleep mode dominates the average, so it must be minimised. The microcontroller is designed to draw ~1.5 µA in sleep. By contrast, the NFC EEPROM has a very high current, including 10 µA of leakage through its I2C pins. The load switch fixes this; VMEM is only powered on when the microcontroller is active. Functionality is not compromised: a phone can read or write the EEPROM at all times (it is powered from the field).


Humidity Sensor

Accurate
Temperature ±0.2°C (typical) Humidity ±2% (typical)

Wide supply voltage range
1.62V to 3.6V

Low peak current
< 1mA

Factory-installed cover
Protects humidity sensor from ingress


NFC + I2C EEPROM

Derived from Figure 1 in: https://www.nxp.com/docs/en/data-sheet/NT3H2111_2211.pdf

The EEPROM has two interfaces:

  • The microcontroller writes a cupl URL (and reads configuration messages) via I2C.
  • A phone reads the cupl URL (and writes configuration messages) over NFC.
EEPROM size in bytes1024Includes configuration registers
Useable bytes888Maximum length of the cupl URL
Preamble 16B-blocksup to 7For domain name, protocol, status, serial etc.
Circular buffer 16B-blocks48For storing environmental sensor samples
Temperature + HumidityTemperature only
Circular buffer samples 192384
Log duration
@ 1 sample / 10 minutes
1 day 8 hours2 days 16 hours
Log duration
@ 1 sample / 60 minutes
8 days16 days

Wide supply voltage range
1.67V to 3.6V

Broad compatibility
NFC forum Type 2 tag
Works with Android and iOS