What you see
Circuitera reports “Upload failed” while its connection diagnostics still show a selected or connected serial port.
Likely causes
- A bootloader or target mismatch can fail after the serial transport opens.
- Firmware/protocol validation failed without a disconnect event.
- The monitor-to-uploader handoff restored the same permitted port after the failed operation.
Diagnostic steps
Read the error category
Look at Build Output and the System/connection state. A compiler problem, protocol error and actual cable disconnect need different recovery.
Keep the valid connection
Wait for the current operation and restoration to finish. Do not force a reconnect solely because an upload step failed.
Check the target and bootloader
Compare the selected processor and bootloader to the actual board. Nano old/new baud settings and native-USB reset behavior differ.
Retry a known small sketch
After correcting the cause, Verify Blink and upload again. If the port has truly disappeared, move to the disconnected guide.
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
Use the retained port when it remains valid. Reconnect only when transport state or host recognition shows that it is necessary.
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/App.jsx: restoreSerialHandoff/uploadSketch; src/connectionDiagnostics.js