SoapBox Snap

SoapBox Snap is a free and open source PC-based automation platform. It includes a ladder logic editor and a “soft” runtime right out of the box. The ladder editor includes standard instructions like contacts, coils, timers, counters, rising edge and falling edge, and set/reset instructions. The soft runtime comes with drivers for Phidgets I/O devices that plug right into your USB port. SoapBox Snap also comes with an Arduino Runtime, which means you can download your ladder logic programs to an Arduino (UNO, Nano or Mega board) and even do online debugging and forcing.

Snap actually stands for “Snap is Not a PLC”. It’s not for industrial use. It’s targeted at the DIY “maker” culture. If you’re familiar with ladder logic in your day job (or you have any kind of electrical background) and you want to include automation in your personal or academic projects, SoapBox Snap is built for you.

SoapBox Snap is designed to be modified and extended. In addition to being released under the GPL open source license, the application has many extension points where .NET programmers can add new features. The main extension points are:

You can add new ladder logic instructions

You can add new drivers to the soft runtime

You can add new runtimes, so the logic you write with SoapBox Snap can run on other hardware platforms

You can add new language editors, other than ladder logic

SoapBox Snap uses an open file format and communication protocol called SoapBox Protocol. It is based on XML and Secure Sockets Layer (SSL) so it can be implemented on any platform that supports those standards. A reference implementation written in C# is included in SoapBox Snap. SoapBox Protocol is dual-licensed under the GPL (as part of SoapBox Snap) and separately under the CDDL which allows you to use it in proprietary applications.