<Ubuntu> Arduino IDE 설치
1. Arduino IDE 1.x 설치
더보기
Arduino IDE 1.x 특징
- 자바 기반, 가볍고 단순함
- 코드 작성, 컴파일, 업로드 기능 제공
- 라이브러리 및 보드 매니저 통해 다양한 보드 지원
- 디버깅 기능은 제한적
sudo snap install arduino
2. Arduino IDE 2.x
더보기


Arduino IDE 2.x 특징
- Electron 기반:
- Arduino IDE 2.x는 Chromium과 Node.js를 기반으로 하는 Electron 프레임워크를 사용해 개발
- 보안상 웹 콘텐츠와 시스템 자원을 격리하기 위한 샌드박스(sandbox) 환경을 기본 활성화하여
Linux 환경에서 권한 문제와 실행 오류가 발생함 - 무거운 리소스 사용: Electron 기반으로 인해 기존 1.x 버전에 비해 메모리와 CPU 자원을 더 많이 사용합니다.
- 현대적 UI/UX: VSCode와 유사한 현대적이고 직관적인 인터페이스를 제공합니다.
- 자동완성 및 실시간 오류 검사: 코드 작성 시 문법 오류와 제안 기능이 향상되었습니다.
- 내장 디버거 지원: 하드웨어 디버깅 기능이 추가되어 개발 편의성이 높아졌습니다.
- 플러그인 확장 가능: 확장성과 유지보수성이 개선되었습니다.

2. 다운받은 경로로 이동
cd ~/Downloads
3. Arduino IDE 2.3.6 AppImage 권한 부여
chmod +x arduino-ide_2.3.6_Linux_64bit.AppImage

4. Arduino IDE 2.3.6 AppImage 샌드박스 비활성화하고 실행하기
./arduino-ide_2.3.6_Linux_64bit.AppImage --no-sandbox
5. AppImage 를 더블클릭해서 실행한다.
3. USB 접근 권한 설정
더보기
1. USB 접근 권한 설정
sudo usermod -aG dialout $USER
- sudo 관리자 권한으로 명령어 실행
- usermod 사용자 계정 정보를 변경하는 명령어
- -aG 기존 그룹은 유지(-a), 추가 그룹 지정(-G)
- dialout 추가할 그룹 이름 (시리얼 통신 장치 접근 권한 그룹)
- $USER 현재 로그인한 사용자 이름을 환경변수로 참조
2. 재부팅
- 리눅스는 로그인 시점에 사용자의 그룹 권한을 메모리에 불러옵니다.
- 그룹 변경 후에도 현재 로그인된 세션에선 변경된 그룹 권한이 반영되지 않기 때문에
새 세션을 시작(로그아웃 후 재로그인 또는 재부팅)해야 그룹 권한이 적용됩니다.
3. 확인 방법
: 그룹에 잘 추가되었는지 확인하려면 터미널에 아래 명령어 입력:
groups $USER
- 현재 사용자를 dialout 그룹에 추가하는 명령어입니다.
- 출력 결과에 dialout이 포함되어 있으면 성공입니다.
1. USB 권한 설정이 필요한 이유
- 우분투(리눅스)에서 기본 USB는 /dev/ttyUSB0, /dev/ttyACM0 같은 특수 파일로 표현되고,
이 특수 파일은 특정 그룹에 속한 사용자만 접근하도록 권한이 설정되어 있습니다. - 아두이노를 PC에서 프로그래밍(코드 업로드) 하려면 USB 포트에 대한 읽기/쓰기 권한이 필요합니다.
2. dialout 그룹이란?
- 우분투에서 /dev/ttyUSB*, /dev/ttyACM* 장치 파일의 소유 그룹은 대개 dialout 그룹입니다.
- 따라서 dialout 그룹에 속한 사용자만 시리얼 포트를 읽고 쓸 수 있습니다.
4. 아두이노 보드 연결 테스트
5. AppImage를 시스템 메뉴에 등록
더보기
arduino2.x_appimage-desktop-entry/README.md at main · BasicLike/arduino2.x_appimage-desktop-entry
arduino2.x_appimage-desktop-entry/README.md at main · BasicLike/arduino2.x_appimage-desktop-entry
Generate desktop entry and icon for AppImage on Ubuntu 24+, with Electron sandbox disabled for compatibility. - BasicLike/arduino2.x_appimage-desktop-entry
github.com