Skip to content

CIRCUITERA FIELD GUIDE

Web Serial Port Not Visible

Diagnose an empty browser port picker: USB data cables, host device recognition, serial permissions, competing programs, and board-specific USB behavior.

What you see

Connect board opens an empty picker, or the expected device is absent. This is a device-discovery symptom, not a compiler diagnostic.

Likely causes

  • A charge-only or damaged cable supplies power but no USB data.
  • The operating system or managed-device policy has not made the device available.
  • The physical board uses an external adapter or has changed its native USB identity after reset.

Diagnostic steps

  1. Check the cable and physical connection

    Use a known data cable, connect directly where possible, and confirm the board powers on. A power LED alone does not prove data connectivity.

  2. Check recognition before Circuitera

    Confirm that the operating system sees the USB device. USB bridge drivers and managed Chromebook policies are controlled by the host, not by a sketch or a site account.

  3. Check browser and ownership

    Use a desktop browser exposing navigator.serial on the HTTPS origin. Close desktop IDE serial monitors and other tabs using the device, then open the picker again.

  4. Select the right device

    Reconnect only after any upload or monitor operation has ended. Native USB boards can expose a different port while the bootloader is active; select the current port rather than a stale one.

Board-specific notes

Uno/Nano use their USB-to-serial bridge. Mega’s extra UARTs are not separate browser ports. Leonardo/Micro native USB may re-enumerate during reset. Pro Mini requires an external adapter with the correct logic voltage.

Safe recovery

Preserve the sketch and export a backup. Continue with a supported Uno simulation while resolving host/device policy; do not install an unrelated driver or bypass administrator controls.

Evidence and references

Reviewed 2026-10-23 against Circuitera’s actual behavior. An editorial review is separate from a physical board test.

Circuitera implementation evidence

src/connectionDiagnostics.js: connectionDiagnostics; src/App.jsx: connectBoard

Testing and capability boundaries →

Keep exploring.