Arduino is a free/libre and open-source hardware platform for electronics prototyping which is very popular in academia as well as in industry. The FLOSS-Arduino is devoted to the control of Arduino using Free/Libre Open Source Software like Arduino IDE, Scilab, Xcos, Python, Julia, and OpenModelica. The interface helps the user to perform embedded systems experiments with various components like LED, sensors, actuators, Potentiometer, etc. using Arduino Uno board. The source code required for performing various experiments is given in the book. The same code is also available in the Downloads tab of this website.

To follow the instructions given in the book you have to install the below software with the specified version in Linux 18.04 or Windows 8/10 OS.

  • Arduino IDE 1.8

  • Python 3.5

  • Scilab/Xcos 5.5.2

  • Open Modelica 1.1.7

  • Julia 1.6.0



Arduino is an open-source platform used for building electronics projects. Arduino is quite popular with people just starting out with electronics. Arduino does not need a separate piece of hardware (called a programmer) in order to load new code onto the board -- you can simply use a USB cable. Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn to program.

With the Arduino, you can design and build devices that can interact with your surroundings. The Arduino boards are basically a tool for controlling electronics. They are able to read inputs with their onboard microcontroller (eg. Light on a sensor, an object near a sensor) and turn it into an output (Drive a motor, ring an alarm, turn on an LED, display information on an LCD, etc.).

To know more about Arduino please visit 



Python is a high-level, interpreted programming language that has found application in almost every imaginable field out there. Its reputation as an easy-to-learn language with simple syntax makes it an ideal first language to learn to program. Python also has an extensive library of standards and toolkits. Python supports modules and packages, which encourages program modularity and code reuse.

To know more about Python please visit



Scilab software, stemming from Inria, France is the worldwide free/libre and open-source reference in numerical computation software. Scilab is used in all major strategic scientific areas of industry and services such as space, aeronautics, automotive, energy, defense, finance, and transport.

Xcos is a graphical editor to design hybrid dynamical systems models. Models can be designed, loaded, saved, compiled, and simulated. Xcos is freely available and distributed with Scilab.

The interface helps the user to perform embedded systems experiments on an Arduino board using Scilab code, and also through Xcos Block-based simulation environment.

To know more about Scilab please



Julia has been revolutionizing scientific and technical computing since 2009, the creators Edelman is director of the Julia Lab at MIT, started working on a new language that combined the best features of Ruby, MatLab, C, Python, R, and others.

It is used at more than 700 universities and research institutions and by companies such as Aviva, BlackRock, Capital One, and Netflix.

To know more about Julia please



OpenModelica is an open-source modeling and simulation environment intended for industrial and academic usage. It is an object-oriented declarative multi-domain modeling language for complex systems. The OpenModelica environment allows most of the expression, algorithm, and function parts of Modelica to be executed interactively, as well as equation models and Modelica functions to be compiled into efficient C code. The generated C code is combined with a library of utility functions, a run-time library, and a numerical DAE solver. OpenModelica Connection Editor is the new Graphical User Interface for graphical model editing in OpenModelica. With proprietary databases of thermodynamic and physical properties interfaced into the software, simulation of Chemical Engineering models has become much more user-friendly and provides accurate results. This environment can be used to work for both steady-state as well as dynamic systems.

To know more about OpenModelica please