Anonymous i-campbell

This is the personal project of i-campbell.

To-Do list:

  • Voice Assistant (20% complete)
  • IEC-ST SparkplugB - MQTT (25% complete)
  • CODESYS 4 MAC (95% complete)
  • 4x4x4 Zauberwürfel solving 3D simulator for softmotion (no hardware) (2%)
  • 4x4x4 Zauberwürfel solving robot (hardware) (0%)
  • Convert PLCOpenXML to ASCII Art Ladder for text based compare tools (10%)

Voice Assistant (20%)

  • (Mycroft) Online Voice assistant for better speech recognition and text to speech (Mycroft Skill => OPC UA => CODESYS PLC)
  • (Mycroft) Offline Voice assistant for better privacy (Mycroft Skill => OPC UA => CODESYS PLC)
  • (Alexa) Echo => AWS => MQTT => CODESYS (AWS IoT Core Client SL)
  • currently I have a Mycroft set up on a pi4 doing speech to text (STT) offline with deepspeech.

IEC-ST SparkplugB - MQTT (25%)

  • Just another fieldbus :P. Actually this one is maybe unique, in that it uses an MQTT message broker rather than talking directly from device to device.
  • First open source collaborative CODESYS project for me.
  • project link


  • Because one needs a windows OS license to run the CODESYS prerequisites (.NET Framework), as with [tol/codesys-4-linux🎟️2], there is really no point trying to run it on a MAC using Wine instead of a Windows VM.
  • There are also some other bugs running it on Wine for Mac such as Chromium Embedded Framework not working (I think this is why I cannot use the Device Object Viewer). Also as it only runs on 32-bit single core wine (as with many wine programs) the performance is much less than what I should get from a VM. I disabled various background options to improve performance - which helped but not enough. I feel the investment in a Windows OS license at minimum, or Windows PC at most will offset the productivity cost of rebooting CODESYS or waiting a few minutes for the save to finish.
  • The remaining 5% of this project are:
    • Install with VM
    • blog post with steps to install with Wine / with VM

4x4x4 Zauberwürfel solving 3D simulator for softmotion (no hardware) (2%)

  • So it seems CODESYS Depictor is the product for simulation. Made a 2x2x2 cube array to experiment. Looks pretty neat. The free demo version gives me 10 'poses' which just might fit into what I want to do for the simulation. I considered the paid version, as technically each sub-cube with an external face could be a pose (68) + the robot itself. but I think getting it to work with the 10 poses will allow the project to reach (and be maintained by) a wider audience.
  • Have started planning the solver algorithm.

Convert PLCOpenXML Ladder to ASCII Art Ladder (10%)

Does what it says on the tin. Actually, I am using this as a python learning experience. Yesterday I learned of some undocumented Ladder features in CODESYS, debating whether to support it in this project by giving error messages, support it fully, or not support it at all and just let everything go silently pearshaped.