---
title: What is OptoMMP?
description: Learn more about the Opto Memory Map Protocol—a powerful method of interacting with Opto 22 controllers.
image: https://blog.opto22.com/hubfs/OptoMMPGuide.png
---

- [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)

 

# What is OptoMMP?

# OptoBlog

# What is OptoMMP?

Posted by [Terry Orchard](https://blog.opto22.com/optoblog/author/terry-orchard) on Nov 16, 2023, 9:17:27 AM

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

### Learn more about the Opto Memory Map Protocol—a powerful method of interacting with Opto 22 controllers

OptoMMP works with everything from SNAP PAC brains to the latest *groov* products. Let's go over some of the basics about what OptoMMP is and how it works.

In my [last blog post](https://blog.opto22.com/optoblog/optommp-tools-in-groov-manage) I showed how easy it can be to work with OptoMMP using tools built right into *groov* Manage. To add to that resource, this follow up provides an overview about what OptoMMP is, how it works, and why you might want to make use of it.

First and foremost, Opto’s Memory Map Protocol (OptoMMP) is a method of communication that follows the IEEE 1394 standard. This is the same standard that is implemented in FireWire, that was initially put into development by Apple back in 1986. Since then, it has been expanded by over 250 patents from many technology companies, and continues to be used in production equipment today. It was designed from the ground up to provide reliable high-speed data transfer, and unlike USB, it shares connection management among devices, rather than having one device as the host.

The OptoMMP implementation of this standard is integrated into all Opto controllers and brains from SNAP PAC to *groov* EPIC and RIO. What it’s mapping is an explicit ***logical*** address that can be written out like a street address, and associating that with a ***physical*** memory location. What is at the location? It could be I/O, configuration, scratch pad, or informational values. The physical location itself determines the logical hex address, so it can be calculated by following certain starting addresses and offsets, like counting street numbers as you pass each house.

So now we have a map of addresses to physical memory locations. What we read or write to these various locations goes straight into memory, making OptoMMP a very performant method of control and data acquisition. The calculation of the address is pretty straightforward, so the most complex part is interpreting the binary value that is stored at that address or building the binary package to be delivered to that location.

![OptoMMPpt2a](https://blog.opto22.com/hs-fs/hubfs/OptoMMPpt2a.png?width=378&height=160&name=OptoMMPpt2a.png)

The address for a given point is easy to find because information is stored sequentially. For example, all analog I/O points are stored in order of the module slots and channel numbers. Because each analog value takes the same amount of memory, the offset is consistent. Given just the starting address of the reading or writing analog area and the size each point takes, the addresses can be found with simple formulas, or the tools mentioned in the [previous post](https://blog.opto22.com/optoblog/optommp-tools-in-groov-manage).

![OptoMMPpt2b](https://blog.opto22.com/hs-fs/hubfs/OptoMMPpt2b.png?width=512&height=57&name=OptoMMPpt2b.png)

Moving on to the more complex part, you don’t have to worry because both the address calculation and unpacking the data stored at that location can be avoided entirely. While it can all be manually custom programmed, the tools in *groov* Manage that I went over in my last post and Opto’s Software Development Kits (SDKs) and libraries handle all of that for you.

There are SDKs for .[NET](https://www.opto22.com/products/pac-dev-optommp-dotnet), [C++](https://www.opto22.com/products/pac-dev-optommp-cplus), and [Python](https://developer.opto22.com/pythonmmp/) MMP programming languages, where each of these options have functions to calculate memory addresses and pack/unpack the data at those addresses. If you do want to write your own custom program or library to use OptoMMP directly, you are more than welcome to. The entire protocol is very thoroughly documented in the [OptoMMP Protocol Guide \[Form 1465\]](https://www.opto22.com/support/resources-tools/documents/1465-optommp-protocol-guide).

While it’s not critical to understand the intricacies of how OptoMMP works under the covers, why it was implemented, or where it came from, it is an incredible communication protocol that can be a very valuable tool in just about any Opto application. If you'd like to share an application using OptoMMP, want to see how others are using it, or have any questions, be sure to check out the [OptoForums](https://forums.opto22.com/).

And as always, *happy coding*!

 Topics: [groov EPIC](https://blog.opto22.com/optoblog/topic/groov-epic), [groov Manage](https://blog.opto22.com/optoblog/topic/groov-manage), [snap pac](https://blog.opto22.com/optoblog/topic/snap-pac), [groov RIO](https://blog.opto22.com/optoblog/topic/groov-rio), [OptoMMP](https://blog.opto22.com/optoblog/topic/optommp)

### Written by [Terry Orchard](https://blog.opto22.com/optoblog/author/terry-orchard)

<https://blog.opto22.com/optoblog/author/terry-orchard>

Terry is a UC Irvine alumnus that works in technical marketing and focuses on development and content creation. When he's not at the computer he enjoys spending time with his family and pets, flying drones, and working on yo-yo tricks.

### Subscribe to Email Updates

### Recent Posts

### Posts by Topic

- [groov EPIC (505)](https://blog.opto22.com/optoblog/topic/groov-epic)
- [groov RIO (300)](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)
- [Internet of Things (131)](https://blog.opto22.com/optoblog/topic/internet-of-things)
- [Ignition (130)](https://blog.opto22.com/optoblog/topic/ignition)
- [Node-RED (128)](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 (108)](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)
- [Integrators (75)](https://blog.opto22.com/optoblog/topic/integrators)
- [OptoPartner (75)](https://blog.opto22.com/optoblog/topic/optopartner)
- [Remote monitoring (75)](https://blog.opto22.com/optoblog/topic/remote-monitoring)
- [Ignition Edge (73)](https://blog.opto22.com/optoblog/topic/ignition-edge)
- [I/O (69)](https://blog.opto22.com/optoblog/topic/io)
- [Process control (69)](https://blog.opto22.com/optoblog/topic/process-control)
- [Webinars (69)](https://blog.opto22.com/optoblog/topic/webinars)
- [Energy management (64)](https://blog.opto22.com/optoblog/topic/energy-management)
- [CODESYS (61)](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)
- [groov Manage (33)](https://blog.opto22.com/optoblog/topic/groov-manage)
- [industrial automation (33)](https://blog.opto22.com/optoblog/topic/industrial-automation)
- [Data acquisition (30)](https://blog.opto22.com/optoblog/topic/data-acquisition)
- [Ignition Community Conference (30)](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 (23)](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)
- [developer (20)](https://blog.opto22.com/optoblog/topic/developer)
- [groov EPIC Learning Center (20)](https://blog.opto22.com/optoblog/topic/groov-epic-learning-center)
- [Cirrus Link Solutions (19)](https://blog.opto22.com/optoblog/topic/cirrus-link-solutions)
- [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)
- [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 Cloud Edition (6)](https://blog.opto22.com/optoblog/topic/ignition-cloud-edition)
- [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)
- [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)