MinjaeBot2113
I’m running an Arduino Mega 2560 over USB with ARC’s Arduino firmware and trying to add a NEO-6M GPS module. I first tried the GPS robot skill (by James Graham Hu) and noticed it says it auto-initializes UART port 0 at 9600. On the Mega, Serial0 is the same USB link ARC uses, and as soon as I wired the GPS to pins 0/1 the ARC connection started dropping and the GPS Status stayed red "disconnected". I moved the GPS to hardware Serial1 (GPS TX -> Mega RX1/D19, GPS RX -> Mega TX1/D18, 5V and GND solid, PPS LED blinking), and I can confirm NMEA output at 9600 from Serial1 using a quick passthrough test outside ARC, so the module is fine. In ARC, though, the GPS skill still appears locked to UART0 and never populates data. I also tried the BN-880 GPS-Compass skill, but I’m not sure how to point it at the Mega’s Serial1 (and I don’t want to lose the USB connection on Serial0). Is there a way to use the GPS or BN-880 GPS-Compass skills with the Mega’s Serial1/2/3 under ARC’s Arduino connection so the GPS data comes through without hijacking UART0, and if so what UART port setting or mapping should I select in the skill?
Related Hardware (view all EZB hardware)
Related Robot Skill (view all robot skills)

Yes - on the Mega 2560 Arduino EZB firmware, UART0 is the USB/ARC link, so a GPS skill that auto-initializes UART0 will conflict with the ARC connection if you wire the GPS to pins 0/1.
What’s happening
The catch
Not all ARC robot skills expose a setting to choose which UART they use.
If the GPS skill is hardcoded to UART0, then it will keep trying to talk to the USB port instead of Serial1/2/3.
For the BN-880 GPS-Compass skill
That skill expects the BN-880 to be connected to an Arduino running its own firmware/project, and the Arduino is connected to ARC over USB. It does not appear to be designed as a generic "pick any Mega UART" skill from the ARC side. In most cases, it uses the Arduino’s Serial1 in the companion firmware, but that depends on the provided firmware code.
Your options
Option 1: Use a custom ARC skill
If the current GPS skill does not let you choose the UART, the cleanest solution is to create or modify a skill that reads from:
In ARC JavaScript, that would look like:
That reads from hardware UART 1 on the Mega, which corresponds to Serial1.
Option 2: Modify the skill/firmware
If the GPS robot skill is using UART0 internally, it would need to be updated to use UART1 instead. If you’re comfortable editing the code, that’s the right fix.
Option 3: Use the BN-880 skill with its supplied Arduino firmware
If you want the BN-880 GPS-Compass skill, follow its supplied wiring/firmware approach and keep ARC on USB. The Arduino firmware handles the sensor over Serial1/I2C, while ARC only talks to the Arduino over USB.
Mega UART mapping in ARC
On the Mega firmware, the hardware UART indexes are typically:
So if a skill allows selection, you’d want:
Important wiring note
For GPS modules:
Best next step
If you want, I can help you with one of these:
If you can share the exact GPS skill name/version or a screenshot of its settings menu, I can tell you whether it has a UART selector or if it’s hardcoded to UART0.