Arduino development setup on Fedora without IDE
2025-11-16This article describes how to setup an Arduino development environment on Fedora 43 using the Arduino IDE.
Setup
Install required distro packages
dnf install avr-gcc-c++ avr-libc avrdude
Getting the sources
To work with Arduino, you need the core sources and some helper Makefiles. These are fetched from the source code repositories directly using git without installing any packages.
mkdir arduino-sdk cd arduino-sdk git clone https://github.com/sudar/Arduino-Makefile git clone https://github.com/arduino/Arduino.git cd Arduino git checkout 1.8.19
The sources for the specific boards are also required.
Download the file avr-1.8.3.tar.bz2 or clone
ArduinoCore-avr and unpack into the folder arduino-sdk/Arduino/hardware/arduino
This installs the required code for Atmel AtMega CPU based boards.
For other board types see package_index_bundled.json for the required files.
Setting up a project
Create a new directory for your project. In this example an Arduino Pro Mini is used.
Makefile
ARCHITECTURE=avr ARDUINO_VERSION = 1819 BOARD_TAG = pro BOARD_SUB = 8MHzatmega328 ARDUINO_PORT = /dev/{SERIAL_DEVICE} ARDUINO_LIBS = ARDUINO_DIR = {YOUR_PATH}/arduino-sdk/Arduino include {YOUR_PATH}/arduino-sdk/Arduino-Makefile/Arduino.mk
Finally create your source code like this hello world example.
helloworld.ino
void setup() { Serial.begin(115200); } void loop() { Serial.println("Hello World"); delay(1000); }
Building and uploading the program to the Arduino is done using this commands
make make upload
The uploaded program is now sending Hello World via the serial terminal. To
see these you have to use your favorite serial terminal program like kermit,
minicom, gtkterm or other. A different way is to use socat for this:
This should show the sent output.socat - /dev/ttyUSB0,echo=1,crnl,raw,b115200
Anbieterkennzeichnung
Datenschutzhinweis
This work is licensed under a
Creative Commons Attribution-ShareAlike 4.0 International License.