7

My company is developing a programmable remote control car which is driven by an Arduino Nano. We would like a way for the user to install software updates to the Arduino, but we don't want to give the user access to the code.

Is there a way to compile Arduino code without automatically uploading it, so that I can put the pre-compiled binary up for download on a website?

Then after this how would I go about manually uploading it (to the Arduino)?

7

Is there a way to compile arduino code without automatically uploading it, so that I can put the pre-compiled binary up for download on a website?

Yes, you can save the .hex file produced by the compiler. If you turn on verbose output from the compiler you can find the temporary directory where it is stored. Simply copy from there to a folder for download on the website.

And then after this how would I go about manually uploading it (To the arduino)?

You can do that with the command line tool avrdude but as that is somewhat complex with a lot of parameters it might be easier to use a graphical front-end. One such tool is xloader. There are several. This depends on your end-users and the host machine that they will be using.

You can find some more info here.

Cheers!

  • That said, I would like add, that if you can put hex file on website for users to download and flash the Arduino with it, then I (or anybody else) can also make a hex file and flash it to the arduino. – gilhad Jan 12 '17 at 4:55
1

I think if you do not publish the source code, the project will be a little bit unconstructive, both for developers and users, especially when it is based in open hardware.

You can put hex files available to users, but also the source code, allowing the community to participate in the development of your product.

Anyway, if you use third-party code in your project, such as libraries, remember to respect their licenses.

Best regards. Good luck with the project.

  • I actually agree with you, and I would like to just make everything open source. But my boss has other plans – TheIronKnuckle Feb 23 '16 at 2:51
  • 1
    @TheIronKnuckle If you are using any libraries (even Arduino's libraries (the Arduino language)) then make sure you are not violating any of those licences either. – Avamander Feb 23 '16 at 14:09
  • 1
    @TheIronKnuckle Your boss must pay you a salary. That is the whole point. – IOB Toolkit Team Feb 23 '16 at 19:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.