SparkForm technical whitepaper

RootVision: continuous, in-situ root imaging

A buried six-camera instrument that photographs living roots on a schedule, records soil temperature at each imaging depth, and delivers stitched profiles and timelapses without disturbing the plant.

Pre-release edition · November 2026 · RootVision, RootBeacon, RootSynapse and RootCloud

Pre-release product. RootVision is in pre-production testing. The figures in this paper describe the current hardware revision and software as tested in SparkForm's lab and early units. Values marked [TBD] have not been finalized and will be published once they are measured.

Abstract

Roots account for much of a plant's response to water, nutrients, compaction and temperature, yet they are the part of the crop researchers can least easily see. The usual options are to dig them up, which destroys the sample and gives a single moment in time, or to lower a camera into a minirhizotron tube by hand, which is labour-intensive and yields sparse, irregular observations. RootVision is a self-contained field instrument that is buried upright beside the plant. Six autofocus cameras in a vertical column image the soil and roots through a clear face, a scheduled controller wakes the unit, lights the face evenly and captures all six cameras in about fourteen seconds, and companion software stitches the six frames into one tall panorama of the root profile, about 33 cm of soil. Six temperature sensors, one at each camera depth, log the soil temperature with every capture. The unit runs on two 21700 lithium-ion cells (4900 mAh), up to 60 days on a single charge at one capture a day, and sleeps fully powered down between captures. Images and readings reach the researcher over WiFi and the cloud, and a USB LoRa dongle (RootBeacon) can wake units in the field on demand. This paper describes the problem, the system, its data pipeline, and how it is deployed.

1The problem: roots are hard to observe

Root architecture, depth, turnover and timing drive drought tolerance, nutrient uptake, lodging resistance and soil carbon. Breeding and agronomy programmes increasingly want these traits measured, and measured over time, because the interesting behaviour (when roots reach a moist layer, how fast they recover after a dry spell, when fine roots die back) happens between sampling dates.

Destructive sampling

Excavation, soil coring and shovelomics give rich data on the sample taken, but the plant is gone afterwards. Each time point needs a new plant, so variation between plants is mixed into variation over time, and a season-long series multiplies field labour. Washing roots out of cores is slow, and fine roots are lost in the process.

Minirhizotrons

Minirhizotron tubes made the same roots observable repeatedly, and they remain the standard non-destructive method. In practice, a person carries a camera to each tube, indexes it to each depth position by hand, and records images one window at a time. Observation frequency is set by staff time, typically weekly or less, and visits are skipped in bad weather, which is exactly when root behaviour is most interesting. Lighting, focus and positioning vary between visits, which complicates comparisons over time, and environmental context such as soil temperature has to be collected separately.

What is missing

What researchers need is an instrument that stays in place, images the same soil profile automatically at a chosen interval, keeps lighting and focus consistent from one capture to the next, records the conditions at each depth alongside the image, and sends the result back without a site visit. RootVision is designed to do that.

2The RootVision device

RootVision is a long, slim unit installed vertically in the soil. Its electronics, cameras and battery are potted in resin: a clear layer forms the imaging face, and a frosted white layer behind it diffuses the unit's own lighting. Only the top end, carrying the status display, the antennas and a sealed USB-C port, needs to remain accessible.

RootVision unit rendered upright: a slim resin column with a status screen at the top and six camera windows down its clear face.
Figure 1. RootVision (product render of the current hardware revision). Cameras are numbered from the top, camera 1 nearest the display.

2.1 Optics: a six-camera column

Six 8-megapixel (3264 × 2448) autofocus cameras are mounted in a vertical column behind the clear face, each in its own sealed air pocket. Each uses a Sony IMX179 sensor behind a wide lens (120° diagonal field of view). The cameras are about 52 mm apart and each views roughly 70 × 54 mm of the face, so neighbouring views overlap by about 18 mm and together they image a continuous strip of the soil profile about 33 cm deep. These figures are estimated from the optics and the unit's geometry; each unit's actual coverage is measured when its stitching is calibrated. All six cameras are powered together and captured in sequence, which takes about 14 seconds for the full column.

The six frames are combined by panorama stitching (Section 4.2) into a single tall image: one stitched profile is on the order of 14,000 × 1,500 pixels. At the face each camera resolves about 44 pixels per millimetre (roughly 23 µm per pixel), so a fine root 0.1 mm across spans about four pixels (estimated; to be confirmed by measurement).

2.2 Autofocus

Soil settles against the face, resin thickness varies slightly from one unit to the next, and the lens-to-face distance is short, so focus matters. Each camera has a motorized lens that the firmware drives directly. During setup, an autofocus routine sweeps each camera's full focus range coarsely, then searches finely around the sharpest position. It scores sharpness on the centre of the frame and selects the middle of the sharp plateau rather than a single noisy peak. It keeps a new value only when the improvement is clear and the scene has enough texture to judge. Every scheduled cycle starts with a quick focus check on each camera before it captures.

2.3 Lighting and consistent exposure

Roots are imaged in the dark of the soil, so all light comes from the unit itself. Each camera has its own ring of RGBW LEDs (ten per camera), and two additional 30-LED panels sit behind the frosted layer. During focusing, a camera's own ring is used; during capture, the camera rings are switched off and the panels light the whole face steadily through the diffusing resin, avoiding hotspots and reflections from the clear face.

For timelapse and image analysis, consistency across captures matters more than any single image. Automatic exposure and white balance drift with what the camera sees, so RootVision can lock each camera's exposure, gain and white balance to values chosen during calibration. The settings are reapplied at every capture, and each image records in its metadata whether fixed or automatic settings were used.

Render of a RootVision capture cycle: the unit's face glowing evenly white while its six cameras capture in turn.
Figure 2. A scheduled capture (render). The unit wakes on its alarm, checks focus camera by camera, lights the face evenly with its rear panels, captures all six cameras in turn, uploads, and powers down.

2.4 Soil temperature at every imaging depth

Six digital temperature sensors sit inside the unit, one directly behind each camera. Each sensor is thermally coupled to the soil through a brass pad on the back of the unit, so every image comes with a temperature for the same depth. Temperatures are read just before each capture, written into each image's metadata, and kept as a time series on the device and in the app. The sensors are Texas Instruments TMP1075 parts, accurate to ±0.25 °C typical and ±1 °C maximum across the unit's operating range. The brass pads add thermal mass, which slows each sensor's response to rapid changes but does not change its accuracy.

Paired temperature and image series let researchers relate root growth to soil temperature at depth directly, for example root elongation against the warming of deeper layers in spring, without separate loggers.

2.5 Power: built to be left alone

RootVision runs on two 21700 lithium-ion cells with a rated capacity of 4900 mAh, charged from USB-C. Rather than sleeping in a low-power mode, the main computer is switched off between captures: a battery-backed real-time clock holds the schedule and switches the unit back on when the next capture is due. At one capture a day the unit runs up to 60 days on a single charge [TBD: endurance conditions]. A coin cell keeps the clock running if the main pack is disconnected.

A power guard protects unattended units. Before each cycle it measures the cells at rest. When the battery is low, the unit skips image capture and sends only a short status update, and it checks again a day later rather than at the normal interval. If the battery is critically low, it reports that state and sleeps for a week between checks, so a forgotten unit is not run flat. When the unit is plugged in to recover a deeply discharged pack, it suspends normal cycles until the cells are back to a safe level. The battery level and charging history are reported to the app.

2.6 Top end: display, USB-C and GPS

2.7 Controller and reliability

An embedded Linux computer runs the capture cycle, stores captures on an internal memory card, and handles networking. A hardware watchdog restarts the unit if software stops responding, and the unit logs each wake, its reason, and each cycle's steps for diagnosis.

3Connectivity

A field unit is reachable in several ways, and the software picks whichever is available. Every change a researcher makes reaches the unit by one of these routes.

3.1 WiFi on the local network

Where a site has WiFi (a research station, greenhouse or plot with a field router), the unit joins it as a client. RootSynapse finds units on the same network automatically and talks to them directly for live status, settings, image transfer and calibration.

3.2 The unit's own access point

With no known network in range, the unit opens its own WiFi access point, protected by a per-unit code printed on its label. A laptop or phone can connect to it directly for setup or to collect data in the field.

3.3 Cloud sync

When the unit has internet access, each cycle uploads its images, temperatures and status to SparkForm's cloud and downloads any changes waiting for it. Units that are registered but not reachable locally appear in the app as cloud units: a researcher can still view their images and change their schedule, camera settings, name or WiFi, and the unit applies the changes on its next connected cycle. Each unit authenticates with its own credential; no shared keys are stored on devices.

3.4 LoRa wake with RootBeacon

A scheduled unit is powered off most of the time, so it cannot simply be contacted. RootVision carries a separate low-power LoRa radio that keeps listening while the main computer is off. About every 30 seconds it sends a short check-in identifying the unit and listens briefly for a reply.

RootBeacon is a small USB LoRa radio with a whip antenna that plugs into a laptop running RootSynapse (or an Android phone). When a researcher chooses Wake (one unit) or Wake all, RootBeacon answers each unit's next check-in with a wake command. The radio then switches the unit on and holds it on, so it can be reached over WiFi for settings changes, a manual capture or data collection, without waiting for the next scheduled cycle. A Wake all session ends on its own after 30 minutes, so units are not left draining their batteries.

The link uses license-free spectrum at 903.9 MHz (North American 915 MHz band); a European 868 MHz version is available on request. LoRa wake range, including through soil for fully buried units, is under evaluation: field tests at increasing distances, in line of sight and with obstructions, are planned. [TBD: LoRa range]

3.5 USB

USB-C charges the unit today. A direct wired network link over the same connector, for data transfer and service without WiFi, is in development for the next hardware revision.

4RootSynapse software

RootSynapse is the companion application for RootVision. It runs on Windows desktops and Android phones and tablets; an iPhone version is in development. The desktop version also does local stitching, calibration and service tasks.

4.1 Scheduling

Each unit has a schedule: a capture interval (for example every 6 hours or once a day) and the time of the next cycle. The schedule can be paused. Next-cycle times are computed so that captures stay on their slots over weeks instead of drifting, which keeps a timelapse evenly spaced. Changing the schedule on a unit in the field takes effect immediately over WiFi, or on its next connection if it is a cloud unit.

4.2 Gallery and panorama stitching

The gallery shows every capture by unit and date, each camera's frame and the stitched profile. Stitching uses a per-unit calibration made once with a printed calibration target: it measures each camera's lens distortion and position, corrects them, aligns the six frames on a common scale, and corrects brightness and colour across each frame so that the joins do not show. Panoramas from calibrated units are produced automatically in the cloud within seconds of a cycle's upload, and can also be stitched locally on the desktop.

On the current hardware the six cameras' fields do not overlap; there is a narrow strip between neighbours that no camera sees. By default the stitch places calibrated frames edge to edge and invents nothing. Optional gap-filling methods exist for display, and an unfilled copy is always kept for analysis. The next hardware revision reduces the camera spacing to close these gaps.

Illustration of a tall, narrow stitched root panorama, six camera frames joined top to bottom.
Figure 3. A stitched profile, shown upright with camera 1 at the top. Illustration: a computer-generated soil profile in the proportions of a real RootSynapse stitch, not a field capture.

4.3 Timelapse

A sequence of stitched profiles becomes a timelapse video at a frame rate the researcher chooses. Because focus, lighting and exposure are held constant between captures, the change from frame to frame is the roots and the soil, not the camera.

4.4 Soil temperature history

A temperature tab plots all six depths over time, one line per sensor, with a cursor to read the values at any capture. Shallow sensors show the daily swing; deep ones show the slower seasonal trend.

4.5 Fleet map and unit status

A map shows every unit in the account at its GPS position, on street or satellite imagery. Each unit's page shows its battery level and charging history, last wake and reason, schedule, network, and firmware version.

4.6 Calibration tools

On the desktop, a calibration view streams a live preview from each camera, runs autofocus on all six cameras, adjusts exposure, gain and white balance per camera or for all, chooses the lighting used in the preview, and saves fixed capture settings to the unit. Camera on-time is limited automatically during long sessions to protect the camera modules from overheating.

4.7 Firmware updates

Firmware updates are signed packages that a user installs from the app when an update is available, over WiFi or from the cloud. The unit verifies the signature, installs, and runs a self-test over its next boots. If the new version fails, it rolls back automatically to the previous one. A separate recovery partition can restore a working system if the main one cannot start. Settings, calibration, identity and images are kept across updates. A factory reset restores default settings and forgets saved networks while keeping the unit's identity; deleting stored images is optional.

5Data pipeline and cloud

A scheduled cycle produces, for each capture time, six camera images and a set of readings. The path from the soil to the researcher is:

  1. Capture on the unit. Six full-resolution JPEG images, each tagged in its EXIF metadata with the unit's serial number, camera number, local capture time and time zone, the six soil temperatures, and the GPS fix (also as standard EXIF GPS fields). Images and a temperature log (CSV) are stored on the unit, so nothing is lost while it is offline.
  2. Upload. When connected, the unit uploads new images and its status (battery, power state, temperatures, location, firmware) to SparkForm's cloud, which runs on Amazon Web Services. Each unit signs in with its own credential.
  3. Processing. As images arrive the cloud makes thumbnails and, once all six images of a capture are present, stitches the calibrated panorama, keeping an unfilled copy for analysis.
  4. Access. Researchers sign in to RootSynapse with an account; a unit belongs to the account that claimed it with the unit's printed code, and only its owner can see its data or change its settings. On the desktop, images can also be synchronized directly from units on the local network into a local library, independently of the cloud.
  5. Return path. Changes made in the app (schedule, camera settings, name, WiFi, image deletions) are applied directly to reachable units or queued in the cloud and fetched by the unit on its next connected cycle.

Because the image files carry their own metadata, they remain self-describing when exported to other analysis tools: depth position (camera number), time, temperature and location travel with each frame.

6Deployment workflow

  1. Provision. Each unit leaves SparkForm with its identity, cloud credential, hardware check and a label carrying its serial number and a QR claim code. Its hardware features (cameras, sensors, radio, GPS) are tested and recorded before shipment.
  2. Claim and connect. In RootSynapse the researcher scans the label or enters the code, connects to the unit's own access point, gives it the site's WiFi network if there is one, and the unit is added to the account.
  3. Calibrate. On the desktop, run autofocus and the stitch calibration with the printed target, and save fixed capture settings so every capture is lit and exposed the same way.
  4. Install. Install the unit upright with its clear face against undisturbed soil beside the plant or row, and backfill so the face makes good contact. The unit's cross-section is about 106 mm corner to corner, so a hole of at least 110 mm (about 4½ in) diameter fits it; allow about 120 mm where the top end, with its USB-C cap, goes below the surface. The top end with the display stays above the surface, or the unit can be set just below the surface where machinery passes, with the spot marked; the GPS fix records where it is.
  5. Schedule. Set the capture interval and the first cycle. The unit then runs unattended: wake, focus check, capture, upload, sleep.
  6. Collect. Images, panoramas, timelapses and temperature histories arrive in the app over the cloud, or are collected on site over WiFi. RootBeacon can wake a unit for an on-site visit, a manual capture or a settings change between scheduled cycles. Charge the unit from USB-C as needed; the app shows the battery level and history.

7Applications

In each case, the value lies in seeing the same roots repeatedly and on a fixed schedule, with consistent imaging and the soil temperature at the same depths recorded alongside.

8Specifications

Current hardware revision, pre-release. Subject to change.

RootVision specifications
Imaging
Cameras6, in a vertical column behind a clear face
Sensor resolution8 MP per camera (3264 × 2448), Sony IMX179
Lens120° diagonal field of view
FocusMotorized autofocus per camera; sweep-and-refine routine with a check every cycle
Field per cameraAbout 70 × 54 mm of the face; neighbouring views overlap by about 18 mm (estimated)
Imaged depthAbout 33 cm, continuous (estimated)
Effective resolutionAbout 44 px/mm at the face, roughly 23 µm per pixel (estimated)
LightingRGBW LED ring per camera (10 LEDs) plus two 30-LED diffused panels; steady panel lighting for capture
Exposure controlAutomatic, or fixed exposure, gain and white balance per camera from calibration
Capture timeAbout 14 s for all six cameras
OutputJPEG per camera with EXIF metadata (time, camera, serial, soil temperatures, GPS); stitched panorama (order of 14,000 × 1,500 px); timelapse video
Sensing
Soil temperature6 digital sensors, one behind each camera, coupled through brass pads; read every cycle. TI TMP1075: ±0.25 °C typical, ±1 °C maximum
LocationGNSS receiver; u-blox MAX-M10S multi-constellation receiver; fix recorded in image metadata and on the fleet map. About 1.5 m (CEP, open sky, receiver specification)
Power
Battery2 × 21700 Li-ion cells, 4900 mAh rated
EnduranceUp to 60 days on a single charge at one capture a day [TBD: endurance conditions]
ChargingUSB-C, about 12 hours for a full charge (faster charging on the next hardware revision)
Power managementFully off between cycles; real-time clock wake with coin-cell backup; low-battery guard; hardware watchdog
Connectivity
WiFiClient on a site network, or the unit's own access point. 2.4 GHz, 802.11b/g/n
CloudAutomatic upload and settings sync each connected cycle; per-unit credentials
LoRa wakeLow-power radio with check-ins about every 30 s; woken by RootBeacon. 903.9 MHz (North America); 868 MHz (Europe) on request
LoRa rangeUnder evaluation [TBD: LoRa range]
USBUSB-C, threaded sealed connector with cap (IP67 per connector supplier): charging; wired data on the next revision
Physical
ConstructionElectronics, cameras and cells potted in resin; clear imaging face, frosted diffuser layer
DisplayStatus screen at the top end
DimensionsAbout 420 mm long, 61 mm wide (imaging face) and 86 mm front to back; the USB-C cap adds about 14 mm at the top end
Weight[TBD: weight]
SealingFully encapsulated in resin; the only exposed port is the capped USB-C connector (IP67 per its supplier). Not independently rated as a complete unit
Operating temperature−20 °C to 60 °C, set by the lithium-ion cells (the other components are rated −40 °C to 85 °C)
StorageOn-board card storage, keeps captures while offline. 64 GB
Software and accessories
RootSynapseWindows desktop; Android phone and tablet; iPhone in development
RootBeaconUSB-C LoRa radio dongle with whip antenna and status LED, for laptop or Android
UpdatesSigned firmware packages from the app; automatic rollback; recovery partition

9Status and roadmap

RootVision is a pre-release product. Units of the current hardware revision are running scheduled captures, cloud sync, calibrated stitching, temperature logging and LoRa wake in SparkForm's testing. The work under way includes:

Specifications in this paper will be updated as these are completed. RootVision is made to order: orders are accepted now, with delivery in about a month. To order, or to discuss a deployment, contact SparkForm at clove@sparkform.ca or 1-519-916-0165.


© 2026 SparkForm. RootVision, RootBeacon, RootSynapse and RootCloud are products of SparkForm. Product images are renders of the current hardware; the panorama in Figure 3 is an illustration.