09/01/2022 - The project is now end-of-life. Have a look at our new Rust libraries with bindings for other languages.

04/28/2022 - OpenDNP3 will reach end-of-life on September 1st, 2022.

You can read about what this means for the project in this blog post.

12/20/2020 - OpenDNP3 is now in maintenance-only mode. New features are no longer being added and commercial support is only available to existing customers.

Automatak has rebranded as Step Function I/O and is focusing on next-generation protocol libraries written in Rust. The following pages and posts explain this transition and our new libraries:


  • Apache licensed (no cost)
  • Fully automated and published conformance tests
  • Non-blocking, event-driven architecture that scales to OS limits
  • Multi-core support for large frontends and device simulations
  • Simple, consistent programming model that lowers time to market
  • Proven solution with many production deployments
  • High unit test coverage
  • API that is both safe and easy to use
  • Guide - Explains building and design (C++ and .NET)
  • C++ - Doxygen generated reference

We have recently started using opendnp3 to replace the previous library that we used in our DNP3 master driver. We are very impressed with the functionality, usability and performance of the library.