ARDUINO-CLI-UPLOAD(1)
π ARDUINO-CLI-UPLOAD π
okay bestie, welcome to the arduino-cli upload page from the ARDUINO COMMAND LINE MANUAL, section 1 β¨ buckle up, this one gets your sketch onto the board, no cap.
β¨ NAME β¨
arduino-cli-upload β get your Arduino sketch onto the board. Uploading. Slay. π
π¦ SYNOPSIS π¦
arduino-cli upload [flags]
πΈ DESCRIPTION πΈ
So like, this command uploads your Arduino sketch. That's the whole vibe. π«Ά
BUT β and this is the important part, bestie, don't skip it β this does NOT compile the sketch before uploading. It does not. Zero compiling. None. So if you haven't already built it, that's a you problem, and you need to go do that first. The upload command is just the last little hop. βοΈ
π OPTIONS π
--board-options=[]β a list of board options, separated by commas. Or you can use it multiple times if you've got multiple options to set. Your call, girlie π--build-path=""β the directory holding the binaries you wanna upload.--discovery-timeout=1sβ the max time to wait around for port discovery. like30s,1m, that kind of thing. don't leave it waiting forever, the port will show up when it shows up π-b,--fqbn=""β the Fully Qualified Board Name. e.g.arduino:avr:uno. this is your board's whole government name, you gotta know it.-h,--help[=false]β help for upload. the classic. π€--input-dir=""β the directory holding binaries to upload.-i,--input-file=""β the binary file to upload.-p,--port=""β the upload port address, e.g.COM3or/dev/ttyACM2. this is your board's address, where it lives.-m,--profile=""β the sketch profile to use.-P,--programmer=""β the programmer to use, e.g:atmel_ice.-l,--protocol=""β the upload port protocol, e.g:serial.-F,--upload-field=β set a value for a field that's required to upload. giving it exactly what it needs bestie π--upload-property=[]β override an upload property with a custom value. can be used multiple times for multiple properties. lowkey the power move β¨-v,--verbose[=false]β optional! turns on verbose mode. if it's broken and you're nosey, this is your moment π-t,--verify[=false]β verify the uploaded binary after the upload. double-checking is so valid.
π OPTIONS INHERITED FROM PARENT COMMANDS π
these are the ones you got from the parent command, like inherited family drama but useful π
--additional-urls=[]β a comma-separated list of additional URLs for the Boards Manager.--config-dir=""β sets the default data directory (Arduino CLI will look for the configuration file in this directory).--config-file=""β the custom config file (if it's not specified, the default one gets used).--json[=false]β print the output in JSON format.--log[=false]β print the logs on the standard output.--log-file=""β path to the file where the logs will be written.--log-format="text"β the output format for the logs. can be:text,json.--log-level="info"β messages with this level and above will be logged. valid levels are:trace,debug,info,warn,error,fatal,panic.--no-color[=false]β disable colored output. (me ?? giving up color ?? tragic but okay π)
π₯ EXAMPLE π₯
here's how the girlies actually run it, no cap:
debian/build/bin/arduino-cli upload /home/user/Arduino/MySketch -p /dev/ttyACM0 -b arduino:avr:uno
debian/build/bin/arduino-cli upload -p 192.168.10.1 -b arduino:avr:uno --upload-field password=abc
see? board, port, fqbn. the holy trinity π«Ά
π SEE ALSO π
arduino-cli(1)β the main character. go read it, iykyk.
β HISTORY β
15-Aug-2026β Auto generated byspf13/cobra.
lowkey reminder: this page is auto generated by spf13/cobra, so don't come for me about the wording. the facts are the facts, bestie π
and that's the whole page, fr fr! π this came from the ARDUINO COMMAND LINE MANUAL, section 1, dated Aug 2026, and yes it was Auto generated by spf13/cobra β so go forth, upload your sketch, and be the main character of your own serial port β¨ππ¦ periodt π
π¦ where this page comes from
- ubuntu stonking: arduino-cli 1.5.1-4 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms