A Living Open-Source Platform for Real-World Wireless Sensor Networks
ENTS (Environmental NeTworked Sensing) is an open-source hardware, firmware, and software ecosystem for building environmental sensor networks that are low-cost, extensible, and field-ready. Co-designed with domain scientists, ENTS enables long-lived, scalable, and interdisciplinary sensing deployments in diverse real-world conditions—from soil microbial fuel cells and desert cacti to vineyard ecosystems and marshland monitoring.
ENTS supports researchers and practitioners across environmental sciences, agroecology, and embedded systems by offering:
- Precision analog measurement for ultra-low power sources
- Plug-and-play support for environmental sensors via SDI-12 and I2C
- End-to-end infrastructure: from data collection to cloud visualization
- Iteratively tested, community-informed design for real-world conditions
| Component | Repository | Description |
|---|---|---|
| 🛠️ Hardware | ENTS-node-hardware | PCB schematics, enclosure designs, BOMs for ENTS sensor nodes |
| ⚙️ Firmware | ENTS-node-firmware | C firmware for STM32/ESP32-based ENTS nodes |
| 🌐 Backend | ENTS-backend | Flask API, data visualization, and live monitoring tools |
📖 Relevant papers:
💬 Questions? Join the conversation on ENTS Zulip Chat!
Figure 1: Our low-cost, open-source hardware (left) measures collects data from arbitrary sensors (e.g. temperature, power monitoring), and transmits measurements wirelessly. A visualization backend (right) receives data from the hardware nodes and presents it in an easy-to-use web interface that allows users to dynamically generate plots, or download data for offline processing.
Many wireless sensor network (WSN) platforms remain inaccessible, under-documented, or quickly deprecated. ENTS breaks that mold.
It is:
- Accessible: Designed to work out-of-the-box with intuitive setup, visualization, and configuration tools.
- Extensible: Easily integrate new sensors or expand capabilities with SDI-12/I2C interfaces and modular backend.
- Field-Ready: Deployed across farms, marshes, and wildlands—with robust enclosures and wireless (LoRa/WiFi) options.
- Community-Grown: Developed through real-world co-design with domain scientists and continuously evolving.
- Multi-channel sensing: Differential analog, SDI-12, and I2C support
- Wireless: LoRaWAN (field) and WiFi (lab) communication
- Power-efficient: Optimized for long deployments on Li-ion or energy-harvested power
- Open-hardware: Custom PCBs and 3D-printable enclosures
- Data pipeline: Real-time streaming, local buffering, and browser-accessible visualization
🧪 Soil Microbial Fuel Cells
📈 Leaf Wetness and Soil Moisture Monitoring
🌵 Energy Harvesting from Cacti
🌍 Digital Twins for Agroecological Research
Prerequisites: An assembled ENTS board with the latest firmware.
- After receiving your ENTS board, plug it into power. You can use a USB cable to connect the ENTS board's USB-C port to your computer or to a 5V >=500mA power supply (such as a phone charger).
- Upon bootup, the ENTS board will broadcast a WiFi hotspot named
ents-unconfigured. Use your phone or computer to connect to this WiFi network. - After connecting to the
ents-unconfiguredWiFi network, open a web browser and navigate to 192.168.4.1. This webpage is hosted by the ENTS board, and is used to configure the ENTS board for your use case. - Fill out the form.
- Upload Settings
- Logger ID: In order for the logger's data to be accepted by the server, you must provide a valid Logger ID here.
- You can create a Logger ID on DirtViz by logging in and navigating to your Loggers page. When creating the Logger, use the values provided to you for the DevEUI, JoinEUI, and AppKey.
- Cell ID: Specify which cell on DirtViz that this logger should upload data to.
- You can create a cell on DirtViz and get its Cell ID by logging in and navigating to your Cells page.
- Upload Method: Choose between WiFi or LoRaWAN communication. LoRaWAN communication requires a nearby LoRaWAN gateway, so it is recommended to start with WiFi.
- Upload Interval: Time in seconds between uploads. Minimum recommended time is 10 seconds.
- Logger ID: In order for the logger's data to be accepted by the server, you must provide a valid Logger ID here.
- Measurement Settings: In this section, check the box next to each sensor that you want to enable and connect to this ENTS board.
- If you are using voltage or current, you should also input the calibration values provided to you.
- WiFi Settings
- WiFi SSID: Name of the WiFi network to connect to.
- WiFi Password: Password for the WiFi network to connect to.
- Keep the "Use previous password" box unchecked so that the new password that you enter will be used instead!
- API Endpoint URL: Leave this as
http://dirtviz.jlab.ucsc.edu/api/sensor/
- Click on the green
Save Configurationbutton and follow the instructions to press the whiteRSTbutton on the ENTS board near the USB port.
For contributor-oriented getting started guides, please see the documentation available in the respective hardware, firmware, and backend repositories.
ENTS is actively maintained and welcomes contributions! Whether you are adding support for new sensors, submitting bug fixes, or deploying ENTS in your own research—we'd love to hear from you.
- 🌱 Become a contributor and help us grow the project! Visit any of the repositories to see open issues, or suggest your own
- 💬 Join the conversation on ENTS Zulip Chat
- 📦 Need an ENTS board, or interested in becoming a domain partner? Contact us via zulip or ents-group@ucsc.edu
ENTS was originally developed and maintained by the jLab in Smart Sensing at UC Santa Cruz. It is the result of a multi-year co-design effort with agroecologists, biologists, and engineers to create an enduring, useful platform for environmental monitoring.
This project is supported in part by UC Santa Cruz Agricultural Experiment Station funding provided by the state of California, Hatch Act of 1887 funding from the U.S. Department of Agriculture, National Institute of Food and Agriculture, and by the intramural research program of the U.S. Department of Agriculture, National Institute of Food and Agriculture, Hatch Funds (Accession number, 7010079). The Findings and Conclusions in This Preliminary Publication Have Not Been Formally Disseminated by the U. S. Department of Agriculture and Should Not Be Construed to Represent Any Agency Determination or Policy.

