Arduino
From NixOS Wiki
The Arduino ecosystem offers two Versions of the Arduino IDE and an Arduino CLI that both base on. The latter can be used for building Arduino projects with nix.
Arduino IDE 2.x
The Arduino IDE 2.x is available in nixpkgs as arduino-ide
Arduino IDE 1.x
This is the old Arduino IDE and it is available as arduino
in nixpkgs.
It is still used for many projects.
shell.nix
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
mkShell {
buildInputs = [
arduino
#gnumake # upload with Makefile
#screen # serial console
];
}
Upload program
Upload to an Arduino Nano
board
time \ arduino --board arduino:avr:nano --port /dev/ttyUSB0 --upload Blink.cpp Loading configuration... Initializing packages... Preparing boards... Verifying... Uploading... real 0m28.913s
Arduino CLI
The Arduino CLI is available as arduino-cli
in nixpkgs.
Build Arduino project with Nix
Ardunio-Nix allows generating all dependencies from an Arduino project as Nix dependencies. The Arduino-Env patch makes it possible to build these Arduino project within Nix.
- Arduino-Nix: https://github.com/bouk/arduino-nix
- Ardunio-Env patch: https://github.com/clerie/arduino-nix/tree/clerie/arduino-env
Serial console
See: Serial Console
screen /dev/ttyUSB0 # set baud rate. default is 9600 screen /dev/ttyUSB0 9600
see also: https://wiki.archlinux.org/title/GNU_Screen
see also: https://wiki.archlinux.org/title/Working_with_the_serial_console