Hi all, thank you for stopping by to help me out!!
I am creating a code that will be forever communicating with the user's computer through the serial monitor. So what I am doing now is that I simply double-click on the sketch, click upload, and click on the serial-monitor and use the code.
But the problem is, I want to hide my code but still use either the serial monitor, or something like that to interact with the Arduino mega 2560 ADK.
If you have such an idea on how to do this, please let me know. Thank you a lot in advance
Once the sketch is uploaded, there's no need to upload it again. Use something like PuTTY, instead of the Serial monitor, and you don't need to open the IDE.
Putty is a terminal emulator, and your Arduino software may not work correctly with it, depending on how it is written.
The Serial Monitor doesn't send characters until you click on "send", but a terminal emulator sends them as the keys are pressed.
How your software recognises the end of character input may also need some attention, if your Serial Monitor is configured not to send a newline character.
I want to hide my code but still use either the serial monitor, or something like that to interact with the Arduino mega 2560 ADK.
If you want to "hide" your source code, just compile and upload it to the arduino and it is then it is hidden. Somebody could possibly download the binary from the arduino, but i doubt they would be able to decompile it.
I assume you talk about Digital Rights Management.
I bet there's no such library for Arduino available.
Does every atmega chip have a unique ID (serial number)? How else could you achieve identification?
I think that's rather a question for the Lock bits.
Not sure if this is OP's intention: Hiding Source Code is something different than Copy Protecting Binary
There's one of these "fuses", i.e. configuration bits, that can prevent reading the chip's program memory. It's called something like "read only" fuse I think
Here's a page about avrdude that talks about its ability to "burn" (i.e. set) fuses on the atmega328: