Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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? And then after this how would I go about manually uploading it (To the arduino)?

share|improve this question
    
There are similar questions to this one. Certainly it can be done. – Nick Gammon Feb 23 at 4:54
up vote 6 down vote accepted

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!

share|improve this answer

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.

share|improve this answer
    
I actually agree with you, and I would like to just make everything open source. But my boss has other plans – TheIronKnuckle Feb 23 at 2:51
    
@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 at 14:09
1  
@TheIronKnuckle Your boss must pay you a salary. That is the whole point. – IOB Toolkit Team Feb 23 at 19:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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