When you run arduino-cli board list
, your board doesn't show up. Possible causes:
- Your board is a cheaper derivative, or
- It's a board, such the classic Nano, that uses a USB to serial converter like FTDI FT232 or CH340. These chips always report the same USB VID/PID to the operating system, so the only thing we know is that the board mounts that specific USB2Serial chip, but we don’t know which board that chip is on.
FQBN stands for Fully Qualified Board Name. It has the following format:
VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]
, with each MENU_ID=OPTION_ID
being an
optional key-value pair configuration. Each field accepts letters (A-Z
or a-z
), numbers (0-9
), underscores (_
),
dashes(-
) and dots(.
). The special character =
is accepted in the configuration value. The VENDOR
and
ARCHITECTURE
parts can be empty. For a deeper understanding of how FQBN works, you should understand the Arduino
platform specification.
Additional board options have to be separated by commas (instead of colon):
$ arduino-cli compile --fqbn "esp8266:esp8266:generic:xtal=160,baud=57600" TestSketch
The serial monitor is available through the monitor command. By the way, the functionality provided by this command is very limited and you may want to look for other tools if you need more advanced functionality.
There are many excellent serial terminals to chose from. On Linux or macOS, you may already have screen installed. On Windows, a good choice for command line usage is Plink, included with PuTTY.
Configuration parameters of the monitor can be obtained by executing the following command:
$ arduino-cli monitor -p <port> --describe
These parameters can be modified by passing a list of <key>=<desiredValue>
pairs to the --config
flag. For example,
when using a serial port, the monitor baud rate can be set to 4800 with the following command:
$ arduino-cli monitor -p <port> --config baudrate=4800
If your question wasn't answered, feel free to ask on Arduino CLI's forum board.