Impossible to see Arduino board on MacBook Air M1 with Sequoia 15.4

Below is the entire bootup procedure with

"/Applications/Arduino IDE.app/Contents/MacOS/Arduino IDE"

from the command line.

The board is plugged in and light is flashing.

I read COUNTLESS issues on this with a lot of question and very very few answers and absolutely no solution. And yes I checked:

  • My USB-A to USB-C cable
  • Rebooted my Mac
  • Did exactly what the instructions asked for when installing IDE 2.3.6

Here is the bootup sequence where only 4 serial ports are recognized and yes I also did the whole thing here:

With exactly the same 4 serial ports recognized and nothing else.

Anyhow here is the bootup sequence:

Arduino IDE 2.3.6
Checking for frontend application configuration customizations. Module path: /Applications/Arduino IDE.app/Contents/Resources/app/lib/backend/electron-main.js, destination 'package.json': /Applications/Arduino IDE.app/Contents/Resources/app/package.json
Setting 'theia.frontend.config.appVersion' application configuration value to: "2.3.6" (type of string)
Setting 'theia.frontend.config.cliVersion' application configuration value to: "1.2.0" (type of string)
Setting 'theia.frontend.config.buildDate' application configuration value to: "2025-04-09T11:28:31.989Z" (type of string)
Frontend application configuration after modifications: {"applicationName":"Arduino IDE","defaultTheme":{"light":"arduino-theme","dark":"arduino-theme-dark"},"defaultIconTheme":"none","electron":{"windowOptions":{},"showWindowEarly":true,"splashScreenOptions":{},"uriScheme":"arduino-ide"},"defaultLocale":"","validatePreferencesSchema":false,"reloadOnReconnect":true,"uriScheme":"theia","preferences":{"window.title":"${rootName}${activeEditorShort}${appName}","files.autoSave":"afterDelay","editor.minimap.enabled":false,"editor.tabSize":2,"editor.scrollBeyondLastLine":false,"editor.quickSuggestions":{"other":false,"comments":false,"strings":false},"editor.maxTokenizationLineLength":500,"editor.bracketPairColorization.enabled":false,"breadcrumbs.enabled":false,"workbench.tree.renderIndentGuides":"none","explorer.compactFolders":false},"appVersion":"2.3.6","cliVersion":"1.2.0","buildDate":"2025-04-09T11:28:31.989Z"}
Starting backend process. PID: 35903
Showing main window early
Using browser-only version of superagent in non-browser environment
Configuration directory URI: 'file:///Users/mjstwo/.arduinoIDE'
Configuring to accept webviews on '^.+\.webview\..+$' hostname.
2025-05-08T06:14:54.213Z root WARN Backend u.initialize took longer than the expected maximum 50 milliseconds: 204.4 ms [Finished 3.621 s after backend start]
2025-05-08T06:14:54.260Z root WARN Backend Object.initialize took longer than the expected maximum 50 milliseconds: 120.5 ms [Finished 3.623 s after backend start]
2025-05-08T06:14:54.260Z root INFO Backend a.initialize: 7.2 ms [Finished 3.625 s after backend start]
2025-05-08T06:14:54.260Z root INFO Backend a.initialize: 6.7 ms [Finished 3.625 s after backend start]
2025-05-08T06:14:54.260Z root INFO Backend u.initialize: 35.1 ms [Finished 3.655 s after backend start]
2025-05-08T06:14:54.316Z root WARN Backend l.initialize took longer than the expected maximum 50 milliseconds: 178.6 ms [Finished 3.686 s after backend start]
2025-05-08T06:14:54.452Z root INFO configured all backend app contributions
2025-05-08T06:14:54.459Z root INFO Backend l.onStart: 36.7 ms [Finished 3.932 s after backend start]
2025-05-08T06:14:54.498Z root INFO Backend d.onStart: 4.6 ms [Finished 3.937 s after backend start]
2025-05-08T06:14:54.503Z root INFO Backend a.onStart: 2.0 ms [Finished 3.939 s after backend start]
2025-05-08T06:14:54.504Z config INFO >>> Initializing CLI configuration...
2025-05-08T06:14:54.504Z root INFO Backend x.onStart: 38.4 ms [Finished 3.978 s after backend start]
2025-05-08T06:14:54.504Z config INFO Loading CLI configuration from /Users/mjstwo/.arduinoIDE/arduino-cli.yaml...
2025-05-08T06:14:54.504Z daemon INFO Starting daemon from /Applications/Arduino IDE.app/Contents/Resources/app/lib/backend/resources/arduino-cli...
2025-05-08T06:14:54.504Z root INFO Backend w.onStart: 1.2 ms [Finished 3.983 s after backend start]
2025-05-08T06:14:54.504Z discovery-log INFO start
2025-05-08T06:14:54.504Z discovery-log INFO start new deferred
2025-05-08T06:14:54.504Z root INFO Backend v.onStart: 0.5 ms [Finished 3.984 s after backend start]
2025-05-08T06:14:54.504Z root INFO Backend a.onStart: 0.1 ms [Finished 3.984 s after backend start]
2025-05-08T06:14:54.783Z root INFO Theia app listening on http://127.0.0.1:50469.
2025-05-08T06:14:54.783Z root INFO Finished starting backend application: 275.2 ms [Finished 4.263 s after backend start]
2025-05-08T06:14:54.970Z root WARN The local plugin referenced by local-dir:/Users/mjstwo/.arduinoIDE/plugins does not exist.
2025-05-08T06:14:54.970Z root WARN The local plugin referenced by local-dir:/Users/mjstwo/.arduinoIDE/deployedPlugins does not exist.
2025-05-08T06:14:55.746Z config INFO Loaded CLI configuration: {"board_manager":{"additional_urls":[]}}
2025-05-08T06:14:55.746Z config INFO Loading fallback CLI configuration to get 'directories.data' and 'directories.user'
2025-05-08T06:14:56.069Z root ERROR Uncaught Exception:  Error: EACCES: permission denied, unlink '/Users/mjstwo/.arduinoIDE/localization-cache/zh-tw/nls.config.zh-tw.json'
2025-05-08T06:14:56.069Z root ERROR Error: EACCES: permission denied, unlink '/Users/mjstwo/.arduinoIDE/localization-cache/zh-tw/nls.config.zh-tw.json'
2025-05-08T06:14:57.247Z daemon INFO time="2025-05-07T23:14:55-07:00" level=info msg="arduino-cli version 1.2.0"
time="2025-05-07T23:14:55-07:00" level=info msg="Using config file: /Users/mjstwo/.arduinoIDE/arduino-cli.yaml"
time="2025-05-07T23:14:55-07:00" level=info msg="Executing `arduino-cli daemon`"
Daemon is now listening on 127.0.0.1:50470
{"IP":"127.0.0.1","Port":"50470"}
2025-05-08T06:14:57.247Z daemon INFO Daemon is running.
2025-05-08T06:14:57.570Z config INFO Loaded fallback CLI configuration: {"directories":{"user":"/Users/mjstwo/Documents/Arduino","data":"/Users/mjstwo/Library/Arduino15"}}
2025-05-08T06:14:57.570Z config INFO Merged CLI configuration with the fallback: {"directories":{"user":"/Users/mjstwo/Documents/Arduino","data":"/Users/mjstwo/Library/Arduino15"},"board_manager":{"additional_urls":[]}}
2025-05-08T06:14:57.570Z config INFO Loaded the CLI configuration.
2025-05-08T06:14:58.276Z config INFO Mapped the CLI configuration: {"dataDirUri":"file:///Users/mjstwo/Library/Arduino15","sketchDirUri":"file:///Users/mjstwo/Documents/Arduino","additionalUrls":[],"network":"none","locale":"en"}
2025-05-08T06:14:58.277Z config INFO Validating the CLI configuration...
2025-05-08T06:14:58.959Z config INFO The CLI config is valid.
2025-05-08T06:14:58.959Z config INFO <<< Initialized the CLI configuration.
2025-05-08T06:15:00.360Z daemon INFO time="2025-05-07T23:15:00-07:00" level=info msg="Checking signature" index=/Users/mjstwo/Library/Arduino15/package_index.json signatureFile=/Users/mjstwo/Library/Arduino15/package_index.json.sig trusted=true
time="2025-05-07T23:15:00-07:00" level=info msg="Loading hardware from: /Users/mjstwo/Library/Arduino15/packages"
time="2025-05-07T23:15:00-07:00" level=info msg="Loading package arduino from: /Users/mjstwo/Library/Arduino15/packages/arduino/hardware"
time="2025-05-07T23:15:00-07:00" level=info msg="Missing signature file" index=/Users/mjstwo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/installed.json
2025-05-08T06:15:00.639Z daemon INFO time="2025-05-07T23:15:00-07:00" level=info msg="Adding monitor tool" protocol=serial tool="builtin:serial-monitor"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded platform" platform="arduino:avr@1.8.6"
time="2025-05-07T23:15:00-07:00" level=info msg="Checking existence of 'tools' path: /Users/mjstwo/Library/Arduino15/packages/arduino/tools"
time="2025-05-07T23:15:00-07:00" level=info msg="Loading tools from dir: /Users/mjstwo/Library/Arduino15/packages/arduino/tools"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="arduino:arduinoOTA@1.3.0"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="arduino:avrdude@6.3.0-arduino17"
time="2025-05-07T23:15:00-07:00" level=info msg="Loading package builtin from: /Users/mjstwo/Library/Arduino15/packages/builtin"
time="2025-05-07T23:15:00-07:00" level=info msg="Checking existence of 'tools' path: /Users/mjstwo/Library/Arduino15/packages/builtin/tools"
time="2025-05-07T23:15:00-07:00" level=info msg="Loading tools from dir: /Users/mjstwo/Library/Arduino15/packages/builtin/tools"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="builtin:ctags@5.8-arduino11"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="builtin:dfu-discovery@0.1.2"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="builtin:mdns-discovery@1.0.9"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="builtin:serial-discovery@1.4.1"
time="2025-05-07T23:15:00-07:00" level=info msg="Loaded tool" tool="builtin:serial-monitor@0.15.0"
time="2025-05-07T23:15:00-07:00" level=info msg="Adding libraries dir" dir=/Users/mjstwo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/libraries isSingleLibrary=false location=platform
time="2025-05-07T23:15:00-07:00" level=info msg="Loading libraries index file" index=/Users/mjstwo/Library/Arduino15/library_index.json
2025-05-08T06:15:01.067Z daemon INFO time="2025-05-07T23:15:00-07:00" level=info msg="Adding libraries dir" dir=/Users/mjstwo/Library/Arduino15/libraries isSingleLibrary=false location=ide
time="2025-05-07T23:15:00-07:00" level=info msg="Adding libraries dir" dir=/Users/mjstwo/Documents/Arduino/libraries isSingleLibrary=false location=user
2025-05-08T06:15:01.117Z discovery-log INFO start resolved watching
2025-05-08T06:15:01.370Z root INFO creating connection for 1
2025-05-08T06:15:01.961Z discovery-log INFO {"eventType":"add","port":{"matchingBoardsList":[],"port":{"address":"/dev/cu.wlan-debug","label":"/dev/cu.wlan-debug","protocol":"serial","protocolLabel":"Serial Port","propertiesMap":[],"hardwareId":""}},"error":""}
2025-05-08T06:15:02.078Z discovery-log INFO {"eventType":"add","port":{"matchingBoardsList":[],"port":{"address":"/dev/cu.debug-console","label":"/dev/cu.debug-console","protocol":"serial","protocolLabel":"Serial Port","propertiesMap":[],"hardwareId":""}},"error":""}
2025-05-08T06:15:02.093Z discovery-log INFO {"eventType":"add","port":{"matchingBoardsList":[],"port":{"address":"/dev/cu.U8","label":"/dev/cu.U8","protocol":"serial","protocolLabel":"Serial Port","propertiesMap":[],"hardwareId":""}},"error":""}
2025-05-08T06:15:02.094Z discovery-log INFO {"eventType":"add","port":{"matchingBoardsList":[],"port":{"address":"/dev/cu.Bluetooth-Incoming-Port","label":"/dev/cu.Bluetooth-Incoming-Port","protocol":"serial","protocolLabel":"Serial Port","propertiesMap":[],"hardwareId":""}},"error":""}
2025-05-08T06:15:02.163Z root INFO Resolve plugins list: 7484.1 ms [Finished 11.642 s after backend start]
2025-05-08T06:15:16.172Z root WARN Frontend d.initialize took longer than the expected maximum 100 milliseconds: 128.0 ms [Finished 18.890 s after frontend start]
2025-05-08T06:15:16.175Z root WARN Frontend A.initialize took longer than the expected maximum 100 milliseconds: 272.6 ms [Finished 19.534 s after frontend start]
2025-05-08T06:15:16.214Z root WARN Frontend a.configure took longer than the expected maximum 100 milliseconds: 1803.0 ms [Finished 21.365 s after frontend start]
2025-05-08T06:15:16.611Z root WARN A command editor.action.toggleStickyScroll is already registered.
2025-05-08T06:15:16.611Z root WARN Frontend commands.onStart took longer than the expected maximum 100 milliseconds: 136.7 ms [Finished 21.505 s after frontend start]
Opening channel for service path '/services/electron-window'.
Opening channel for service path '/services/ide-updater'.
2025-05-08T06:15:18.029Z root WARN Frontend keybindings.onStart took longer than the expected maximum 100 milliseconds: 1120.9 ms [Finished 22.627 s after frontend start]
2025-05-08T06:15:18.043Z root WARN Frontend menus.onStart took longer than the expected maximum 100 milliseconds: 342.7 ms [Finished 22.997 s after frontend start]
2025-05-08T06:15:18.447Z root WARN Frontend u.onStart took longer than the expected maximum 100 milliseconds: 353.1 ms [Finished 23.549 s after frontend start]
2025-05-08T06:15:19.017Z root INFO Start frontend contributions: 5904.5 ms [Finished 23.654 s after frontend start]
2025-05-08T06:15:19.019Z root INFO Changed application state from 'init' to 'started_contributions'.
2025-05-08T06:19:48.638Z root INFO Changed application state from 'started_contributions' to 'attached_shell'.
2025-05-08T06:19:48.646Z root INFO >>> Restoring the layout state...
2025-05-08T06:19:48.691Z root INFO <<< Nothing to restore.
2025-05-08T06:19:49.219Z root WARN Frontend l.initializeLayout took longer than the expected maximum 100 milliseconds: 514.8 ms [Finished 294.368 s after frontend start]
2025-05-08T06:19:49.333Z root INFO Initialize the workbench layout: 780.8 ms [Finished 294.446 s after frontend start]
2025-05-08T06:19:49.337Z root INFO Changed application state from 'attached_shell' to 'initialized_layout'.
2025-05-08T06:19:54.838Z root INFO Frontend application start: 278857.7 ms [Finished 304.319 s after backend start]
2025-05-08T06:19:55.004Z root INFO Replace loading indicator with ready workbench UI (animation): 3128.7 ms [Finished 297.628 s after frontend start]
2025-05-08T06:19:55.005Z root INFO Changed application state from 'initialized_layout' to 'ready'.
2025-05-08T06:19:55.005Z root WARN Linked preference "workbench.colorCustomizations" not found.
Checking for update
2025-05-08T06:19:57.402Z root WARN Timeout after 5000 millis. The editor has not shown up in time. URI: file:///private/var/folders/h8/17wh_fd14g32y01296z7ph180000gn/T/.arduinoIDE-unsaved202547-35903-184o7nf.1cs7/sketch_may7a/sketch_may7a.ino
Update for version 2.3.6 is not available (latest version: 2.3.6, downgrade is allowed).
2025-05-08T06:20:06.249Z root ERROR ---- !!!SLOW!!! DURATION: search took 8927.459 ms. Args: [{"type":"Updatable"}] ----
2025-05-08T06:20:06.261Z root WARN Timeout after 5000 millis. The editor has not shown up in time. URI: file:///private/var/folders/h8/17wh_fd14g32y01296z7ph180000gn/T/.arduinoIDE-unsaved202547-35903-184o7nf.1cs7/sketch_may7a/sketch_may7a.ino

Does anyone have a MacBook Air Mx (1, 2, 3...) and has a concrete solid solution to this?

Btw the same board works perfect on my friend's PC with the same IDE for PC. I could go as far as trying a System 76 Ubuntu and pretty sure it would work there too... so why isn't it working on a simple older run of the mill M1?

Hi @iancoder.

When you performed step 13 in that procedure:

Did you see the remove event output similar to the example snippet that I provided?

Absolutely not... there was nothing updated or the like when I plugged or unplugged the board. For reference this is what I get:

~/Library/Arduino15/packages/builtin/tools/serial-discovery/1.4.1/serial-discovery
HELLO 1 "arduino-cli 0.20.2"
{
  "eventType": "hello",
  "message": "OK",
  "protocolVersion": 1
}
START_SYNC
{
  "eventType": "start_sync",
  "message": "OK"
}
{
  "eventType": "add",
  "port": {
    "address": "/dev/cu.wlan-debug",
    "label": "/dev/cu.wlan-debug",
    "protocol": "serial",
    "protocolLabel": "Serial Port",
    "properties": {}
  }
}
{
  "eventType": "add",
  "port": {
    "address": "/dev/cu.debug-console",
    "label": "/dev/cu.debug-console",
    "protocol": "serial",
    "protocolLabel": "Serial Port",
    "properties": {}
  }
}
{
  "eventType": "add",
  "port": {
    "address": "/dev/cu.U8",
    "label": "/dev/cu.U8",
    "protocol": "serial",
    "protocolLabel": "Serial Port",
    "properties": {}
  }
}
{
  "eventType": "add",
  "port": {
    "address": "/dev/cu.Bluetooth-Incoming-Port",
    "label": "/dev/cu.Bluetooth-Incoming-Port",
    "protocol": "serial",
    "protocolLabel": "Serial Port",
    "properties": {}
  }
}

When I plug and unplug the board nothing updates.

I have some good news! It worked... the damn USB cable wasn't in all the way in the board.

Thanks for taking the time to post an update! I'm glad it is working now.

Regards, Per

Sometimes the simplest solution is there BUT to be frank I needed to wiggle that connector a few times. Cheap board.