Soil Sensor Mesh IoT Readings
This dataset contains timestamped, geo-tagged readings from a distributed mesh of IoT soil sensors, capturing moisture, temperature, and nutrient levels for precision agriculture. It enables spatial and temporal analysis of soil health, supporting irrigation optimization, crop management, and agritech research. Sensor metadata such as battery and signal strength facilitate device monitoring and data quality assurance.
Sample rows
preview · 8 of 120 rows · all 14 columns| reading_idstring | soil_moisturefloat | sensor_idstring | timestampdatetime | latitudefloat | longitudefloat | field_idstring | soil_temperaturefloat | soil_nitrogenfloat | soil_phosphorusfloat | soil_potassiumfloat | battery_levelfloat | signal_strengthfloat | firmware_versionstring |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RDNG-001A7F | 38.5 | SENSOR-001 | 2024-06-01T08:14:21Z | 35.4567 | -120.5862 | FIELD-A | 22.1 | 32.5 | 29.8 | 120.3 | 95.7 | -47.2 | v1.2.8 |
| RDNG-002B9V | 41.2 | SENSOR-001 | 2024-06-02T08:19:52Z | 35.4567 | -120.5862 | FIELD-A | 23.4 | 36 | 31.2 | 126.7 | 93.8 | -49 | v1.2.9 |
| RDNG-003Z8K | 30.7 | SENSOR-002 | 2024-06-01T09:05:37Z | 34.0522 | -118.2437 | FIELD-B | 19.8 | 29.4 | 28 | 110.8 | 81.6 | -55.1 | v1.1.4 |
| RDNG-004T2Q | 45.3 | SENSOR-003 | 2024-06-01T10:23:44Z | 40.7128 | -74.006 | FIELD-C | 25.7 | 33 | 35.7 | 125.9 | 86.2 | -53.7 | v1.3.1 |
| RDNG-005W7J | 48.2 | DEV-AXQ-9009 | 2024-06-01T11:45:18Z | 51.5074 | -0.1278 | FIELD-D | 24.9 | 40.1 | 42.6 | 135.5 | 99.2 | -39.8 | v1.2.9 |
| RDNG-006P3M | 47.8 | DEV-AXQ-9009 | 2024-06-02T11:47:31Z | 51.5074 | -0.1278 | FIELD-D | 25.1 | 41 | 43.8 | 138.2 | 97.9 | -41.1 | v1.3.0 |
| RDNG-007F6A | 35.9 | SENSOR-004 | 2024-06-01T12:14:09Z | 37.7749 | -122.4194 | FIELD-E | 20.7 | blank | blank | blank | 79.6 | -60.2 | v1.0.7 |
| RDNG-008K9B | 52.1 | SENSOR-005 | 2024-06-01T13:21:47Z | 41.8781 | -87.6298 | FIELD-F | 28.3 | 49 | 46.2 | 149.7 | 94.3 | -45.5 | v1.2.2 |
| RDNG-009D2C | 44.7 | SENSOR-006 | 2024-06-01T14:05:56Z | 47.6062 | -122.3321 | FIELD-G | 26.9 | 38 | 32.7 | 128.4 | 88.1 | -51.3 | v1.3.3 |
| RDNG-010Q1V | 36.8 | SENSOR-007 | 2024-06-01T15:36:42Z | 29.7604 | -95.3698 | FIELD-H | 21.2 | blank | blank | blank | 82.7 | -58.6 | v1.1.8 |
| RDNG-011H6Y | 33.2 | SENSOR-008 | 2024-06-01T16:54:31Z | 33.4484 | -112.074 | FIELD-I | 18.5 | 25.8 | 22.3 | 98.4 | 74.5 | -62.1 | v1.0.9 |
| RDNG-012Z3T | 25.3 | SENSOR-009 | 2024-06-01T17:23:11Z | 39.7392 | -104.9903 | FIELD-J | 16.7 | 22.1 | 19.5 | 90.2 | 68.8 | -68.7 | v1.1.2 |
| RDNG-013C5P | 56.9 | DEV-BXQ-2008 | 2024-06-01T18:10:02Z | 32.7767 | -96.797 | FIELD-K | 27.5 | 60.2 | 58.3 | 175.4 | 97.5 | -38.2 | v1.2.7 |
| RDNG-014E8U | 0 | SENSOR-010 | 2024-06-01T19:41:00Z | 0 | 0 | FIELD-L | -40 | 0 | 0 | 0 | 0 | -120 | v0.0.1 |
| RDNG-015V4W | 100 | SENSOR-011 | 2024-06-01T20:22:18Z | 90 | 180 | FIELD-M | 80 | 500 | 400 | 1000 | 100 | 0 | v9.9.9-beta |
| RDNG-016S5Q | 100 | SENSOR-012 | 2024-06-01T21:15:29Z | -90 | 180 | FIELD-N | 80 | 500 | 400 | 1000 | 100 | 0 | v2.4.1 |
| RDNG-017M8L | 38.6 | SENSOR-013 | 2024-06-01T22:38:16Z | 47.7511 | -120.7401 | FIELD-O | 20.1 | blank | blank | blank | 67.2 | -72.9 | v1.1.3 |
| RDNG-018L4R | 59.8 | SENSOR-014 | 2024-06-02T07:28:19Z | 42.3601 | -71.0589 | FIELD-P | 28.6 | 55.4 | 53.2 | 150.6 | 91.9 | -42.7 | v1.3.2 |
| RDNG-019C7U | 49.2 | SENSOR-015 | 2024-06-02T08:56:13Z | 36.1699 | -115.1398 | FIELD-Q | 23.5 | 42.3 | 41.8 | 133.1 | 85.5 | -54.8 | v1.2.5 |
| RDNG-020J5N | 100 | SENSOR-012 | 2024-06-02T09:12:04Z | -90 | 180 | FIELD-N | 80 | 500 | 400 | 1000 | 100 | 0 | v2.4.2 |
What the 120 rows show
from the 120-row sample- 38.3median soil_
moisture - 21.0median soil_
temperature - 31.2median soil_
nitrogen - 28.6median soil_
phosphorus - 52.1median soil_
potassium - 80.6median battery_
level
Median 38.3, from 0.0 to 100.0.
- string 4
- float 9
- datetime 1
Columns
14 columns in three groups| column | type | description | example |
|---|---|---|---|
| Text 4 columns | |||
reading_id | string | Unique identifier for each sensor reading recordunique | RDNG-001A7F |
sensor_id | string | Unique identifier for the IoT soil sensor device | SENSOR-001 |
field_id | string | Identifier for the agricultural field or plot where the sensor is deployed | FIELD-A |
firmware_version | string | Firmware version running on the sensor deviceoptional | v1.2.8 |
| Numbers 9 columns | |||
latitude | float | Geographical latitude of the sensor location (WGS84)-90 to 90 | 35.4567 |
longitude | float | Geographical longitude of the sensor location (WGS84)-180 to 180 | -120.5862 |
soil_moisture | float | Measured volumetric soil moisture percentage (%)0 to 100 | 38.5 |
soil_temperature | float | Measured soil temperature in degrees Celsius-40 to 80 | 22.1 |
soil_nitrogen | float | Measured soil nitrogen content in mg/kg0 or more · optional | 32.5 |
soil_phosphorus | float | Measured soil phosphorus content in mg/kg0 or more · optional | 29.8 |
soil_potassium | float | Measured soil potassium content in mg/kg0 or more · optional | 120.3 |
battery_level | float | Current battery level of the sensor device in percentage (%)0 to 100 · optional | 95.7 |
signal_strength | float | Wireless signal strength of the sensor device in dBm-120 to 0 · optional | -47.2 |
| Dates and times 1 column | |||
timestamp | datetime | Date and time when the sensor reading was recorded (ISO 8601 format) | 2024-06-01T08:14:21Z |
Use it for
An agriculture dashboard
Soil_
moisture. Excel, Power BI or Tableau. What pattern can you find in 120 rows?
A class exercise
Hand out the rows and one question. Everyone works from the same 120 rows.
- Readings120RDNG-001A7F38.5RDNG-002B9V41.2RDNG-003Z8K30.7
A software demo
Believable readings with sensor_
id, timestamp and latitude to fill a screen in front of a buyer.
blueprint · soil-sensor-mesh-iot-readings
Behind this dataset
Same schema. As many rows as you need.
These 120 rows came out of a blueprint — 14 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.
- Each row represents a unique sensor reading with timestamp and location ID.
- Sensor values must include moisture (%), temperature (°C), and nitrate level (mg/L).
- No personally identifiable information (PII) is collected or logged.
- Outlier sensor values (beyond physical plausibility) are flagged for review.
- All sensors report at minimum every 6 hours during the growing season.
1 credit per row. New accounts start with 25 free credits.
- Exports
- CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
- Licence
- yours to use, including commercially
- API slug
- soil-sensor-mesh-iot-readings