XBeePlus Arduino

The XBeePlus Arduino is an XBee radio-sized Arduino-compatible microcontroller that can be “stacked” directly underneath the radio. It is intended for use with devices that already use the XBee’s 20-pin footprint. Future designs could easily utilize other microcontrollers or host sensors.  The goal is to create plug-and-play tools for prototyping new concepts that extend the popular radio’s feature set. A few iterations have created a prototype that works well, supports USB programming, wireless programming, I2C, SPI, digital and analog I/O!

XBeePlus Arduino

This is the second iteration of an Arduino-compatible board the size of an XBee that fits right underneath the radio. It uses the ATMega32U4 so in Arduino you can program it as a Leonardo board.

“XBeePlus Arduino”  board design

IMG_2932 IMG_2934IMG_2930 IMG_2933sta

Features

  • I2C

  • SPI

  • scriptable interruption of:

    • all UART transactions

    • XBee pin sleep controls

  • local support for:

    • association indicator

    • commissioning button

  • 17 total digital i/o pins (14 Arduino, 4 XBee)

    • 6 configurable as ADC analog inputs

    • 4 configurable as PWM analog outputs

    • 2 attachable interrupts

  • USB serial programming

  • wireless programming

  • EEPROM

  • multiple UARTs

  • Use of all Arduino libraries, e.g. servo, stepper, displays, capacitive sensing, rfid, sd cards etc.

Pinouts

Bottom of XBeePlus Arduino:

Xbee-Stacker-2-bottom-pins

Physical Pin Function Arduino Connection
1 Power supply VCC
2 Arduino software TX D11 (softserial TX)
3 Arduino software RX, PWM D10 (softserial RX)
4 MISO (spi), digital i/o MISO (spi)
5 input for Arduino reset RESET
6 digital i/o, analog output D9
7 MOSI (spi), analog input, digital i/o MOSI (spi)
8 analog input, digital i/o D8/A8
9 PWM, interrupt, digital i/o D7
10 GND GND
11 SCK (spi), digital i/o SCK (spi)
12 SDA (i2c) interrupt, digital i/o D2/SDA (i2c)
13 SCL (i2c), interrupt, PWM, digital i/o D3/SCL (i2c)
14 analog input, digital i/o D4/A6
15 PWM, digital i/o D5 pwm
16 analog input, PWM, digital i/o D6/A7 pwm
17 analog input, digital i/o A3
18 analog input, digital i/o A2
19 analog input, digital i/o A1
20 analog input, digital i/o A0

Top of XBeePlus Arduino

XBee Stacker 2 top pins

XBee Physical Pin  Function  XBee Connection
1 Power supply VCC
2 Arduino RX D0 RX
3 Arduino TX D1 TX
4
5  –
6
7
8
9 control for pin sleep D12
10 GND GND
11
12 CTS A4
13
14 voltage reference VCC
15 association output <led>
16 RTS A5
17 Arduino Reset (p1) via cap. <capacitor> for reset
18  –
19  –
20

Schematics & Board Layout

XBeePlus Arduino 2.0-board

XBeePlus Arduino 2.0-schematic

Eagle CAD files

Code

Sample code library

Program as an Arduino Leonardo board!

arduino-leonardo-program

 

Licensing

Not determined, leaning toward open source hardware.

3 thoughts on “XBeePlus Arduino”

  1. Very interesting. I’ve been working with xbees to create wireless sound instruments, and your web page has been extremely helpful. In my project I use an accelerometer to convey information about a performer’s movements. I use the data to drive little vibrator motors attached to acoustic sound devices. (seashells, tin cans, walnut shells…) The resulting sounds “feed back” to the performer, evoking further response. I’ve used xbees in api mode without any arduino microprocessor as described by you, but I would like to find a way to use them that was “full duplex” so that signals could be simultaneously transmitted and received. At the moment I find that transmissions to drive the motors interfere with reception of data from the sensor/xbee. According to the digi international page, using an xbee in SPI mode should make this possible, and your xbeePlus Arduino would appear to make this a possibility with no additional footprint. Are there any plans to release this device as a commercial product? Is it possible to purchase one from you?

    1. You should definitely check out the XBee3 line from Digi. It runs MicroPython natively so you can program it to do whatever you need, no adapters or additional microcontrollers required. MicroPython turned out to be a better fit than Arduino, for security reasons but also because it’s an excellent framework that is very easy to learn and use.
      https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee3-zigbee-3
      https://www.digi.com/resources/documentation/digidocs/PDFs/90002219.pdf

  2. Thank you. I’ll certainly take a look at micropython. Up to now I’ve been using a Teensy 3.2 which runs arduino code.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top