Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Arduino details
Login with GitLab


Arduino Communication through Serial
(13874 downloads for this version - 260634 downloads for all versions)
A more recent valid version with binaries for Scilab 6.0 exists: 1.8
Owner Organization
Scilab Enterprises
Samuel Gougeon
Chin Luh Tan
Creation Date
October 29, 2019
Source created on
Scilab 6.0.x
Binaries available on
Scilab 6.0.x:
Linux 64-bit Windows 64-bit
Install command
--> atomsInstall("arduino")
            This toolbox provides Arduino communication blocks for Xcos.

Source code hosted at :

Communication is performed through Serial port.

For version 1.7.0, the Arduino board must be flashed with the file
toolbox_arduino_v5.ino (shipped in the module and downloadable from the ATOMS

TUTORIALS (in english)
* Blinking LED Tutorial:
* Temperature monitoring Tutorial:

* Demosciences project (in french):

* toolbox_arduino_v4.ino is shipped within the toolbox, including the
  MPU6050 bloc and filtering. Thanks to David VIOLEAU.

CHANGES 1.6.2 => 1.7
  * Fixed Scilab 6 compatibility issues
  * Change the serial to Scilab from char to double to solved ascii issues.
  * Fixed port >9 not supported issue
  * Multiple boards support (Set to 2 currently as more board yields slow
  * Linux/MacOS(?) Support (Thanks to Nikolay Strelkov link in

   * Change the firmware to get multiple channels and sent all back to host for
performance improvement
   * Translate help pages in english
   * Translate blocks interfaces and error messages
   * Translate demos

CHANGES 1.5 => 1.6.2
 * toolbox_arduino_v4.ino file shipped in the module was bad.
   Replaced with the right file.
 * ARDUINO_pre_simulate() was expecting arduino_v3.ino instead of 
   arduino_v4.ino and yielded an error 'Il faut charger avec le logiciel
   arduino le sketch toolbox_arduino_v3.ino dans la carte Arduino'
   when actually dealing with the v.4
 * The DESCRIPTION file that was removed from v.1.4 is actually 
   needed to instal the module offline. Restored.
 * Demos: Examples for Scilab 6.0 are displayed with wrong ports 
   positions with Scilab 5.5. The versions for Arduino 1.1 are 
   restored in the binary for the Scilab 5.5.
  * Extend the module to Linux users (through the serial toolbox based on TCL)
  * Translate help pages in english
  * Translate blocks interfaces and error messages
  * Translate demos
Files (3)
[1.59 MB]
Linux 64-bit binary for Scilab 6.0.x

[1.07 MB]
Source code archive

[1.58 MB]
Windows 64-bit binary for Scilab 6.0.x

News (0)
Comments (3)     Leave a comment 
Comment from AHMAD FARHAT -- November 17, 2019, 06:05:30 AM    
Hello Samuel,
In Notes, MPU6050 is added to .ino file
* toolbox_arduino_v4.ino is shipped within the toolbox, including the
  MPU6050 bloc and filtering. Thanks to David VIOLEAU."

However I can't find a corersponding bloc in Xcos palette. 
So how to use it.
And are there any part about i2c in the project?
Thank you! 
Answer from Chin Luh Tan -- November 28, 2019, 02:21:27 AM    

I think Samuel might hv overlook this message, thanks for your feedback, we shall update 
the module on the blocks for MPU 6050. 


Answer from Chin Luh Tan -- January 5, 2020, 05:14:26 PM    
the block has been restored by the functionality was not tested, please feedback if you
have any issue using this block.


Comment from Martin Tognazzolo -- November 28, 2019, 02:02:51 AM    
To whom it may concern,
I'm currently attempting to create a sine wave in one of the PWM ports on an Arduino Uno,
a University project, in ORT Uruguay. 
When it enters a range between 2.6V to 3.8V, the signal becomes zero, even if I try to
constant 3V, for example. I have already tried with different arduinos in case it was the 
device but the error persists. Therefore, I believe the error must be in the Toolbox 5
but I couldn't figure it out.
I am using Scilab 6.0.1 with xcos. 

I would really appreciate an answer,
Thank you,
Martin Tognazzolo
Montevideo Uruguay
Answer from Chin Luh Tan -- November 28, 2019, 02:20:16 AM    
Hi, for the PWM I believe you are using the Analog Write block, and please be noted that 
the input to the block shall be in the range of 0-255. 

If you already done so, perhaps you might want to share your model via scilab mailer so 
that other users or ourselves could have a look on the problem.


Comment from Ciro Bruno -- December 3, 2019, 04:13:53 AM    
Is there any Mac OS buid?

Thank you.
Answer from Chin Luh Tan -- January 6, 2020, 01:29:53 AM    
hi, so far no, as the serial id for the mac seems like different from machine to machine. 

however, you could build it from the source, by changing the main_linux.c in gateway 

Under open_serial function:

	char *portname;
		case 0: portname = "//dev/ttyACM0";break;
		case 1: portname = "//dev/ttyACM1";break;

change the portname to the one pointing to your arduino, then run the builder and you 
sould be able to access the arduino at port 0. 

hope this helps.

Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.