GUI/HMI Options for your brain


We recently had this question come in and I thought I’d share some ideas, see if other OptoFans had some to add:
[INDENT]“We have some SNAP-PAC-EB2 hardware and are trying to decide between Python and C# to [I][B]create GUIs[/B][/I].” [emphasis mine]
[/INDENT]Usually folks trying to program their PCs to communicate directly with an OptoMMP device like a SNAP-PAC-EB2 brain would be a prime candidate for:

[B]Option 1: [/B]

Our OptoMMP toolkits (like the .NET one in particular [URL=“”]here, since he mentioned C#, I don’t think we have any Python examples, as far as I know).

However, depending on what kind of GUI you’re building, you might want to consider other options. If it were me, and the ONLY Opto 22 hardware I had included brains and no controllers, I’d want to add a controller (perhaps SoftPAC, or an upgrade of one SNAP-PAC-EB2 to a [URL=“”]SNAP-PAC-R2). This would greatly simplify configuring and accessing those SNAP-PAC-EB2s (no need to worry about memory map addresses/[URL=“”]OptoMMP).

Having a controller in the mix would also increase my choices – including the ability to use:

[B]Option 2:[/B]

Our free HMI software: PAC Display Basic, which is included as part of our FREE PAC Project Basic software suite – for use with our controllers. SoftPAC is our least-expensive controller which you can also try for free in the form of PAC Sim – included along with PAC Project Basic in our “PAC Project Demo.” Here’s a [URL=“”]video that introduces this Demo. Here’s [URL=“”]the Demo download file.

[B]Option 3:[/B]

Think about the accessibility of your GUI (for example, from the web). Opto 22 has a long history of giving you lots of choices, including being able to monitor and control your hardware via the Internet. Here’s one example that dates back to the 90s (just ignore the security warnings here).

I also strongly encourage you to subscribe to OptoNews, as we’re cooking up some even more exciting choices which will be announced soon.

Hope that helps!



For Perl I’ve found, but haven’t used :