Konubinix' opinionated web of thoughts

Trying to Run a Program on Arduino Without the IDE

Fleeting

trying to run a program on UNO R3 without the IDE

taken from https://docs.arduino.cc/built-in-examples/basics/Blink/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

See https://www.devdungeon.com/content/arduino-cli-tutorial

arduino-cli core update-index
arduino-cli core search arduino
arduino-cli core install arduino:avr
arduino-cli board list
Port         Protocol Type              Board Name  FQBN            Core
/dev/ttyACM0 serial   Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr
/dev/ttyS0   serial   Serial Port       Unknown
/dev/ttyS1   serial   Serial Port       Unknown

TMP="$(mktemp -d)"
trap "rm -rf '${TMP}'" 0

mkdir "${TMP}/test"

cat > "${TMP}/test/test.ino" <<EOF
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}
EOF

arduino-cli compile --fqbn arduino:avr:uno "${TMP}/test"
arduino-cli upload --port "${device}" --fqbn arduino:avr:uno "${TMP}/test"
Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

Used platform Version Path
arduino:avr   1.8.6   /home/sam/.arduino15/packages/arduino/hardware/avr/1.8.6
New upload port: /dev/ttyACM0 (serial)

Notes linking here