Technical Specification

Pebble is a battery-powered, cellular-based, multi-sensor development board designed by IoTeX and Nordic Semiconductor, combining tamper-proof hardware and tamper-proof software to generate verifiable data.

Pebble is equipped with high-quality GPS, climate, motion, and light sensors. Data can be easily streamed in real-time to an MQTT endpoint for use in Cloud or blockchain-based applications.

Pebble utilizes a secure element (nRF9160) to cryptographically sign all data, providing unparalleled verifiability and traceability for asset tracking, supply chain, and other applications.

CPU

Pebble is powered by a 64 MHz Arm® Cortex®-M33, 1 MB Flash and 256 KB RAM, with automated power and clock management, Arm TrustZone, and Arm CryptoCell 310

Integrated Sensors

Pebble combines an environmental sensor (temperature, relative humidity, barometric pressure, altitude, and volatile organic compounds - VOCs), a motion sensor (3-axis gyroscope, 3-axis accelerometer), and an ambient light sensor. It's also equipped with cellular network connectivity and integrated GPS supporting precise, long range tracking of asset data using established cellular infrastructure.

Network Connectivity

Pebble includes a Multimode LTE-M/NB-IoT modem for cellular communication. To have your Pebble connected to the Internet you will need an IoT-enabled** SIM card that supports either NB-IoT or LTE standards.

Data format

JavaScript Object Notation (JSON) is utilized to represent the sensor data collected by a Pebble as well as the corresponding ECDSA digital signature. Pebble utilizes ECDSA over the elliptic curve sepc256r1 to sign the collected sensor data (i.e., the message field in the Pebble data format)

Supported data types include Number, String and Array defined as follows:

An example of a JSON object containing a data point collected by the Pebble is shown below, it consists of a sensor data object named "message", and a digital signature data object named "signature":

{
	message: {
		SNR: 2,
		VBAT: 4.0750732421875,
		latitude: 3050.69225,
		longitude: 11448.65815,
		gas_resistance: 1166811,
		temperature: 36.23188400268555,
		pressure: 1003.82000732421885,
		humidity: 55.755001068115234,
	  light: 1639.67767,
		gyroscope: [-12, 11, 14],
		accelerometer: [-711, -231, 8260],
		timestamp: 3443547577,
    random: "3767398368",
    rsa_n: "0xa709e2f84ac0e21eb0caa018cf7f697...8f628698f0c7b420c4b7",
    rsa_e: "0x010001"
	},

	signature:  {
		r: "D7797968EAA3FFE5F8057C9D97F707A4A96CBFC250115FE6293EBA5E90327174",
		s: "643A8CB823110376A5D30201463CF69CDF8CBF1C050EB85B023CABFB589C3222"
	}
}

The message object includes the following sensor data:

The signature data object contains the following signature data:

Onboard RGB Led

Pebble includes an RGB led to show the status of the Pebble, the table below shows all the possible led states and the respective meaning:

Note that the led will blink at least twice in 1 second when in fast mode, and once in 5 seconds when in slow mode.

2D Drawing

Last updated