Open Source Alternatives to Simulink
OSE Linux for Mechatronics
To Foad on linked in:
Our audience is this, starting Sep 1, 2025 - https://www.opensourceecology.org/ready-to-re-design-civilization/. We are interested in mechatronic design tools survey. Would be interested in custom distro on USB with all tools preloaded and configured, running from live USB, with output that can be saved on another USB if live USB cannot save work. The audience is a high school graduate with intro college physics understanding, or possibly high school physics. The practical application is regarding any relevant tools for designing consumer goods such as toaser ovens, induction cooktops, coffee machines, 3D printers, hydraulic power units, welders, inverters, electric motors and generators - and any of the tools of the Global Village Construction Set. Does that make sense?
Open Source Mechatronics Software
From [1] - archiving here.
Simulink is a visual programming environment, especially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available:
- Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations OpenModelica and JModelica. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see this Reddit post. There is a Discord server for Modelica Language and its many implementations, where you can ask questions and discuss Modelica-related issues.
- If you prefer a similar environment as SIMULINK, xcos which comes with Scilab, or its older sister scicos which comes packed with Scicoslab might be very helpful. There are also the simport, Simelica-AdvancedBlocks, and Coselica tools which can translate SIMULINK into scicos / Modelica models. Nelson is also a fork of Scilab which is working on a block-diagram environment (here). More info about Scilab history and its very forks here. There are Discord channels for #scilab and #xcod. Here is a nice introduction video by scicos creator Ramine Nikoukhah.
- There is also the Kepler project which is a less known but very interesting alternative.
- If you want to simulate electrical systems then I would suggest taking a look at SimulIDE, KTechLab, QUCS/QUCS-S… More I have listed here. Check the SimulIDE Discord channel here.
- I see some people have suggested LabVIEW as an alternative to SIMULINK, which IMHO is comparing apples and oranges. LabVIEW is a completely different beast and a great FLOSS alternative to it is MyOpenLab. You may use MyOpenLab for creating GUIs to communicate with Raspberry Pi and Arduino. I have explained more here. There is also a Discord server for MyOpenLab where you can ask questions or discuss different topics.
Images
Simulink is a visual programming environment, especially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available:
- Modelica language is the most viable alternative and in my opinion, it is also a superior option to MathWorks Simulink. There are open-source implementations OpenModelica and JModelica. One of the main advantages of Modelica is that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with JModelica you can use Python to model everything. For more information about JModelica see this Reddit post. There is a Discord server for Modelica Language and its many implementations, where you can ask questions and discuss Modelica-related issues.
- If you prefer a similar environment as SIMULINK, xcos which comes with Scilab, or its older sister scicos which comes packed with Scicoslab might be very helpful. There are also the simport, Simelica-AdvancedBlocks, and Coselica tools which can translate SIMULINK into scicos / Modelica models. Nelson is also a fork of Scilab which is working on a block-diagram environment (here). More info about Scilab history and its very forks here. There are Discord channels for #scilab and #xcod. Here is a nice introduction video by scicos creator Ramine Nikoukhah.
- There is also the Kepler project which is a less known but very interesting alternative.
- If you want to simulate electrical systems then I would suggest taking a look at SimulIDE, KTechLab, QUCS/QUCS-S… More I have listed here. Check the SimulIDE Discord channel here.
- I see some people have suggested LabVIEW as an alternative to SIMULINK, which IMHO is comparing apples and oranges. LabVIEW is a completely different beast and a great FLOSS alternative to it is MyOpenLab. You may use MyOpenLab for creating GUIs to communicate with Raspberry Pi and Arduino. I have explained more here. There is also a Discord server for MyOpenLab where you can ask questions or discuss different topics.
20-sim is a great alternative package with a complete toolset for multi-domain dynamic systems.