Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read and how they find the site, so we can improve it (Google Analytics).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Soil moisture progress bar

  • Widget
  • 133 installs
  • v1.0.0
  • Jun 15, 2026
  • MIT license
  • v4.2+

Displays soil moisture reading as a horizontal progress bar. Allows to configure value range, bar colors, and other settings.

Widget Type
  • Latest
Category
  • Gauges & Indicators
Use Cases
  • Environment Monitoring
  • Smart Farming

Who it’s for

Agronomists, precision farmers, and irrigation managers ask “exactly where in the 0–100% range is the field sitting right now?” They want a visual bar that makes it immediately obvious how far the current reading is from Optimal or how close it is to a stress threshold.

What it does

A sensor reading 52% fills the bar just past the halfway point and lands in the blue Optimal segment, confirming the zone is adequately watered. At 12% the bar sits in the red Dry segment; at 75% it reaches the dark-blue Saturated segment.

  • Horizontal progress bar spanning 0–100% with color-coded segments matching the four soil-moisture bands
  • Current value label displayed alongside the bar
  • Shows one sensor’s data; it does not chart trends over time

How to set up

Data keys

KeyRoleTypeDescription
soilMoistureBar valueTimeseriesVolumetric water content in %; change the key name to match your device’s telemetry key

The widget ships with a simulated function datasource key labeled Soil Moisture, so it draws random values until you point the datasource at a device and rename the key.

To point it at your own device: open the dashboard in edit mode, open the widget’s Datasources, pick the entity or entity alias, and replace the function key with the key your device reports.

If the key has never reported, the bar renders empty.

Value ranges

Range (%)LevelColor
0–20DryRed
20–40LowOrange
40–60OptimalBlue
60–100SaturatedDark Blue

How to customize

  • To narrow the displayed range — lower Tick max or raise Tick min in the widget settings; this spreads the bar over a tighter window and makes small differences more visible.
  • To use your own soil-moisture thresholds — edit the Value color ranges; adjust the four default bands to match your soil type and crop requirements.
  • To change the bar label or units — edit the data key label and unit settings.
  • To match your dashboard’s fonts — set the font options in the widget appearance settings.

Tips

  • The 0–100% scale is the natural output of most volumetric soil-moisture sensors, so the default Tick min/max require no adjustment — unlike air-pressure or illuminance bars where the physically meaningful range is much narrower.
  • The optimal range (40–60%) reflects typical field capacity for loamy soils; sandy soils drain faster and may need a lower Optimal ceiling, while clay soils retain water longer.
  • Use this bar alongside a rainfall card and ground temperature card on an irrigation decision dashboard — together they show whether soil is benefiting from rain or losing moisture to evapotranspiration.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.