---
title: "Node.js: The Engine of IIoT"
description: Learn about node.js and its role in building the Industrial Internet of Things (IIoT)
image: https://blog.opto22.com/hubfs/node.js%20new.jpg
---

- [Log in](https://www.opto22.com/logon?returnurl=%2f)
- [Register](https://www.opto22.com/Special-Pages/Logon.aspx)
- [Your Cart](https://www.opto22.com/Checkout/Shopping-Cart)
- [Contact Us](https://www.opto22.com/support/contact-us)

[![Opto 22 Logo](https://blog.opto22.com/hubfs/opto22_lightsilvergradient_800px.png "Opto 22 Logo")](https://www.opto22.com)

- [Products](https://www.opto22.com/products) 
    - [What Do You Want to Do?](https://www.opto22.com/products/what-do-you-want-to-do)
    - [groov RIO](https://www.opto22.com/products/groov-rio)
    - [groov EPIC System](https://www.opto22.com/products/groov-epic-system)
    - [Case Studies](https://www.opto22.com/products/groov-case-studies)
    - [Product Selector](https://www.opto22.com/products/product-selector)
    - [Product Families](https://www.opto22.com/products/product-families)
    - [IIoT System Architecture](https://www.opto22.com/support/resources-tools/demos/groov-epic-groov-rio-architecture)
    - [MQTT Resources](https://www.opto22.com/products/mqtt-resources)
    - [Cybersecurity](https://www.opto22.com/products/cybersecurity)
    - [Power and Energy Monitoring](https://www.opto22.com/products/power-and-energy-monitoring)
    - [How to Buy](https://www.opto22.com/products/how-to-buy)
    - [Hands-On Learning and Demo Units](https://www.opto22.com/products/hands-on-learning-and-demo-units)
    - [Product Comparisons and Compatibility](https://www.opto22.com/products/product-comparisons-and-compatibility)
    - [System Configurator](https://www.opto22.com/products/system-configurator)
- [Support](https://www.opto22.com/support) 
    - [Manage groov](https://www.opto22.com/logon?returnurl=%2fmy-opto%2fmanage-groov)
    - [Documents](https://www.opto22.com/Support/Resources-Tools?rt=59)
    - [Downloads](https://www.opto22.com/Support/Resources-Tools?rt=68)
    - [Videos](https://www.opto22.com/Support/Videos)
    - [KnowledgeBase](https://www.opto22.com/Support/Resources-Tools?rt=67)
    - [Training](https://www.opto22.com/support/training-options)
    - [Troubleshooting](https://www.opto22.com/support/troubleshooting)
    - [Image Library](https://www.opto22.com/support/resources-tools/image-library-svg-editors)
    - [Developers](https://developer.opto22.com/)
    - [Talk to an Engineer](https://www.opto22.com/support/talk-to-an-engineer)
    - [Contact Us](https://www.opto22.com/support/contact-us)
    - [Warranties](https://www.opto22.com/support/warranties)
    - [Agency Approvals/Compliance](https://www.opto22.com/support/agency-approvals)
    - [Privacy Policy](https://www.opto22.com/support/privacy)
- [About Us](https://www.opto22.com/about-us) 
    - [History](https://www.opto22.com/about-us/history)
    - [Location](https://www.opto22.com/about-us/directions)
    - [Corporate Contacts](https://www.opto22.com/about-us/corporate-contacts)
    - [Opto 22 Product Philosophy](https://www.opto22.com/about-us/opto-22-product-philosophy)
    - [Customer Quotes/Testimonials](https://www.opto22.com/about-us/customer-quotes-testimonials)
    - [Virtual Tour](https://www.opto22.com/about-us/virtual-tour)
    - [Pressroom](https://www.opto22.com/about-us/pressroom)
    - [Distributors](https://www.opto22.com/about-us/distributors)
    - [International](https://www.opto22.com/about-us/international)
    - [Sustainability](https://www.opto22.com/about-us/sustainability)
    - [Careers](https://www.opto22.com/about-us/careers)
- [Community](https://www.opto22.com/community) 
    - [OptoPartners](https://www.opto22.com/community/opto-partners)
    - [Technology Partners](https://www.opto22.com/community/technology-partners)
    - [Education Partnerships](https://info.opto22.com/partnering-in-education)
    - [Opto Blog](https://blog.opto22.com/)
    - [Opto Forums](http://forums.opto22.com/)
    - [Events](https://www.opto22.com/community/events)
- [Articles](https://www.opto22.com/articles)
- [Log In](https://www.opto22.com/logon)
- [Register](https://www.opto22.com/Special-Pages/Logon.aspx)
- [Your Cart](https://www.opto22.com/Checkout/Shopping-Cart)
- [Contact Us](https://www.opto22.com/support/contact-us)

- [Products](https://www.opto22.com/products) 
    - [What Do You Want to Do?](https://www.opto22.com/products/what-do-you-want-to-do)
    - [groov RIO](https://www.opto22.com/products/groov-rio)
    - [groov EPIC System](https://www.opto22.com/products/groov-epic-system)
    - [Case Studies](https://www.opto22.com/products/groov-case-studies)
    - [Product Selector](https://www.opto22.com/products/product-selector)
    - [Product Families](https://www.opto22.com/products/product-families)
    - [IIoT System Architecture](https://www.opto22.com/support/resources-tools/demos/groov-epic-groov-rio-architecture)
    - [MQTT Resources](https://www.opto22.com/products/mqtt-resources)
    - [Cybersecurity](https://www.opto22.com/products/cybersecurity)
    - [Power and Energy Monitoring](https://www.opto22.com/products/power-and-energy-monitoring)
    - [How to Buy](https://www.opto22.com/products/how-to-buy)
    - [Hands-On Learning and Demo Units](https://www.opto22.com/products/hands-on-learning-and-demo-units)
    - [Product Comparisons and Compatibility](https://www.opto22.com/products/product-comparisons-and-compatibility)
    - [System Configurator](https://www.opto22.com/products/system-configurator)
- [Support](https://www.opto22.com/support) 
    - [Manage groov](https://www.opto22.com/logon?returnurl=%2fmy-opto%2fmanage-groov)
    - [Documents](https://www.opto22.com/Support/Resources-Tools?rt=59)
    - [Downloads](https://www.opto22.com/Support/Resources-Tools?rt=68)
    - [Videos](https://www.opto22.com/Support/Videos)
    - [KnowledgeBase](https://www.opto22.com/Support/Resources-Tools?rt=67)
    - [Training](https://www.opto22.com/support/training-options)
    - [Troubleshooting](https://www.opto22.com/support/troubleshooting)
    - [Image Library](https://www.opto22.com/support/resources-tools/image-library-svg-editors)
    - [Developers](https://developer.opto22.com/)
    - [Talk to an Engineer](https://www.opto22.com/support/talk-to-an-engineer)
    - [Contact Us](https://www.opto22.com/support/contact-us)
    - [Warranties](https://www.opto22.com/support/warranties)
    - [Agency Approvals/Compliance](https://www.opto22.com/support/agency-approvals)
    - [Privacy Policy](https://www.opto22.com/support/privacy)
- [About Us](https://www.opto22.com/about-us) 
    - [History](https://www.opto22.com/about-us/history)
    - [Location](https://www.opto22.com/about-us/directions)
    - [Corporate Contacts](https://www.opto22.com/about-us/corporate-contacts)
    - [Opto 22 Product Philosophy](https://www.opto22.com/about-us/opto-22-product-philosophy)
    - [Customer Quotes/Testimonials](https://www.opto22.com/about-us/customer-quotes-testimonials)
    - [Virtual Tour](https://www.opto22.com/about-us/virtual-tour)
    - [Pressroom](https://www.opto22.com/about-us/pressroom)
    - [Distributors](https://www.opto22.com/about-us/distributors)
    - [International](https://www.opto22.com/about-us/international)
    - [Sustainability](https://www.opto22.com/about-us/sustainability)
    - [Careers](https://www.opto22.com/about-us/careers)
- [Community](https://www.opto22.com/community) 
    - [OptoPartners](https://www.opto22.com/community/opto-partners)
    - [Technology Partners](https://www.opto22.com/community/technology-partners)
    - [Education Partnerships](https://info.opto22.com/partnering-in-education)
    - [Opto Blog](https://blog.opto22.com/)
    - [Opto Forums](http://forums.opto22.com/)
    - [Events](https://www.opto22.com/community/events)
- [Articles](https://www.opto22.com/articles)
- [Log In](https://www.opto22.com/logon)
- [Register](https://www.opto22.com/Special-Pages/Logon.aspx)
- [Your Cart](https://www.opto22.com/Checkout/Shopping-Cart)
- [Contact Us](https://www.opto22.com/support/contact-us)

 

# Node.js: The Engine of IIoT

# OptoBlog

# Node.js: The Engine of IIoT

Posted by [Matt Newton](https://blog.opto22.com/optoblog/author/matt-newton) on Apr 13, 2017, 8:08:34 AM

- [Tweet](https://twitter.com/share)

In a previous post, we discussed [server-side JavaScript](https://blog.opto22.com/optoblog/server-side-javascript-for-the-iiot) and its use case in IIoT applications. Before server-side JavaScript, applications were written in one language for server-side software and a completely different language for client-side software.

![Node.js is the engine of IIoT](https://blog.opto22.com/hs-fs/hubfs/node.js%20new.jpg?width=287&name=node.js%20new.jpg "Node.js is the engine of IIoT")This split complicated application development, because it required having two sets of software developer talents—or even two separate software developers or teams—one for client-side and one for server-side application development.

Server-side JavaScript and the node.js runtime environment have solved this problem.

The key benefit server-side JavaScript provides is the ability for software developers to build an application involving both client and server software, in a single language—JavaScript. Historically, JavaScript ran in a web browser's built-in JavaScript engine. A JavaScript engine, or runtime, is a program or interpreter used to execute JavaScript code. Although there are several uses for a JavaScript engine, traditionally it's been used for the most part by web browsers.

But servers don’t use a web browser to serve out requests for data from client browsers. So for a developer to write an application in JavaScript that runs on a server, that server needs its own JavaScript engine. And that’s where node.js comes into play.

You might have heard about node.js from other sources. It’s getting a lot of press in the developer world lately. As far as popularity, according to the [2017 Stack Overflow Developer Survey](https://stackoverflow.com/insights/survey/2017/#developer-profile-what-kind-of-learning-do-developers-recommend), Node.js is growing in popularity, while the usage of languages like C# and C has been shrinking. In the same survey, node.js also ranked as the second most-loved language and first most-wanted language among developers.

[![Subscribe to the OptoBlog](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/439485/1737f7a1-5e10-4723-bd71-5663344f4811.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/439485/1737f7a1-5e10-4723-bd71-5663344f4811)

According to its official definition from [https://nodejs.org](https://nodejs.org), "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world."

Now let’s take a minute to unpack all of that so we can get a real understanding of how and why node.js has become so popular. And why you, an automation professional or potential IIoT developer, should have it on your radar.

![Google's V8 JavaScript engine powers node.js](https://blog.opto22.com/hs-fs/hubfs/googlev8.png?width=238&name=googlev8.png "Google's V8 JavaScript engine powers node.js")First, everyone’s doing it. Well, almost everyone. JavaScript is by far and away the most widely used Internet programming language in existence today.

In Stack Overflow’s 2017 developer survey, of the top 4 occupations surveyed, JavaScript was the programming language of choice for three out of the four occupations and came in at a very close second place for the fourth occupation.

You could throw a stone down your local neighborhood street and probably hit a JavaScript developer. But why are all these developers using the node.js runtime instead of some other runtime?

Node.js, also commonly referred to simply as node, is built around an asynchronous design. Which means that node doesn’t have to wait for file I/O or database operations to continue processing before it can do something else, which increases its processing speed.

![Node.js connects databases and the cloud to operations technology](https://blog.opto22.com/hs-fs/hubfs/13942933218533.png?width=154&name=13942933218533.png "Node.js connects databases and the cloud to operations technology")Database I/O is traditionally one of the slowest processes web applications have to deal with. Imagine in our IIoT application that one of our edge computing devices needs to query a database to figure out if it should shut down a machine. If we have delays from database I/O, it might not be shut down when it should be.

Because of node’s nonblocking architecture, the JavaScript program running on our edge device can make that same call to the database, but while it’s waiting for that to finish, it can go and do something else. It could look up a local variable for bearing temperature and shut off the process if the temperature variable exceeds a configured threshold.

Asynchronous design also means node can handle millions of concurrent connections at once. Millions. Node is also able to support real-time applications, which is key for IIoT application development. For optimum performance, we want our devices and our cloud applications exchanging data and making decisions in real time.[![Get The Edge Computing Primer](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/439485/fed49140-756d-46fb-9b17-6c06cba09b16.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/439485/fed49140-756d-46fb-9b17-6c06cba09b16)All right, so we understand node’s event-driven, non-blocking I/O model and that it makes it lightweight, efficient, and a great fit for IIoT applications. Now let’s delve into the world of Node.js' package ecosystem, npm—the largest ecosystem of open-source libraries in the world—to get a better understanding of how huge node could be in the realm of the Industrial Internet of Things.

But for us to understand where node.js could be going in the future, we should start with a lesson from the past.

Throughout the '70s and '80s, any number of Unix distributions were available on the market. There were BSD from AT&T, Solaris from Sun Microsystems, AIX from IBM, and a number of others. They were all essentially derived from AT&T's BSD and required various licensing schemes to legally use them on your computer systems.

Then in 1991 a really sharp student named Linus Torvalds started a small personal project that would ultimately become the Linux kernel. Fast forward to today, and Linux is used just about everywhere. There are loose derivatives of it in your smartphone, your cable box, probably even in your television and car entertainment system. Unix, on the other hand, not so much. Sure, it's still used to keep old mainframe systems running, but it's rare in my experience.

In fact, if you look at a lot of devices in industry today—sensors, barcode readers, edge computing gateways—there’s a massive surge towards using Linux as the base operating system for these devices. Perhaps even advanced automation controllers may run Linux someday. And why is that, you might ask? Because it’s open source.

That means there’s a huge number of people not only using it, but supporting it as well. So someday, it may become that much harder for a vendor to lock their customers into a particular hardware or software platform and price gouge them for product support and bug fixes. And I think you know which vendors I’m referring to.

It’s this same open-source community theme that node.js gets its power from.

See, when you start down the path of using node.js in your application, you’re not going on that journey alone. Accompanying you is the world of open-source software developers. And that world is full of some incredibly brilliant people. (Some even reside here at Opto 22 headquarters.)

The open-source community is happy to lend a hand in answering your software development questions. Or even lend you the code they’ve already created to help get your product or application to market that much faster. And that’s the real power of nodes.js’ npm ecosystem: the developer community and culture that come with it.

Take a trip over to [node.js npm repository](https://www.npmjs.com/) to see what I mean. This is where people upload software code they’ve developed for others to use in their application.

Want to develop an application to talk to your PLC? Search for your favorite automation controller vendor (Opto 22, of course) and see what you find.

My guess is you’ll find several contributions already there, ready to use in your application.

Want to move data from your control system into an SQL database? Run a search for SQL and see what you get back. In fact, run a search for whatever you want to do. There are currently over 450,000 contributed nodes in the npm repository. Surely there’s a node for you and your application in there.

![The node.js npm repository offers over 450,000 packages for software development](https://blog.opto22.com/hs-fs/hubfs/npm.png?width=360&name=npm.png "The node.js npm repository offers over 450,000 packages for software development")After browsing through the npm repository, your head’s probably spinning with all of the amazing things you’re beginning to realize node.js has to offer.

But even with all of these neat application development capabilities, as an automation professional you might be asking yourself, why would I ever need to learn JavaScript or anything about node.js? Which I admit is indeed a fair question.

And the answer is this. Twenty or so years ago, the Internet exploded, and every household in America scrambled to get connected to the digital word. But that wave of connectivity didn’t stop there.

Today we’re taking connectivity a step further and beginning to bridge the gap between traditional industrial devices like pumps and motors and the digital world of cloud computing. Through the boom of Internet connectivity in almost every home, we’ve learned that the world is a better place when information flows freely. And we’re beginning to apply what we’ve learned in our own homes to what we’re doing at work out in the field or in our plants and factories.

[![Get the IoT Primer](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/439485/1682a264-bb88-4933-9ea5-dee7056d1431.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/439485/1682a264-bb88-4933-9ea5-dee7056d1431)We’re asking questions like, what if that pump or motor could email the maintenance team for service before it breaks? What if operators could spot the conditions that statistically relate to an explosion on an offshore oil rig, but before the explosion ever happens?

We’re wondering what big data our plants and factories hold that could be used for competitive advantage. These advantages might be there waiting to be tapped into, but we just can’t spot them without tools like machine learning and artificial intelligence software to sort through monumental amounts of data for us.

But the point is this: there’s an overwhelming trend of adopting Internet technologies across all aspects of our lives. Internet technologies based around open standards have infiltrated the historically proprietary technology stacks of the industrial automation and process control industries.

![Open standards are the key to IIoT adoption and proliferation](https://blog.opto22.com/hs-fs/hubfs/15812377605_b3571fcbf1_b.jpg?width=257&name=15812377605_b3571fcbf1_b.jpg "Open standards are the key to IIoT adoption and proliferation")

And just as the industrial world has adopted Ethernet and TCP/IP—open standards designed to make intercommunication between systems streamlined, more efficient, and overall easier—so too will the Industrial Internet of Things, and all the applications connected to it, begin to adopt mainstream programming technologies like JavaScript and node.js.

Sure, it may take a while for the industrial markets to catch this particular wave. But the wave of JavaScript, node.js, and other open standards-based technologies is so massive that eventually everyone will either catch the wave or be crushed by it and left behind by the market.

But let’s say you absolutely hate writing code. Don’t worry, you’re not alone, and I totally get that. But the Industrial Internet of Things is still accessible to those of us who shy away from coding. Many years ago I started off as a computer science major in college. I loved writing code until I realized how much I loathe debugging it.

For folks like us, who maybe want to start building an IIoT application today without having to write any code, there’s a really handy software development tool called Node-RED, which we'll cover in our next post.  
[![Subscribe to the OptoBlog](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/439485/1737f7a1-5e10-4723-bd71-5663344f4811.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/439485/1737f7a1-5e10-4723-bd71-5663344f4811)

 Topics: [Internet of Things](https://blog.opto22.com/optoblog/topic/internet-of-things), [IoT](https://blog.opto22.com/optoblog/topic/iot), [PACs](https://blog.opto22.com/optoblog/topic/pacs), [IIoT](https://blog.opto22.com/optoblog/topic/iiot), [Industrial Internet of Things](https://blog.opto22.com/optoblog/topic/industrial-internet-of-things)

### Written by [Matt Newton](https://blog.opto22.com/optoblog/author/matt-newton)

<https://blog.opto22.com/optoblog/author/matt-newton>

### Subscribe to Email Updates

### Recent Posts

### Posts by Topic

- [groov EPIC (506)](https://blog.opto22.com/optoblog/topic/groov-epic)
- [groov RIO (301)](https://blog.opto22.com/optoblog/topic/groov-rio)
- [optonews (218)](https://blog.opto22.com/optoblog/topic/optonews)
- [IIoT (214)](https://blog.opto22.com/optoblog/topic/iiot)
- [groov (192)](https://blog.opto22.com/optoblog/topic/groov)
- [IoT (148)](https://blog.opto22.com/optoblog/topic/iot)
- [Ignition (131)](https://blog.opto22.com/optoblog/topic/ignition)
- [Internet of Things (131)](https://blog.opto22.com/optoblog/topic/internet-of-things)
- [Node-RED (129)](https://blog.opto22.com/optoblog/topic/node-red)
- [PACs (127)](https://blog.opto22.com/optoblog/topic/pacs)
- [MQTT (125)](https://blog.opto22.com/optoblog/topic/mqtt)
- [Events & conferences (117)](https://blog.opto22.com/optoblog/topic/events-conferences)
- [Case studies (110)](https://blog.opto22.com/optoblog/topic/case-studies)
- [Industrial Internet of Things (104)](https://blog.opto22.com/optoblog/topic/industrial-internet-of-things)
- [Videos (96)](https://blog.opto22.com/optoblog/topic/videos)
- [Updates (82)](https://blog.opto22.com/optoblog/topic/updates)
- [Tips (81)](https://blog.opto22.com/optoblog/topic/tips)
- [OptoPartner (76)](https://blog.opto22.com/optoblog/topic/optopartner)
- [Integrators (75)](https://blog.opto22.com/optoblog/topic/integrators)
- [Remote monitoring (75)](https://blog.opto22.com/optoblog/topic/remote-monitoring)
- [Ignition Edge (74)](https://blog.opto22.com/optoblog/topic/ignition-edge)
- [Webinars (70)](https://blog.opto22.com/optoblog/topic/webinars)
- [I/O (69)](https://blog.opto22.com/optoblog/topic/io)
- [Process control (69)](https://blog.opto22.com/optoblog/topic/process-control)
- [Energy management (64)](https://blog.opto22.com/optoblog/topic/energy-management)
- [CODESYS (62)](https://blog.opto22.com/optoblog/topic/codesys)
- [Training (57)](https://blog.opto22.com/optoblog/topic/training)
- [PAC Control (51)](https://blog.opto22.com/optoblog/topic/pac-control)
- [PAC Project (49)](https://blog.opto22.com/optoblog/topic/pac-project)
- [groov View (49)](https://blog.opto22.com/optoblog/topic/groov-view)
- [OEM (48)](https://blog.opto22.com/optoblog/topic/oem)
- [cybersecurity (48)](https://blog.opto22.com/optoblog/topic/cybersecurity)
- [digital transformation (46)](https://blog.opto22.com/optoblog/topic/digital-transformation)
- [Discrete control (45)](https://blog.opto22.com/optoblog/topic/discrete-control)
- [Machine builder (40)](https://blog.opto22.com/optoblog/topic/machine-builder)
- [Firmware (39)](https://blog.opto22.com/optoblog/topic/firmware)
- [edge computing (39)](https://blog.opto22.com/optoblog/topic/edge-computing)
- [EPIC (37)](https://blog.opto22.com/optoblog/topic/epic)
- [system integrator (37)](https://blog.opto22.com/optoblog/topic/system-integrator)
- [Inductive Automation (35)](https://blog.opto22.com/optoblog/topic/inductive-automation)
- [industrial automation (34)](https://blog.opto22.com/optoblog/topic/industrial-automation)
- [groov Manage (33)](https://blog.opto22.com/optoblog/topic/groov-manage)
- [Data acquisition (31)](https://blog.opto22.com/optoblog/topic/data-acquisition)
- [Ignition Community Conference (31)](https://blog.opto22.com/optoblog/topic/ignition-community-conference)
- [Security (30)](https://blog.opto22.com/optoblog/topic/security)
- [Sparkplug (30)](https://blog.opto22.com/optoblog/topic/sparkplug)
- [Factory Training (29)](https://blog.opto22.com/optoblog/topic/factory-training)
- [Networking (28)](https://blog.opto22.com/optoblog/topic/networking)
- [snap pac (28)](https://blog.opto22.com/optoblog/topic/snap-pac)
- [REST API (26)](https://blog.opto22.com/optoblog/topic/rest-api)
- [New products (25)](https://blog.opto22.com/optoblog/topic/new-products)
- [Technology Partners (24)](https://blog.opto22.com/optoblog/topic/technology-partners)
- [Water & wastewater (23)](https://blog.opto22.com/optoblog/topic/water-amp-wastewater)
- [PLCs (21)](https://blog.opto22.com/optoblog/topic/plcs)
- [manufacturing (21)](https://blog.opto22.com/optoblog/topic/manufacturing)
- [API (20)](https://blog.opto22.com/optoblog/topic/api)
- [Cirrus Link Solutions (20)](https://blog.opto22.com/optoblog/topic/cirrus-link-solutions)
- [developer (20)](https://blog.opto22.com/optoblog/topic/developer)
- [groov EPIC Learning Center (20)](https://blog.opto22.com/optoblog/topic/groov-epic-learning-center)
- [OptoU (19)](https://blog.opto22.com/optoblog/topic/optou)
- [smart manufacturing (19)](https://blog.opto22.com/optoblog/topic/smart-manufacturing)
- [Electronics (18)](https://blog.opto22.com/optoblog/topic/electronics)
- [HMI (18)](https://blog.opto22.com/optoblog/topic/hmi)
- [OPC UA (18)](https://blog.opto22.com/optoblog/topic/opc-ua)
- [Oil & gas (18)](https://blog.opto22.com/optoblog/topic/oil-gas)
- [groov rio emu (18)](https://blog.opto22.com/optoblog/topic/groov-rio-emu)
- [Food & beverage (17)](https://blog.opto22.com/optoblog/topic/food-amp-beverage)
- [OptoPartner video (17)](https://blog.opto22.com/optoblog/topic/optopartner-video)
- [energy monitoring (17)](https://blog.opto22.com/optoblog/topic/energy-monitoring)
- [podcast (17)](https://blog.opto22.com/optoblog/topic/podcast)
- [Building management (16)](https://blog.opto22.com/optoblog/topic/building-management)
- [Awards and recognition (15)](https://blog.opto22.com/optoblog/topic/awards-and-recognition)
- [REST (15)](https://blog.opto22.com/optoblog/topic/rest)
- [SCADA (15)](https://blog.opto22.com/optoblog/topic/scada)
- [mobile (15)](https://blog.opto22.com/optoblog/topic/mobile)
- [Migration (14)](https://blog.opto22.com/optoblog/topic/migration)
- [OptoChannel (13)](https://blog.opto22.com/optoblog/topic/optochannel)
- [EPIC Security (12)](https://blog.opto22.com/optoblog/topic/epic-security)
- [Opto 22 product support (12)](https://blog.opto22.com/optoblog/topic/opto-22-product-support)
- [groov Manage series (12)](https://blog.opto22.com/optoblog/topic/groov-manage-series)
- [I/O modules (11)](https://blog.opto22.com/optoblog/topic/i-o-modules)
- [Modbus (11)](https://blog.opto22.com/optoblog/topic/modbus)
- [OptoForum (11)](https://blog.opto22.com/optoblog/topic/optoforum)
- [PAC Manager (11)](https://blog.opto22.com/optoblog/topic/pac-manager)
- [power monitoring (11)](https://blog.opto22.com/optoblog/topic/power-monitoring)
- [PAC Display (10)](https://blog.opto22.com/optoblog/topic/pac-display)
- [oil and gas (10)](https://blog.opto22.com/optoblog/topic/oil-and-gas)
- [Art of the Possible (9)](https://blog.opto22.com/optoblog/topic/art-of-the-possible)
- [Deepsea Challenge (9)](https://blog.opto22.com/optoblog/topic/deepsea-challenge)
- [IntegrateLive! (9)](https://blog.opto22.com/optoblog/topic/integratelive)
- [OT data (9)](https://blog.opto22.com/optoblog/topic/ot-data)
- [PID loop control (9)](https://blog.opto22.com/optoblog/topic/pid-loop-control)
- [RESTful server (9)](https://blog.opto22.com/optoblog/topic/restful-server)
- [Raspberry Pi (9)](https://blog.opto22.com/optoblog/topic/raspberry-pi)
- [holiday schedule (9)](https://blog.opto22.com/optoblog/topic/holiday-schedule)
- [white paper (9)](https://blog.opto22.com/optoblog/topic/white-paper)
- [Automation World (8)](https://blog.opto22.com/optoblog/topic/automation-world)
- [Edge I/O (8)](https://blog.opto22.com/optoblog/topic/edge-i-o)
- [I/O (8)](https://blog.opto22.com/optoblog/topic/i-o)
- [SSRs (8)](https://blog.opto22.com/optoblog/topic/ssrs)
- [Unified Namespace (8)](https://blog.opto22.com/optoblog/topic/unified-namespace)
- [data visualization (8)](https://blog.opto22.com/optoblog/topic/data-visualization)
- [holiday hours (8)](https://blog.opto22.com/optoblog/topic/holiday-hours)
- [webinar (8)](https://blog.opto22.com/optoblog/topic/webinar)
- [IEC 61131-3 (7)](https://blog.opto22.com/optoblog/topic/iec-61131-3)
- [Ignition Cloud Edition (7)](https://blog.opto22.com/optoblog/topic/ignition-cloud-edition)
- [MQTT implementation (7)](https://blog.opto22.com/optoblog/topic/mqtt-implementation)
- [Who's groovin (7)](https://blog.opto22.com/optoblog/topic/whos-groovin)
- [groov server for windows (7)](https://blog.opto22.com/optoblog/topic/groov-server-for-windows)
- [secure shell (7)](https://blog.opto22.com/optoblog/topic/secure-shell)
- [technical tips (7)](https://blog.opto22.com/optoblog/topic/technical-tips)
- [ARC Forum (6)](https://blog.opto22.com/optoblog/topic/arc-forum)
- [Careers (6)](https://blog.opto22.com/optoblog/topic/careers)
- [EPIC Security Series (6)](https://blog.opto22.com/optoblog/topic/epic-security-series)
- [Eclipse Foundation (6)](https://blog.opto22.com/optoblog/topic/eclipse-foundation)
- [Ignition Community Live (6)](https://blog.opto22.com/optoblog/topic/ignition-community-live)
- [Linux (6)](https://blog.opto22.com/optoblog/topic/linux)
- [data center (6)](https://blog.opto22.com/optoblog/topic/data-center)
- [interactive demo (6)](https://blog.opto22.com/optoblog/topic/interactive-demo)
- [machine monitoring (6)](https://blog.opto22.com/optoblog/topic/machine-monitoring)
- [open source (6)](https://blog.opto22.com/optoblog/topic/open-source)
- [ssh (6)](https://blog.opto22.com/optoblog/topic/ssh)
- [Anniversary (5)](https://blog.opto22.com/optoblog/topic/anniversary)
- [Digital I/O for Raspberry Pi (5)](https://blog.opto22.com/optoblog/topic/digital-i-o-for-raspberry-pi)
- [IIoT System Architecture (5)](https://blog.opto22.com/optoblog/topic/iiot-system-architecture)
- [OptoNews 2015-12-02 (5)](https://blog.opto22.com/optoblog/topic/optonews-2015-12-02)
- [OptoOPCServer (5)](https://blog.opto22.com/optoblog/topic/optoopcserver)
- [SVG (5)](https://blog.opto22.com/optoblog/topic/svg)
- [certificate (5)](https://blog.opto22.com/optoblog/topic/certificate)
- [cloud computing (5)](https://blog.opto22.com/optoblog/topic/cloud-computing)
- [product philosophy (5)](https://blog.opto22.com/optoblog/topic/product-philosophy)
- [software (5)](https://blog.opto22.com/optoblog/topic/software)
- [system integration (5)](https://blog.opto22.com/optoblog/topic/system-integration)
- [CODESYS blog series (4)](https://blog.opto22.com/optoblog/topic/codesys-blog-series)
- [COVID-19 Update (4)](https://blog.opto22.com/optoblog/topic/covid-19-update)
- [EdgeX (4)](https://blog.opto22.com/optoblog/topic/edgex)
- [HiveMQ (4)](https://blog.opto22.com/optoblog/topic/hivemq)
- [OpenVPN (4)](https://blog.opto22.com/optoblog/topic/openvpn)
- [OptoDataLink (4)](https://blog.opto22.com/optoblog/topic/optodatalink)
- [OptoNews 2015-03-04 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-03-04)
- [OptoNews 2015-03-18 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-03-18)
- [OptoNews 2015-04-01 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-04-01)
- [OptoNews 2015-04-15 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-04-15)
- [OptoNews 2015-04-29 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-04-29)
- [OptoNews 2015-05-21 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-05-21)
- [OptoNews 2015-06-03 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-06-03)
- [OptoNews 2015-06-17 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-06-17)
- [OptoNews 2015-07-01 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-07-01)
- [OptoNews 2015-07-15 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-07-15)
- [OptoNews 2015-07-29 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-07-29)
- [OptoNews 2015-08-12 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-08-12)
- [OptoNews 2015-08-26 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-08-26)
- [OptoNews 2015-09-09 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-09-09)
- [OptoNews 2015-09-23 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-09-23)
- [OptoNews 2015-10-07 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-10-07)
- [OptoNews 2015-10-21 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-10-21)
- [OptoNews 2015-11-04 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-11-04)
- [OptoNews 2015-11-18 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-11-18)
- [OptoNews 2015-12-16 (4)](https://blog.opto22.com/optoblog/topic/optonews-2015-12-16)
- [OptoNews 2016-01-06 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-01-06)
- [OptoNews 2016-01-20 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-01-20)
- [OptoNews 2016-02-03 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-02-03)
- [OptoNews 2016-02-17 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-02-17)
- [OptoNews 2016-03-02 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-03-02)
- [OptoNews 2016-03-16 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-03-16)
- [OptoNews 2016-03-30 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-03-30)
- [OptoNews 2016-04-13 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-04-13)
- [OptoNews 2016-04-27 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-04-27)
- [OptoNews 2016-05-11 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-05-11)
- [OptoNews 2016-05-25 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-05-25)
- [OptoNews 2016-06-08 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-06-08)
- [OptoNews 2016-06-22 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-06-22)
- [OptoNews 2016-07-06 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-07-06)
- [OptoNews 2016-08-03 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-08-03)
- [OptoNews 2016-08-31 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-08-31)
- [OptoNews 2016-09-14 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-09-14)
- [OptoNews 2016-09-28 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-09-28)
- [OptoNews 2016-10-12 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-10-12)
- [OptoNews 2016-10-26 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-10-26)
- [OptoNews 2016-11-09 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-11-09)
- [OptoNews 2016-11-30 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-11-30)
- [OptoNews 2016-12-14 (4)](https://blog.opto22.com/optoblog/topic/optonews-2016-12-14)
- [OptoNews 2017-01-04 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-01-04)
- [OptoNews 2017-01-18 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-01-18)
- [OptoNews 2017-02-01 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-02-01)
- [OptoNews 2017-02-15 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-02-15)
- [OptoNews 2017-03-01 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-03-01)
- [OptoNews 2017-03-15 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-03-15)
- [OptoNews 2017-03-29 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-03-29)
- [OptoNews 2017-04-12 (4)](https://blog.opto22.com/optoblog/topic/optonews-2017-04-12)
- [Optomux (4)](https://blog.opto22.com/optoblog/topic/optomux)
- [UNS (4)](https://blog.opto22.com/optoblog/topic/uns)
- [machine data (4)](https://blog.opto22.com/optoblog/topic/machine-data)
- [product design (4)](https://blog.opto22.com/optoblog/topic/product-design)
- [serial module (4)](https://blog.opto22.com/optoblog/topic/serial-module)
- [DMC guest blog (3)](https://blog.opto22.com/optoblog/topic/dmc-guest-blog)
- [Discovery Day (3)](https://blog.opto22.com/optoblog/topic/discovery-day)
- [G4 I/O (3)](https://blog.opto22.com/optoblog/topic/g4-i-o)
- [GIF (3)](https://blog.opto22.com/optoblog/topic/gif)
- [GPIO (3)](https://blog.opto22.com/optoblog/topic/gpio)
- [ICC (3)](https://blog.opto22.com/optoblog/topic/icc)
- [Insider (3)](https://blog.opto22.com/optoblog/topic/insider)
- [Made in USA (3)](https://blog.opto22.com/optoblog/topic/made-in-usa)
- [OEE (3)](https://blog.opto22.com/optoblog/topic/oee)
- [OptoMMP (3)](https://blog.opto22.com/optoblog/topic/optommp)
- [OptoNews 2016-08-17 (3)](https://blog.opto22.com/optoblog/topic/optonews-2016-08-17)
- [OptoTagPreserve (3)](https://blog.opto22.com/optoblog/topic/optotagpreserve)
- [YouTube (3)](https://blog.opto22.com/optoblog/topic/youtube)
- [control engineering (3)](https://blog.opto22.com/optoblog/topic/control-engineering)
- [groov RIO Learning Center (3)](https://blog.opto22.com/optoblog/topic/groov-rio-learning-center)
- [open source software (3)](https://blog.opto22.com/optoblog/topic/open-source-software)
- [python (3)](https://blog.opto22.com/optoblog/topic/python)
- [virtual workshop (3)](https://blog.opto22.com/optoblog/topic/virtual-workshop)
- [AI (2)](https://blog.opto22.com/optoblog/topic/ai)
- [Aggregates & concrete (2)](https://blog.opto22.com/optoblog/topic/aggregates-amp-concrete)
- [Build-a-Thon (2)](https://blog.opto22.com/optoblog/topic/build-a-thon)
- [Expert Interview series (2)](https://blog.opto22.com/optoblog/topic/expert-interview-series)
- [Firmware Engineer (2)](https://blog.opto22.com/optoblog/topic/firmware-engineer)
- [LDAP (2)](https://blog.opto22.com/optoblog/topic/ldap)
- [LoRaWAN (2)](https://blog.opto22.com/optoblog/topic/lorawan)
- [MES (2)](https://blog.opto22.com/optoblog/topic/mes)
- [MariaDB (2)](https://blog.opto22.com/optoblog/topic/mariadb)
- [Sepasoft (2)](https://blog.opto22.com/optoblog/topic/sepasoft)
- [Snowflake (2)](https://blog.opto22.com/optoblog/topic/snowflake)
- [Spanish (2)](https://blog.opto22.com/optoblog/topic/spanish)
- [Technical Writer (2)](https://blog.opto22.com/optoblog/topic/technical-writer)
- [Version 3.4 update (2)](https://blog.opto22.com/optoblog/topic/version-3-4-update)
- [Windows 10 (2)](https://blog.opto22.com/optoblog/topic/windows-10)
- [automation 101 (2)](https://blog.opto22.com/optoblog/topic/automation-101)
- [compliance (2)](https://blog.opto22.com/optoblog/topic/compliance)
- [email notifications (2)](https://blog.opto22.com/optoblog/topic/email-notifications)
- [firewall (2)](https://blog.opto22.com/optoblog/topic/firewall)
- [serial (2)](https://blog.opto22.com/optoblog/topic/serial)
- [21 CFR Part 11 (1)](https://blog.opto22.com/optoblog/topic/21-cfr-part-11)
- [Amazon Web Services (1)](https://blog.opto22.com/optoblog/topic/amazon-web-services)
- [Applications Engineer (1)](https://blog.opto22.com/optoblog/topic/applications-engineer)
- [Big data (1)](https://blog.opto22.com/optoblog/topic/big-data)
- [CNC (1)](https://blog.opto22.com/optoblog/topic/cnc)
- [Ciberseguridad (1)](https://blog.opto22.com/optoblog/topic/ciberseguridad)
- [Colombia (1)](https://blog.opto22.com/optoblog/topic/colombia)
- [Corso Systems (1)](https://blog.opto22.com/optoblog/topic/corso-systems)
- [Discover Gallery (1)](https://blog.opto22.com/optoblog/topic/discover-gallery)
- [ENTELEC (1)](https://blog.opto22.com/optoblog/topic/entelec)
- [EaaS (1)](https://blog.opto22.com/optoblog/topic/eaas)
- [Education Partnerships (1)](https://blog.opto22.com/optoblog/topic/education-partnerships)
- [Grafana (1)](https://blog.opto22.com/optoblog/topic/grafana)
- [HART (1)](https://blog.opto22.com/optoblog/topic/hart)
- [HVAC (1)](https://blog.opto22.com/optoblog/topic/hvac)
- [HighByte (1)](https://blog.opto22.com/optoblog/topic/highbyte)
- [Industrial Ethernet Book (1)](https://blog.opto22.com/optoblog/topic/industrial-ethernet-book)
- [LinkedIn (1)](https://blog.opto22.com/optoblog/topic/linkedin)
- [Log4Shell (1)](https://blog.opto22.com/optoblog/topic/log4shell)
- [Log4j (1)](https://blog.opto22.com/optoblog/topic/log4j)
- [Lucidchart (1)](https://blog.opto22.com/optoblog/topic/lucidchart)
- [M-Bus (1)](https://blog.opto22.com/optoblog/topic/m-bus)
- [Modern Elteknik (1)](https://blog.opto22.com/optoblog/topic/modern-elteknik)
- [MySQL (1)](https://blog.opto22.com/optoblog/topic/mysql)
- [Opto 22 (1)](https://blog.opto22.com/optoblog/topic/opto-22)
- [OptoChat (1)](https://blog.opto22.com/optoblog/topic/optochat)
- [OptoNews 2016-07-20 (1)](https://blog.opto22.com/optoblog/topic/optonews-2016-07-20)
- [PLC programming (1)](https://blog.opto22.com/optoblog/topic/plc-programming)
- [Pamux (1)](https://blog.opto22.com/optoblog/topic/pamux)
- [PostgreSQL (1)](https://blog.opto22.com/optoblog/topic/postgresql)
- [RS232 (1)](https://blog.opto22.com/optoblog/topic/rs232)
- [RTD (1)](https://blog.opto22.com/optoblog/topic/rtd)
- [SPS (1)](https://blog.opto22.com/optoblog/topic/sps)
- [SoftPAC (1)](https://blog.opto22.com/optoblog/topic/softpac)
- [Sweden (1)](https://blog.opto22.com/optoblog/topic/sweden)
- [Tatsoft (1)](https://blog.opto22.com/optoblog/topic/tatsoft)
- [User Accounts (1)](https://blog.opto22.com/optoblog/topic/user-accounts)
- [Veteran's Day (1)](https://blog.opto22.com/optoblog/topic/veterans-day)
- [Virtual Tour (1)](https://blog.opto22.com/optoblog/topic/virtual-tour)
- [aerospace (1)](https://blog.opto22.com/optoblog/topic/aerospace)
- [analisisydatos (1)](https://blog.opto22.com/optoblog/topic/analisisydatos)
- [analog input module (1)](https://blog.opto22.com/optoblog/topic/analog-input-module)
- [automatizacion (1)](https://blog.opto22.com/optoblog/topic/automatizacion)
- [blockchain (1)](https://blog.opto22.com/optoblog/topic/blockchain)
- [current transformers (1)](https://blog.opto22.com/optoblog/topic/current-transformers)
- [customer service (1)](https://blog.opto22.com/optoblog/topic/customer-service)
- [encryption (1)](https://blog.opto22.com/optoblog/topic/encryption)
- [groov Admin (1)](https://blog.opto22.com/optoblog/topic/groov-admin)
- [groov System Configurator (1)](https://blog.opto22.com/optoblog/topic/groov-system-configurator)
- [groov maintenance license (1)](https://blog.opto22.com/optoblog/topic/groov-maintenance-license)
- [indoor agriculture (1)](https://blog.opto22.com/optoblog/topic/indoor-agriculture)
- [instrumentacion (1)](https://blog.opto22.com/optoblog/topic/instrumentacion)
- [inteligenciaindustrial (1)](https://blog.opto22.com/optoblog/topic/inteligenciaindustrial)
- [json (1)](https://blog.opto22.com/optoblog/topic/json)
- [machine learning (1)](https://blog.opto22.com/optoblog/topic/machine-learning)
- [maintenance technician (1)](https://blog.opto22.com/optoblog/topic/maintenance-technician)
- [mining (1)](https://blog.opto22.com/optoblog/topic/mining)
- [network segmentation (1)](https://blog.opto22.com/optoblog/topic/network-segmentation)
- [port redirect (1)](https://blog.opto22.com/optoblog/topic/port-redirect)
- [predictive maintenance (1)](https://blog.opto22.com/optoblog/topic/predictive-maintenance)
- [redundancy (1)](https://blog.opto22.com/optoblog/topic/redundancy)
- [reverse osmosis (1)](https://blog.opto22.com/optoblog/topic/reverse-osmosis)
- [sdk (1)](https://blog.opto22.com/optoblog/topic/sdk)
- [supply chain (1)](https://blog.opto22.com/optoblog/topic/supply-chain)
- [temperature sensor (1)](https://blog.opto22.com/optoblog/topic/temperature-sensor)
- [time proportional output (1)](https://blog.opto22.com/optoblog/topic/time-proportional-output)
- [visio stencils (1)](https://blog.opto22.com/optoblog/topic/visio-stencils)
- [wellsite automation (1)](https://blog.opto22.com/optoblog/topic/wellsite-automation)

see all

- [Products](https://www.opto22.com/products) 
    - [Product Selector](https://www.opto22.com/products/product-selector)
    - [groov System](https://www.opto22.com/products/groov)
    - [I/O](https://www.opto22.com/products/i-o)
    - [Logic](https://www.opto22.com/products/logic)
    - [Data](https://www.opto22.com/products/data)
    - [Visualization](https://www.opto22.com/products/visualization)
    - [Accessories](https://www.opto22.com/products/accessories)
    - [Product Families](https://www.opto22.com/products/product-families)
    - [How to Buy](https://www.opto22.com/products/how-to-buy)
    - [Product Comparisons and Compatibility](https://www.opto22.com/products/product-comparisons-and-compatibility)
    - [SNAP I/O Configurator](https://www.opto22.com/products/snap-i-o-configurator)

- [Support](https://www.opto22.com/support) 
    - [Contact Support](https://www.opto22.com/support/contact-us)
    - [Warranties](https://www.opto22.com/support/warranties)
    - [Troubleshooting](https://www.opto22.com/support/troubleshooting)
    - [Documents](https://www.opto22.com/support/documents-redirect)
    - [Downloads](https://www.opto22.com/support/downloads-redirect)
    - [Videos](https://www.opto22.com/support/videos-redirect)
    - [KnowledgeBase](https://www.opto22.com/support/optoknowledgebase-redirect)
    - [Training](https://www.opto22.com/support/training-options)

- [About Us](https://www.opto22.com/about-us) 
    - [Distributors](https://www.opto22.com/about-us/distributors)
    - [Pressroom](https://www.opto22.com/about-us/pressroom)
    - [Careers](https://www.opto22.com/about-us/careers)
    - [History](https://www.opto22.com/about-us/history)
    - [Corporate Contacts](https://www.opto22.com/about-us/corporate-contacts)
    - [Sustainability](https://www.opto22.com/about-us/sustainability)
    - [International](https://www.opto22.com/about-us/international)
    - [Location](https://www.opto22.com/about-us/directions)

- [Community](https://www.opto22.com/community) 
    - [Opto Partners](https://www.opto22.com/community/opto-partners)
    - [Opto Blog](https://www.opto22.com/community/opto-blog)
    - [Opto Forums](https://www.opto22.com/community/opto-forums)
    - [Events](https://www.opto22.com/community/events)

- [Products](https://www.opto22.com/products) 
    - [What Do You Want to Do?](https://www.opto22.com/products/what-do-you-want-to-do)
    - [groov RIO](https://www.opto22.com/products/groov-rio)
    - [groov EPIC System](https://www.opto22.com/products/groov-epic-system)
    - [Case Studies](https://www.opto22.com/products/groov-case-studies)
    - [Product Selector](https://www.opto22.com/products/product-selector)
    - [Product Families](https://www.opto22.com/products/product-families)
    - [IIoT System Architecture](https://www.opto22.com/support/resources-tools/demos/groov-epic-groov-rio-architecture)
    - [MQTT Resources](https://www.opto22.com/products/mqtt-resources)
    - [Cybersecurity](https://www.opto22.com/products/cybersecurity)
    - [Power and Energy Monitoring](https://www.opto22.com/products/power-and-energy-monitoring)
    - [How to Buy](https://www.opto22.com/products/how-to-buy)
    - [Hands-On Learning and Demo Units](https://www.opto22.com/products/hands-on-learning-and-demo-units)
    - [Product Comparisons and Compatibility](https://www.opto22.com/products/product-comparisons-and-compatibility)
    - [System Configurator](https://www.opto22.com/products/system-configurator)
- [Support](https://www.opto22.com/support) 
    - [Manage groov](https://www.opto22.com/logon?returnurl=%2fmy-opto%2fmanage-groov)
    - [Documents](https://www.opto22.com/Support/Resources-Tools?rt=59)
    - [Downloads](https://www.opto22.com/Support/Resources-Tools?rt=68)
    - [Videos](https://www.opto22.com/Support/Videos)
    - [KnowledgeBase](https://www.opto22.com/Support/Resources-Tools?rt=67)
    - [Training](https://www.opto22.com/support/training-options)
    - [Troubleshooting](https://www.opto22.com/support/troubleshooting)
    - [Image Library](https://www.opto22.com/support/resources-tools/image-library-svg-editors)
    - [Developers](https://developer.opto22.com/)
    - [Talk to an Engineer](https://www.opto22.com/support/talk-to-an-engineer)
    - [Contact Us](https://www.opto22.com/support/contact-us)
    - [Warranties](https://www.opto22.com/support/warranties)
    - [Agency Approvals/Compliance](https://www.opto22.com/support/agency-approvals)
    - [Privacy Policy](https://www.opto22.com/support/privacy)
- [About Us](https://www.opto22.com/about-us) 
    - [History](https://www.opto22.com/about-us/history)
    - [Location](https://www.opto22.com/about-us/directions)
    - [Corporate Contacts](https://www.opto22.com/about-us/corporate-contacts)
    - [Opto 22 Product Philosophy](https://www.opto22.com/about-us/opto-22-product-philosophy)
    - [Customer Quotes/Testimonials](https://www.opto22.com/about-us/customer-quotes-testimonials)
    - [Virtual Tour](https://www.opto22.com/about-us/virtual-tour)
    - [Pressroom](https://www.opto22.com/about-us/pressroom)
    - [Distributors](https://www.opto22.com/about-us/distributors)
    - [International](https://www.opto22.com/about-us/international)
    - [Sustainability](https://www.opto22.com/about-us/sustainability)
    - [Careers](https://www.opto22.com/about-us/careers)
- [Community](https://www.opto22.com/community) 
    - [OptoPartners](https://www.opto22.com/community/opto-partners)
    - [Technology Partners](https://www.opto22.com/community/technology-partners)
    - [Education Partnerships](https://info.opto22.com/partnering-in-education)
    - [Opto Blog](https://blog.opto22.com/)
    - [Opto Forums](http://forums.opto22.com/)
    - [Events](https://www.opto22.com/community/events)
- [Articles](https://www.opto22.com/articles)
- [Log In](https://www.opto22.com/logon)
- [Register](https://www.opto22.com/Special-Pages/Logon.aspx)
- [Your Cart](https://www.opto22.com/Checkout/Shopping-Cart)
- [Contact Us](https://www.opto22.com/support/contact-us)

© 2026 Opto22 [Terms and Conditions](https://preview.opto22.com/special-pages/terms-conditions) | [Privacy](https://preview.opto22.com/special-pages/privacy)

**(800) 321 OPTO (6786)** | 43044 Business Park Drive, Temecula CA 92590 USA

<http://www.linkedin.com/groups?gid=734807&trk=hb_side_g> <http://www.youtube.com/optovideo> <http://www.facebook.com/home.php#!/opto22> <http://twitter.com/opto22>

![](https://dc.ads.linkedin.com/collect/?pid=90128&fmt=gif)