How To Add Arduino Uno to Turris Omnia

Installation Steps

  1. Follow arduino-cli getting started guide

Now the Turris hardware is apparently not able to run the binaries downloaded by the arduino-cli, so you need…

Extra Steps

Could be a problem on Arduino, Turris or OpenWRT side? I don’t know!

  1. Clone mdns-discovery
  2. Build mdns-discovery with Golang
  3. Copy mdns-discovery binary to ~/.arduino15/packages/arduino/builtin/mdns-discovery and overwrite
  4. Clone toolchain-avr
  5. Build toolchain-avr with Gnu M4, Autoconf, Perl, perlbase-* (whatever is shown in error messages)
    • ./tools.bash finishes fast
    • ./binutils.build.bash finishes fast
    • ./gcc.build.bash takes a looooong time…
    • ./avr-libc.build.bash fails because of the line mv libc/avr-libc .
      • Change the line to mv libc/avr-libc ./avr-libc and run the file again!
  6. Copy all of toolchain-avr/objdir to ~/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 and overwrite
  7. Install avrdude via opkg
  8. Reference avrdude in two lines of /root/.arduino15/packages/arduino/hardware/avr/1.8.6/platform.txt
    • tools.avrdude.path=/usr
    • tools.avrdude.config.path=/etc/avrdude.conf

Congratulations. You can detect your Arduino Uno Board via USB, compile Sketches and upload them to the board.

Sidenote: Serial monitor tool can also not be executed and is not covered by the steps, but should be fixable by recompiling too.

Demo and pictures follow on demand…