No monitor available

I'm on a Mac trying to connect Arduino IDE to a Raspberry pi pico. I can compile and upload a sketch just fine, but the serial monitor doesn't work. I launched the IDE from the commandline and this is what I see in the logs.

2023-06-15T13:58:16.718Z root ERROR Uncaught Exception: 
2023-06-15T13:58:16.718Z root ERROR Error: 3 INVALID_ARGUMENT: No monitor available for the port protocol serial
    at Object.callErrorFromStatus (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
    at Object.onReceiveStatus (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/client.js:190:52)
    at Object.onReceiveStatus (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
    at Object.onReceiveStatus (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
    at /Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/call-stream.js:187:78
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
for call at
    at ServiceClientImpl.makeUnaryRequest (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/client.js:160:30)
    at ServiceClientImpl.enumerateMonitorPortSettings (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)
    at resp (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/arduino-ide-extension/lib/node/monitor-service.js:346:20)
    at new Promise (<anonymous>)
    at MonitorService.portMonitorSettings (/Applications/Arduino IDE.app/Contents/Resources/app/node_modules/arduino-ide-extension/lib/node/monitor-service.js:345:28)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Any help would be greatly appreciated.

Does OSx require your userid to be in a group that has permissions to use the serial port (in Linux, it is called the dialout group)?

Don't believe so.

groups
staff everyone localaccounts _appserverusr admin _appserveradm _lpadmin com.apple.sharepoint.group.1 _appstore _lpoperator _developer _analyticsusers com.apple.access_ftp com.apple.access_screensharing com.apple.access_ssh com.apple.access_remote_ae com.apple.sharepoint.group.2

As a side note, the below code works with cmake, manually copy it over, and using minicom I can see the output. I imagine the same group permissions would apply.

#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/pio.h"



int main()
{
    stdio_init_all();

    puts("Hello, world!");

    while(true) {
        sleep_ms(1000);
        puts("looping...");
    }

    return 0;
}

I downloaded 1.8.19, and ran the same sketch with it. I can see serial output now. But would be nice to use the newer IDE. Is there an option in 2.1 to set the baudrate? in 1.8 it seems to default to 9600.

Yes, but you will only see it if a board is detected. And that seems to be where your problem is after the upload.

I'm not familiar with the Pi Pico so can't assist further.

In order to make all relevant information available to any who are interested in this subject, I'll share a link to @michael410's issue report in the Arduino IDE 2.x GitHub repository:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.