arduino-cli scripts

Patrick Malsom 92a0dbae6a formatting updates 1 anno fa
blinker 460e510974 Add an LED blinker sketch as an example for ESP32 1 anno fa
humi 8d3871d9b9 added humi project in its current state. PID code does not work all that well currently. 1 anno fa
.gitignore 8ac0136d5d added libraries directory to ignore file. This directory holds all external C libraries 1 anno fa
LICENSE d7391f3233 Initial commit 1 anno fa
README.md 92a0dbae6a formatting updates 1 anno fa
completion-arduino.sh 4158a1dbec Added bash command completetion 1 anno fa

README.md

Arduino

  • #sudo dnf install python3-pyserial
  • #sudo chmod a+rw /dev/ttyUSB0
  • #sudo usermod -a -G dialout

  • download the binary from arduino

    • https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
    • Put the binary in your path (~/.local/bin)

      arduino-cli config init
      arduino-cli config set board_manager.additional_urls "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json"
      arduino-cli config set library.enable_unsafe_install true
      
      arduino-cli core update-index
      arduino-cli core install esp32:esp32
      
      # Optional libraries
      arduino-cli lib install "ESP8266 Influxdb" # send tcp data packets to influx/grafana
      arduino-cli lib install "PID" # Reference PID controller for arduino
      arduino-cli lib install "Adafruit BME280 Library" # Temp/Press/Humidity sensor
      arduino-cli lib install "DallasTemperature" # Temperature sensor
      arduino-cli lib install "HX711 Arduino Library" # Load cell library to make scales
      
  • To make a new project

    Arduino is a bit bojank. The directory structure is tied to the .arduino directory created with the config created above. The files must be stored with the following names:

    • project name sketch-name
    • path must be ~/Arduino/sketch-name/sketch-name.ino
    • main script must be named sketch-name.ino This directory structure is required for compile and upload below. To set up the directories automatically use arduino-cli sketch new blink

      const int LED_BUILTIN = 2;
      void setup() {
      pinMode(LED_BUILTIN, OUTPUT);
      }
      void loop() {
      digitalWrite(LED_BUILTIN, HIGH);
      delay(1000);
      digitalWrite(LED_BUILTIN, LOW);
      delay(1000);
      }
      

    Complile the project

    arduino-cli compile -b esp32:esp32:esp32 ~/Arduino/blink
    

    Upload to the device

    arduino-cli upload -p /dev/ttyUSB0 -b esp32:esp32:esp32 ~/Arduino/blink