VOLTTRON's lightweight software stack can run on low-cost low-power computers such as Raspberry Pi.
VOLTTRON's lightweight software stack can run on low-cost low-power computers such as Raspberry Pi.
Pacific Northwest National Laboratory

Project Website: https://projects.eclipse.org/projects/iot.volttron and https://volttron.org/
Lead Performer: Pacific Northwest National Laboratory – Richland, WA
-- Oak Ridge National Laboratory – Oak Ridge, TN
-- Eclipse Foundation
DOE Funding: $800,000 in FY19
Project Term: October 1, 2014 –
Funding Opportunity: Core lab funding

Project Objective

VOLTTRON™ is an open-source and secure execution and communications platform, what today would be called an IoT (Internet of Things) platform. Although VOLTTRON has been used in a number of buildings, grid, and buildings-to-grid applications, the core platform is application neutral. Developed and still maintained by Pacific Northwest National Laboratory (PNNL), VOLTTRON is now part of Eclipse Foundation's suite of IoT projects.

VOLTTRON is essentially a small operating system built on top of Linux and Python. This minimal software stack is able to run on small cheap computing platforms such as Raspberry Pis. VOLTTRON runs specially crafted programs called "agents." Agents communicate with one another and the outside world using tagged messages in a pub-sub (publish-subscribe) model. Agents post messages onto a message bus (essentially a queue), when the message reaches the head of the queue, agents that subscribe to the relevant tags are "woken up" and executed. The VOLTTRON messaging infrastructure supports federation (aggregation) of multiple VOLTTRON instances such that agents in different VOLTTRON instances (e.g., two different Raspberry Pi's) within the same network can communicate as if they are executing in the same instance.  

VOLTTRON's core functionality is complemented by a library of agents that perform both general and building-specific functions. Building-specific agents include driver agents for protocols such as BACnet, MODBUS and OpenADR, and an agent that encapsulates EnergyPlus for testing other agents against simulated buildings. General purpose agents include a cloud communication agent, a "historian" for batching data, and an agent for downloading data from online weather services.

These common "utility" agents can be combined with custom agents to implement a range of applications. In the buildings space, VOLTTRON was initially conceived as a platform on which to build low-cost "software only" building automation systems (BAS) for small and medium commercial buildings that cannot bear the cost of traditional BAS. However, other use cases have also emerged. These include:

  • A side-car or data-bridge to a traditional BAS for performing custom analytics.
  • Communications and control for building components and subsystems such as refrigeration systems, RTUs, and water heaters.
  • Federation and aggregation of monitoring and control across multiple buildings.

VOLTTRON also has a number of non-building applications in utility scale solar installations, EV charging, and battery management.

DOE labs continue to use VOLTTRON in research and development of building sensing and control infrastructure and to support use of VOLTTRON by third parties.


DOE Technology Manager: Amir Roth
Principal Investigator: Jereme Haack, PNNL

Related Publications