I'm building a tool to help me automate my uploading process. How do I know where Arduino stores the current preferences - which board, which com port, what serial speed?

If devs are familiar with using multiple boards in the same system ithey'd know it would be really handy to be able to change that

  • You might consider switching to Platformio. It's command line-driven with a couple of IDEs available. It's trivial to automate uploads and support multiple boards in it. And it's much faster than the Arduino IDE. platformio.org
    – romkey
    Commented Jul 28, 2018 at 21:19
  • I’d suggest bypassing the Arduino IDE and use avrdude directly. If you enable verbose output on upload you can see the actual avrdude command the IDE is calling.
    – Gerben
    Commented Jul 29, 2018 at 12:55

1 Answer 1


It is stored in preferences.txt in your Arduino data folder.

You can find more about that file, including where to find it, here.

Some of the keys you may be interested in are:

  • board=uno
  • serial.port=COM3
  • serial.debug_rate=115200

However maybe for your workflow the Arduino IDE isn't the best tool for the job. You may consider arduino-builder, which is the back-end that the Arduino IDE uses to do the actual compiling, or maybe another IDE entirely, such as PlatformIO or UECIDE.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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