The programming of Free boards is becoming fashionable and it is no wonder since boards such as Raspberry Pi or Arduino are becoming more affordable. The tutorials and video tutorials are also more affordable and it only takes a couple of hours to learn the basics of Programming. It is because of that there are many programs that try to help create specific programs for Arduino or Raspberry Pi. Even programs that are installed inside these devices to create other programs, for Raspberry Pi we have many examples.
One of the most famous programs or software related to Arduino is Scratch for Arduino, a software oriented for novice users that will help us create free programs for our Arduino projects to work properly.
Table of Contents
What is Scratch for Arduino?
But first we have to say that it is Scratch for Arduino. Scratch for Arduino is an IDE program geared towards novice users. A tool for Programming that enables the creation of code, its compilation and its execution in real time. The software is based on the famous children's app called Scratch. This application searches the teaching of Programming among the little ones thanks to the blocks and visual programming that helps the little ones to develop their most logical skills. The idea of Scratch for Arduino is to use visual programming and block programming so that any user, regardless of their level of programming, can create a program for arduino.
Scratch for Arduino has nothing to do with Scratch or the Arduino project, however, since they are free projects, the best of each project has been taken so that the end user can use their Arduino board and software. Although we have to say that these three projects do not communicate with each other. That is, Scratch does not have an option that becomes Scratch for Arduino nor does the Arduino IDE allow visual programming with a plugin called Scratch for Arduino. Scratch is a standalone software and Scratch for Arduino is an independent multiplatform program that, like the Arduino IDE, contains the drivers of certain Arduino boards for communication..
Thanks to the Community, Scratch for Arduino has an application for Android that not only allows the smartphone to communicate with the program, but we can also test the software created using the HTTP protocol.
How to install Scratch for Arduino?
The Scratch for Arduino program is available for various platforms, at least for the most popular platforms that have the most users: we can install it on Windows, on macOS, for Gnu / Linux and even for Raspberry Pi distributions, so we can have this program on any computer we use.
But first of all, we have to get the program to install it on our computer. On the official website of the project we can get the programs for all operating systems.
If we use Windows, we have to double click on the downloaded package and follow the installation wizard to which we will have to continuously press the "next" or "next" button.
If you use macOS, the process is similar or similar. But before double-clicking on the package that we have downloaded, we must go to the macOS Configuration and make sure that the operating system allows the installation of programs that do not have permissions. Once we have done this, we open the application package and drag the application to the applications folder.
If we use Gnu / Linux, then we have to first download the package corresponding to our platformIn this case, it will not be for 64-bit or 32-bit platforms but rather if our distribution uses debian packages or Fedora packages, that is, deb or rpm. Once we have downloaded the package that corresponds to our distribution we have to open a terminal in the folder, which is done by right clicking on the folder space and we execute the following in the terminal:
sudo dpkg -i paquete.deb
Or we can also install it by typing the following:
sudo rpm -i paquete.rpm
After a few seconds installing the program, we will have an icon in our menu that will be called Scratch for Arduino. As you can see, the installation of this visual IDE is very simple and generally does not need any external program to work properly.
What boards are compatible with SfA?
Unfortunately not all Arduino Project boards are compatible with Scratch for Arduino. For the moment they are only compatible Arduino UNO, Arduino Diecimila and Arduino Duemilanove. The rest of the boards are not compatible with the program but it does not mean that they cannot execute the code that we create, that is, the code that we create can be exported to another IDE so that it can be compiled and executed. Like Scratch, SfA can send code to an IDE like Arduino IDE and send the program to other boards of the Project that are compatible with Arduino IDE and that they can work correctly without having to depend on whether or not the shipment is through Scratch for Arduino.
Regarding the code, unfortunately for Licensing issues, the files are not omni-directional, that is, the Scratch files are recognized by Scratch for Arduino but those of this program are not compatible with Scratch. Even if the code generated by both programs is compatible with the Arduino IDE. This problem is something that will surely disappear with the passage of time and with the contributions of the Community, but at the moment it cannot be done.
Scratch for Arduino or Arduino IDE?
At this point, you will surely wonder what is better to program for Arduino Scratch for Arduino or Arduino IDE? A serious question that with a little logic can be answered if we really know what our programming level is. Scratch for Arduino is an IDE that is intended for the most novice and less expert users that are helped by the visual aspect for block programs, something similar to the so-called semi-programming. While Arduino IDE is an IDE for expert and intermediate level programmers who do not need the visual aspect to program correctly. Y if the program is for a child or a teenager, it is clear that Scratch for Arduino is the appropriate program.
But, if we have a powerful team, a desktop computer would suffice, it is best to have both solutions. As we have said before, Scratch for Arduino can help us by creating blocks and Arduino IDE can help us send the program to various boards, either from Arduino or from other projects that work with Arduino IDE. But, in any case, the choice is yours Which one do you choose?