Secure software for power systems

We provide protocol libraries and testing tools to make electric power infrastructure more secure, reliable, and performant.

Products About Us

Secure software is reliable software


Our protocol libraries make it easy to integrate Modbus, DNP3, and 2030.5 into your applications.


We provide custom development to help you solve your most pressing electrical infrastructure software challenges.


We contribute to a number of open source projects both within and outside the industry. Our products are openly available for evaluation.


We participate in research and standardization efforts to help the industry select technologies that will have a lasting impact on reliability and security.

Protocol Libraries

Our libraries are written in safe Rust with bindings available for a number of other languages including C/C++, .NET, and Java. They offer both native performance and the security and reliability of a higher-level language.

Read More About Rust

Aegis Fuzzer

Aegis is a protocol aware smart fuzzer. We use Aegis to test our libraries; we also license it for testing 3rd party implementations of protocols. Aegis models the protocol under test, generating large numbers of intelligently malformed test cases.

Read More


We have deep experience in electric power, software engineering, and software security. We can provide subject matter expertise or contract to implement portions of your product or platform. We actively work with clients using Rust, C/C++, Java, and .NET on a routine basis.

Read More

Have any questions for us?

Reach out to inquire about our products or to scope a services engagement with our team. We can structure most projects on a T&M or fixed-price basis to meet your needs.

Latest News & Articles

We love to blog about industry trends and software engineering. Check back often for new posts, or follow us on social media.

Protocol Scalability

Protocol Scalability

Building systems that scale is becoming critically important as the power grid undergoes a rapid transformation to meet the challenge of renewables and climate change. Software architecture is crucial to scaling communications solutions for emerging applications like distributed energy resources (DERs). This blog post discusses how software architecture affects the scalability of communication protocols and provides performance data for our protocol offerings. Parallelism vs Concurrency The Internet experienced its largest growth in user base from 1995 to 2000.

Read More
Rust on Embedded Linux

Rust on Embedded Linux

We made the pragmatic decision early on to build our libraries on top of Tokio, which supports common operating systems like Linux, Windows, and MacOS. Although Rust can target bare metal, the async and library ecosystem for no_std is still rapidly evolving. Embedded Linux Despite this limitation, our libraries are still great for resource constrained environments by deploying on embedded Linux. Every release of our software includes pre-compiled libraries for popular embedded Linux architectures such as ARMv6/v7 and ARM-64.

Read More
Modbus 1.0.0

Modbus 1.0.0

We’ve released the 1.0.0 version of our Modbus library. This release adds a number of important items to make the library feature complete including: RTU (serial) support Secure Modbus - TLS support including the X.509 role extension handling Dynamically controllable protocol decoding C++ bindings API Stability The Rust community strictly adheres to the semver specification. Prior to 1.0, pretty much anything goes in terms of breaking changes. After 1.

Read More

What Others Are Saying

Don't just take it from us. Ask around. We've been working on software and security projects in electric power for over a decade.

"Adam is consistently leading the field on design and testing of industrial protocols and the latest development tool set innovations. Tech from Step Function I/O is a smart bet."

Bryan Owen, Security Architect, OSIsoft LLC

"Adam and the experts at Step Function I/O are more than just leaders in the industrial reliability and security space, they are renowned practitioners."

Ronnie Fabela, Co-Founder, SynSaber

“At EPRI, we have built a number of protocol drivers and device simulators for DER applications that use the OpenDNP3 library. We are very impressed by the high-quality library and documentation.”

Jithendar Anandan, Smart Grid Developer, EPRI