XBee Wireless Shield

Replacement:WRL-09976. The new version has some minor footprint and silkscreen revisions. This page is for reference only.

The XBee Shield simplifies the task of interfacing an XBee with your Arduino. This board mates directly with an Arduino Pro or USB board, and equips it with wireless communication capabilities using the popular XBee module. This unit works with all XBee modules including the Series 1 and Series 2.5, standard and Pro version. This is SparkFun's own design and is a distant relative to the official XBee Shield from Arduino.

The serial pins (DIN and DOUT) of the XBee are connected through an SPDT switch, which allows you to select a connection to either the UART pins (D0, D1) or any digital pins on the Arduino (D2 and D3 default). Power is taken from the 5V pin of the Arduino and regulated on-board to 3.3VDC before being supplied to the XBee. The shield also takes care of level shifting on the DIN pin of the XBee.

The board also includes LEDs to indicate power and activity on DIN, DOUT, RSSI, and DIO5 pins of the XBee. The Arduino's reset button is brought out on the shield, and a 12x11 grid of 0.1" holes are available for prototyping. The shield does not come with headers installed; we recommend the 6 and 8-pin stackable headers. The XBee module is also not included.

Note: If you are looking to connect an XBee to a computer directly, you might want to look at the XBee Explorer board instead.


  • Mounts directly onto your Arduino
  • DIN and DOUT pins of XBee can be connected to either the UART pins or any digital pin on the Arduino (D2 and D3 default)
  • 3.3V power regulation and level shifting on-board
  • 12x11 grid of 0.1" spaced prototyping holes
  • Reset button brought out
  • Power, DIN, DOUT, RSSI and DIO5 indicator LEDs



Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Bronzite / about 12 years ago / 2

    OK, I have two of these shields, and neither of them dock properly with the Arduino Main Board -- they both run afoul of AC/DC adapter jack by several millimeters. Am I missing something?

  • driftingting / about 9 years ago / 1

    Howdy everyone! I just got the shield and new to xbee/arduino. Can I use this shield connected with xbee and arduino to setup xbee? At this time I can't open the com port in the X-CTU. I know in another shield http://arduinobasics.blogspot.com/2012/10/arduinobasics-arduino-uno-xbee-setup.html we can switch from "xbee" mode to "usb" mode to let the computer communicate with xbee. Is there any similar function in this shield? Or I have to buy a usb explorer to do the xbee setup? Thanks!

    • driftingting / about 9 years ago / 1

      some updates, I think when they as an entity plugged in only the arduino chip was recognized by pc. The shield mounting the xbee wasn't read by either XCTU or device manager. In the device manager it only showed the Arduino Uno.

  • Member #421013 / about 9 years ago / 1

    is this compatible with any arduino?

    • You wouldn't want to use this with the Due, as that already operates at 3.3v. Otherwise, anything that has the same footprint as the Uno and runs at 5v should work.

  • g33k / about 12 years ago / 1

    Is this compatible with Arduino Mega 2650? Thanks.

    • Demonlove / about 12 years ago / 1

      Yes - the Mega 2650 was designed to be able to use existing Arduino shields. I bought one for my Mega 2650 and it works exactly like it would with a Duemilanove.

  • LexTalionis / about 12 years ago / 1

    I'm using this product with the XBee Pro 900 RPSMA
    (sku: WRL-09099). It did not work out of the box, I could receive but not send information. After looking through the forums I found a post. (http://forum.sparkfun.com/viewtopic.php?f=13&t=20807) Bypassing diode D1 on the DIN pin fixed the problem.

  • pstemari / about 12 years ago / 1

    Any chance of getting Eagle files posted, or a description of what the various solder jumpers, etc, are intended for?

    • Check out the schematic. I've also uploaded the Eagle files. If you need further assistance, email techsupport@sparkfun.com. Thanks!

      • pstemari / about 12 years ago / 1

        Answering my implicit questions:
        1) The humped end of the XBee goes towards the edge of the shield. The lettering on the shield is upside-down in relation to the XBee and its pin numbers.
        2) The solder jumper near A0 enables DTR reset of the Arduino from the XBee DIO3 pin.
        3) The pad labeled "5V" under the XBee connects to the Arduino's 5V line (the trace routing near the 3.3v regulator makes this incredibly difficult to verify visually. It does NOT connect to the (3.3V) XBee like the rest of the pads in those two rows.
        4) All the pads in the breadboard area are electrically isolated. No grounds, +5V, etc.
        5) The switch flips the Rx/Tx between Arduino pins 0/1 (the hardware UART pins), and pins 2/3. Pins 2/3 require SoftwareSerial or NewSoftSerial for use. You can also sever the solder jumpers and substitute another pair of pins for pins 2/3 if you're adventurous.
        6) The reset button is for the Arduino, not the XBee.

  • yoogx / about 12 years ago / 1

    Just received mine, and tested it. It works nicely.
    i just want to report on weird behavior: if the xbee module is plugged on the shield, and the shield set up to use Arduino's UART (RX and TX pins, on digital pins 0 & 1), then I could not upload any sketch. Removing it solves the issue.
    Is it an expected feature? I can well imagine interferences with the XBee module, just want to make sure.

    • This is normal behavior. You cannot have something connected to the TX/RX pins while programming. Try using the switch on 'DLINE' while programming.

  • Angelox / about 12 years ago / 1

    Can I use this shield with arduino Mega?

  • Invisible / about 12 years ago / 1

    I have successfully connected my two Xbee modules, one using a shield and an Arduino. However, when I set a LED to blink on the Arduino a specific number of times, it fails when connected to the pass-through pins on this Xbee shield.
    Instead, the LED blinks 14 times no matter what I send to it. This shield is apparently not passing the correct output from the Arduino pins to the pins on the shield (like 9 or 13).

    • Invisible / about 12 years ago / 1

      Correction, I had a baud setting wrong. Be sure you check the baud setting in your software, as well as for your Xbee devices when using this. They all need to match.

  • If you follow the line coming off of xbee DIO3, it appears to go to a solder pad (to make the connection optional?), then a resistor, then to a through-hole to the other side of the board where a trace connects to the arduino reset pin.
    To make a long story short, is this shield setup for wireless remote programming/reset? Or will i have to use the prototype area to include the same circuits (cap, resistor, transistor) that ladyada used in her tutorial for remote programming?

    • Ok so if anyone reads this in the future, you CAN use this shield for wireless arduino programming but not "out of the box", i had to solder some components on the prototyping area and it wasn't pretty but it absolutely works.
      The circuit i added is the same as the one ladyada used for her wireless arduino programming tutorial i just adapted it for the prototyping area so i wouldn't need wires going to a breadboard and back. If anyone needs help or wants to see what my board looks like after the mod send me an email, this same username at gmail. :)

  • chabboud / about 12 years ago / 1

    Does anyone know the part # for the surface-mount Xbee sockets? I looked everywhere.

  • kev / about 12 years ago / 1

    Looks like the switch has been moved too. Easier to flip, that's one complaint I had with the old version.

  • Antonio Barros / about 12 years ago / 1

    Antonio Barros: Folks,
    It seems to me that all pictures shows a 10x11 grid, with the exception of the last one ;)
    Is it an old design of the shield?

    • 33Warlord / about 12 years ago / 1

      The last pic is from the old revision of the board.
      You can verify this because there the board pictured does NOT have a duplicate row of headers next to D1-13.

  • Antonio Barros / about 12 years ago / 1

    It seems to me that all the pictures show a 10x11 grid, with the exception of the last one ;)
    Is it an old design of the shield?

  • EricM / about 12 years ago / 1

    What is the difference between this and the WRL-09588?

    • 33Warlord / about 12 years ago / 1

      Hi Eric -
      This shield incorporates a change I suggested in the comments for WRL-09588: It allows for customization over which Arduino pins the XBee TX/RX connects to.
      You now have the option to remove a solder jumper and connect Xbee TX/RX to any Arduino digital pin you want. (This was not easily done with WRL-09588.)

    • Antonio Barros / about 12 years ago / 1

      Hi Eric,
      It is written just below the link to schematic...it replaces WRL-09588.
      My best.

Customer Reviews

No reviews yet.