The best way to update the hat arduino firmware is to build this firmware on a standard Linux box ('make' inside arduino/hat), then copy the generated hat.hex to the rasbperry inside ~/.pypilot directory.
Then simply reboot (or sv restart pypilot_hat) and the firmware should be updated (look at logs inside /var/log/pypilot_hat/current).
However, I experienced errors while updating if my JLX display is connected during the update (they share the same SPI bus and there are probably some concurrent accesses to both devices). I planned to look into this but haven't got to it yet. Meanwhile, if you disconnect the display firmware updating will work.
Then simply reboot (or sv restart pypilot_hat) and the firmware should be updated (look at logs inside /var/log/pypilot_hat/current).
However, I experienced errors while updating if my JLX display is connected during the update (they share the same SPI bus and there are probably some concurrent accesses to both devices). I planned to look into this but haven't got to it yet. Meanwhile, if you disconnect the display firmware updating will work.