Add an option to upload without recompiling

Exactly, such an "advanced" option doesn't have to be available by default but rather turned on in the preferences on demand. This way the argument that beginners and people not really into programming will be lost and confused is no longer valid. Of course as long as they do not tinker with the options but if they do they are either no longer beginners or just asking for trouble :wink:

I can actually give you an example why such an option would be beneficial also for those less experienced. I have a project that is open and can be used by people not really experienced in MCU world.
I needed extra 16bit timers (might be possible without it but I like HW solutions and that's beside the point) so I've used Nano with ATMega328PB. I've seen topics where people just got their hands on such boards but wanted to use them as generic Nano but had a problem as there was a different bootloader. In my case it's the other way around - my Nano looks like a regular one with ATMega328P and uses standard bootloader.
So, in order to compile the program that uses registers that do not exist in "P" version I added the MicroCore board package which is easy enough to explain to people who might want to use my project and change some settings.
Program compiles without problems but now I have standard bootloader while MicroCore expects a different one. I cannot simply change the board settings to regular Nano and click "Upload" because it will try to compile again and of course fail.
So now I have to explain people how to get the hex file with "Export Compiled Binary" option (which BTW sounds more advanced to me then "just upload" option :stuck_out_tongue: ), install AVRDUDE (because it's easier to have a separate copy in easy path than digging into IDE internals to use the build in one), copy the hex file (again to make path easier) and give them bat file to avoid explaining CMD in windows and they still have to change COM port number in bat eh...