Using Arduino with Fedora as a workstation.
Arduino is a very popular hardware platform among hobbyists. Arduino boards are usually based on AVR platform (using ATmega 8-bit microcontrollers), however there are some boards based on 32-bit ARM microcontrollers (Arduino Due) or even boards combining ATmega AVR microcontroller with MIPS processor running Linux distribution based on OpenWRT (Arduino Yún). Arduino boards are easy to use and ideal for hardware beginners. The microcontrollers are pre-programed with a bootloader allowing you to upload the binary firmware using only USB cable and software programmer.
You can not really run Fedora on Arduino boards, however you can easily use Fedora for developing you applications and projects for Arduino. Extensive documentation on how to write your application for Arduino, together with available libraries and language reference can be found on the project page.
There are couple of possibilities how to interact with and program your Arduino board on Fedora. These are covered in the following sections.
Arduino project has its own graphical IDE for developing projects based on Arduino boards. It allows you to:
To install Arduino IDE on Fedora, just run:
$ sudo dnf install arduino
Now you are all set to start developing you project using Arduino IDE on Fedora. Just start it from your desktop environment applications menu or run the
arduino command from the command line. For more information on how to use the Arduino IDE, please refer to the documentation.
In contrast to Arduino IDE, the Ino tool is only command line oriented. It is ideal if you want to develop the project source using your favorite text editor and do all the tasks from the command line. You can even script some of the tasks and run those as part of the CI if you want.
To install Ino tool on Fedora, just run:
$ sudo dnf install ino
After the installation you will have the
ino command available. Ino expect a specific directory structure for your project in order to work.
You can use the
ino init command for setting up the project directory structure. This will create
src/ directory for your project sources and
lib/ directory for the libraries your project is using.
To list all supported boards use
ino list-models command. To build the binary firmware use
ino build with appropriate parameters. For uploading the compiled sketch use
ino upload command and to communicate with your board using serial console use
ino serial command.
For more information about the project and supported options, please refer to the documentation or use the
-h option after the specific command.