Sense reads live measurements from places and machines: meters, sensors, controllers and the instruments already installed. It only reads. It never writes back to anything it reads from.
Sound, air, energy and occupancy, from what a building already measures.
nextState and readings from controllers and equipment, in their own units.
nextSmall devices fixed to a machine, a structure or a site take the measurements. Each reading is verified when it arrives and attributed to the node that took it.
builtEvery reading with where it came from and how precise it is.
next
It never writes.
Sense has no way to send a command. Acting belongs to Pilot, and Pilot asks a person.
What was measured, said plainly.
Readings are kept apart from predictions, so you always know which is which.
A reading that fails its checks is not used.
Data that cannot be traced to a node, or does not verify, is kept out of calibration and out of every score.
Real data back into the model.
Verified readings calibrate a twin and test it against the real thing, so the twin is held to the world and not to itself.
A measurement is named by the quantity it measures, carries one unit, and is checked against a plausible range for that quantity. A reading outside the range is refused, not clipped. A vector is several readings, one per axis. Where the site states an uncertainty, it travels with the value as one standard deviation in the same unit.
Figures marked as measured come from a recorded capture of a Nicla Sense ME. Figures marked as datasheet are the maker’s typical values and have not been verified here. Whatever is not characterised is said so.
Acceleration in metres per second squared, gravity included (contract range ±20,000), and angular rate in radians per second (±1,000), verified on a Nicla Sense ME. At an 8 g full scale one count is 0.244 mg (2.39 mm/s²); measured scatter at ±2 g was 3.5 to 5.0 mg rms per axis, an upper bound because the board was not clamped. Gyroscope bias on a still board measured 0.010, −0.010 and 0.002 degrees per second, with noise of 0.04 to 0.08 degrees per second. Bias, cross-axis sensitivity and drift are not characterised, and the gyroscope scale is not yet checked against a rotation. Vibration is a quantity of its own, 0 to 20,000 m/s². Step count and activity state are counted on the sensor and are built, not verified.
verifiedA unit quaternion from the sensor’s own fusion of motion and gravity, four unitless components each within ±1.0001. It is inferred, not transduced, and verified on the text path. Held still, the components stayed stable to 0.001 over 60 seconds. Yaw drift without a calibrated magnetometer is not characterised, and the sensor’s own accuracy estimate is not exported.
verifiedMagnetic field in microtesla (contract range ±5,000). The sensor covers ±1,300 µT in x and y and ±2,500 µT in z (datasheet). Full scale is a setting with no default, and a frame that arrives with none set is refused. The raw field includes the board’s own iron and any nearby current, and hard-iron and soft-iron bias are not characterised. Built; never read from a real board.
builtPascals, 1,000 to 200,000. One count is 0.78 Pa; the sensor covers 300 to 1,250 hPa. Datasheet accuracy is about ±0.5 hPa absolute and ±0.03 hPa relative. Verified over Bluetooth LE.
verifiedDegrees Celsius, −100 to 1,000 in the contract; the sensor covers −40 to 85 (datasheet, about ±0.5 at 25 before self-heating). On the board it rose 0.2 over a minute from self-heating, so it reads a board-side temperature, not air temperature, until an offset against a reference thermometer is calibrated.
verifiedPercent relative, 0 to 100, in 1 % steps; datasheet accuracy about ±3 %RH. First frames indoors read 30 to 33 %RH.
verifiedGas resistance in ohms is the resistance of a heated sensing layer. It depends on the heater profile, temperature and humidity and drifts over weeks, so it is a trend and not a concentration; it measured 10,053 to 10,434 ohms over the capture (0.7 % rms) and is verified. The air-quality index and the CO2 and breath-VOC equivalents in parts per million are the sensor maker’s estimates computed from that resistance. They are not a measurement of CO2, they have their own kinds so they cannot be confused with one, and they are withheld while the sensor reports itself still stabilising. They are built; the module has not been run with the air-quality firmware.
verifiedPower in watts, current in amps and voltage in volts, each a signed quantity within ±1e9, ±1e6 and ±1e6.
definedIlluminance in lux, 0 to 10,000,000.
definedLiquid flow in litres per minute, 0 to 1,000,000, and air speed in metres per second, 0 to 400.
definedSound level in decibels, 0 to 200. A level is measured on the device and audio itself never leaves it.
definedPosition of a joint, axis or body, in radians or in metres (±1,000,000), and velocity in radians per second or metres per second (±1,000). The unit says which, each is its own twin variable, and a band in one unit is never read in the other.
definedTorque at a joint or shaft in newton metres (±1,000,000), and force at a tool or a load along one axis in newtons (±10,000,000).
definedElectrical energy a meter has counted, in kilowatt hours, 0 to 1,000,000,000.
definedA state word or an error code the device computed, a count from 0 to 4,294,967,295. It says what the device reports about itself, not what was measured, so it is inferred.
definedA derived signal is computed from measurements in the regime where it is valid. Outside that regime it is refused, not approximated. The result carries the lowest attestation level of its inputs, and it can justify an action on its own only if every input could.
From one acceleration triple, and only while the triple is within 15 % of 1 g, so that gravity dominates the reading.
builtFrom at least eight acceleration triples, with the mean magnitude removed.
builtThe norm of the angular-rate vector.
builtThe norm of the magnetic-field vector. A change from a site’s baseline marks nearby motors, steel or current.
builtFrom temperature and humidity by the Magnus formula, from −40 to 60 °C and only at humidity of at least 1 %.
builtAgainst a stated reference pressure, within 5,000 m. Near sea level pressure falls by about one hectopascal for every 8 m of height.
builtOne torque times one angular velocity of the same shaft at the same instant, in watts. A linear velocity is not a shaft speed and is refused.
builtOnly inside what the twin was solved for.
Inside the band its twin was solved in, a measurement may validate a forecast and, if the sensor measured it, recalibrate the twin. Outside the band, or with no band, it is recorded and validates nothing. The twin is never extrapolated.
A result is as strong as its weakest input.
The level of anything built from several measurements is the lowest among them, and a caller can set a floor below which a measurement only informs.
Estimated is not measured.
Orientation, step count, activity, the air-quality index, the gas equivalents, status codes and any channel a device computed may validate a forecast. They never recalibrate a twin and never stand alone behind an action. A batch can say a channel is inferred, and it can only restrict.
A clock that is not trusted scores nothing.
A site declares where its time comes from. With none declared its readings are flagged as untrusted in time and no twin is scored against them.
Stated, not assumed.
No calibration artefact exists yet for any Nicla Sense ME channel, so every reading from it carries an all-zero calibration binding. The module’s own timestamps are discarded, so a reading is stamped when it is read, and the transport latency is its timing uncertainty.
Who sent it, not that the world matched.
A verified signature shows who sent a batch and that nothing changed afterwards. It does not show that the measurement is right.
Furcate is the substrate these parts run on; Livgens is the interface to what they measure. A part earns a grade from how it holds its key, from soft through device, se, tee and dice to tpm, and a reading is graded by the weakest link in its chain.
Verified on hardware means run on the real part and recorded. Built means code and host tests exist and the part has not been run. Planned means decided and not built.
An ANNA-B112 module with an nRF52832, carrying a Bosch BHI260AP motion sensor, BMM150 magnetometer, BMP390 pressure sensor and BME688 temperature, humidity and gas sensor. Verified over USB text lines, and over Bluetooth LE to an ESP32-S3 with signed readings (28 October 2026). The I2C link to the S3 is built and has not been run against a module. The module holds no secret and has no secure element, so it is identified and not authenticated: grade soft. The BME688 operates from −40 to +85 °C on the board.
verifiedSeeed Studio XIAO ESP32S3. Verified: identity from silicon values, signed readings, Wi-Fi, and Bluetooth LE to the Nicla. Its key is derived from the unique ID and MAC, which any code on the part can read, so it earns soft today. The eFuse HMAC path to device grade is built and no eFuse has been burned.
verifiedVerified: signs with a device-unique P-256 key held in OTP, used through the firmware (14 October 2026), and earns device. The path to tpm with a discrete TPM 2.0 on SPI is built and has not been run on a Pi.
verifiedAGX Orin, Orin NX, Orin Nano and AGX Thor. Built from vendor documentation: board recognition and grading logic tested against captured fixtures. Not run on a Jetson. On a real device: TBC.
builtDecided for production; no backend built. Vendor security advisories on both are recorded and shape the lock-down plan.
plannedSix integrations bring the measurements of a machine in through a bus or a middleware a site already runs. Each is observe only: no write, no publish, no method call, no setpoint, no output. Each decodes its bus with a declared set of channels, each with a kind, a unit, a range and a rate, and signs what it reads, so what crosses is the same typed measurement as from any other source.
All six run in shadow mode and are capped at soft. The source holds no key it can prove, so a secured transport authenticates the connection and not the measurement, and a rung stated above soft is refused. Measurements through them validate a twin only where the floor allows, and never stand alone behind an action.
Where this stands: all six are built and tested against synthetic traces written to each protocol’s real framing, and all six recorded batches verify as produced against the contract. A live client was run against a stand-in server for ROS 2, OPC UA, MQTT and Modbus, and was not run for EtherCAT or SocketCAN (live client run: TBC). None has been run on a real device (on a real device: TBC).
Joint states, inertial and odometry fields of a robot graph, read through a subscribe-only bridge, for articulated robots and mobile platforms. Carries position, velocity, torque, force, acceleration and angular rate. A live client ran against a stand-in for the bridge. On a real device: TBC.
builtVariables of a controller’s information model, browsed, read and subscribed, never written or called, for process machines, pump and valve systems and articulated robots. Carries position, velocity, torque, force, temperature, pressure, flow, power, current, voltage and energy. A live client ran against a server library on the loopback interface. On a real device: TBC.
builtProcess data of the drives on a segment, tapped passively, with the drive profile’s measured values and status words, for articulated robots and process machines. Carries position, velocity, torque, current and status code. The capture socket has not yet received a frame. Live client run: TBC. On a real device: TBC.
builtScalar values published on a broker’s topics, subscribed and never published to, for process machines, pump and valve systems, environmental monitors and compute fleets. Carries temperature, humidity, pressure, flow, airflow, power, current, voltage, energy, light, sound level, air quality and vibration. A live client ran against a minimal broker and sent no publish. On a real device: TBC.
builtSignals in the frames of a vehicle or machine bus, received only and decoded by declared bit position, for mobile platforms. Carries velocity, position, torque, force, voltage, current, temperature, acceleration, angular rate and pressure. No virtual CAN interface was available to run a live client against. Live client run: TBC. On a real device: TBC.
builtRegisters and coils of meters, drives and controllers, read with the read functions only, for process machines, pump and valve systems and compute fleets. Carries temperature, voltage, current, power, energy, pressure, flow and humidity. A live client ran against a Modbus TCP server and every request was a read; RTU is decoded from traces only. The recorded batch verifies as produced against the contract. On a real device: TBC.
builtTell us what you want to run with Sense. We answer every request ourselves.