We have an xBee Pro S2C that is using this library (https://github.com/andrewrapp/xbee-arduino) very well on a Software Serial connection to ports 2 and 3 on an Arduino Uno. However, when we take the same setup and try it on a Arduino Mega 2560 using any of the ports specified here:



Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).


We cannot get this setup to work on the Arduino Mega 2560. We did not try every combination of these ports but tried most of them and it continues to fail. We can get successful packets on an Uno on pins 2 and 3.

Code is as follows:

#include "Arduino.h"
#include "laser_essentials.h"
#include "XBee.h"
#include <SoftwareSerial.h>
#define IS_STAR 1

#define rxPin 10 //input
#define txPin 11 //output
#define rxPin 2 //input
#define txPin 3 //output
#include "SoftReset.h"

///setup xbee object

XBee xbee = XBee();
SoftwareSerial xBeeSerial = SoftwareSerial(rxPin, txPin);

//Setting up class & contructors

Laser::Laser () {

        pinMode(rxPin, INPUT);
        pinMode(txPin, OUTPUT);

Any thoughts as to why this might not work on a Arduino Mega?

migrated from electronics.stackexchange.com Apr 20 '17 at 17:50

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

  • Does the Mega work at all? Can you flash an LED with it? – Roger Rowland Apr 19 '17 at 5:53
  • Yes, we have tried some basic sketches and all seem to perform fine on it. In addition, we have the same issue on a completely different Mega, so we must be doing something wrong. – Spencer Cook Apr 19 '17 at 20:08
  • 1
    Why use software serial in the first place? A Mega has multiple hardware serials. – gre_gor Apr 20 '17 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy