-
-
Notifications
You must be signed in to change notification settings - Fork 435
Serial port and board type don't "stick" after uploading to Pico/Pico W #1247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @daniloc. Thanks for your report. Please try this and then comment here to tell us what the result was:
Is the correct board and port still selected after following the above instructions? My suspicion is this is the same as #180 Other reports of problems caused by the naïve "automagical" port/board handling system of Arduino IDE 2.x: |
Thank you for the reply, @per1234! I have followed your instructions a few times to be certain, from fresh launches of the IDE. Here is what I observe: With
|
This bug is tracked at #82 If you look at the board definitions for the "Raspberry Pi Pico W" and "Generic RP2040" boards in the platform's https://raw.githubusercontent.com/earlephilhower/arduino-pico/2.3.3/boards.txt
No. I picked that board arbitrarily. When you select a port and a board, the Arduino IDE remembers that association. It is convenient in some cases, but it is very inconvenient when you accidentally make an unintentional association. My instructions simply caused the "Arduino Nano" board selection to be associated with the /dev/cu.Bluetooth-Incoming-Port port instead of the "Raspberry Pi Pico W" board selection.
This is because the VID/PID pair used by Arduino is only associated with a single board definition, so it is not affected by #82: https://github.com/arduino/ArduinoCore-mbed/blob/3.2.0/boards.txt#L405-L406
I wouldn't say so. There is nothing in the Arduino Platform Specification that prohibits multiple board definitions from using the same identifiers, and such a prohibition would be unreasonable anyway because it is not only a matter of requiring the boards to have a unique identifier within the platform, but also to have a unique identifier within the entire ecosystem of thousands of board definitions maintained (or not maintained) by dozens of entities who would never and could never coordinate on such a thing. No, it is simply a well intentioned but naïvely designed "feature" of the Arduino IDE that probably sounded good at first, but doesn't work in real world conditions. It is best to have only a single issue per subject so we can consolidate all relevant discussion to one place. Since we are already tracking these bugs at #82 and #180, I'll go ahead and close this in favor of the other. If you end up with additional information to share, feel free to comment in the other thread. |
Describe the problem
When uploading code to a Pico or Pico W, the IDE does not retain the selected board type or serial port, selecting
/dev/cu.Bluetooth-Incoming-Port
.When the board boots, its port is labeled "Generic RP2040."
On each upload it's necessary to re-select the port (for serial monitor) and set the board type again (to upload).
To reproduce
Arduino-Pico
for initial programming of a Pico boardScreen.Recording.2022-07-23.at.9.39.27.PM.mov
Expected behavior
When the board and port come back online, the port should be re-selected with the previous board definition.
Arduino IDE version
2.0.0-rc9
Operating system
macOS
Operating system version
12.4
Additional context
I suspect this is an artifact of the disk-based programming of RP2040 boards, but don't know much beyond that. The port issue also appears when using the official Arduino Core, although in that case it does seem to remember the board type.
Issue checklist
The text was updated successfully, but these errors were encountered: