DIY Arduino Xbee interface (work in progress)

This is a work in progress.

The goal here is to design a DIY XBee interface PCB using Fritzing that can be be milled on the OtherMill. This design could be used for complete XBee shield or as a block to interface  XBee to other projects.

So far, we have a Arduino-compatible (ATmega328) and motor controller (L293) (ATmega328_L293.fzz) and an XBee shield (ArduinoDIYXbeeShield.fzz). The next step will be to combine these.

Here are the steps that lead to this:

First, prototype on solderless breadboard

  1. Build circuit, schematic to come.
  2. Level shifter based on a pair of 2N7000 and this circuit http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter and http://arduino.stackexchange.com/questions/1405/using-3-3v-xbee-with-arduino-pro-mini-5v-version. The drain and gate are interchangeable.
    1. other  links of some use include:
      http://forum.arduino.cc/index.php?topic=63667.0

      5V to 3.3V Logic Level Shifting Stragety Notes


      http://www.faludi.com/bwsn/xbee-level-shifting/
      http://www.ti.com/lit/ds/symlink/sn74lvc1g125.pdf

  3. Regulator 1700 3302 datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/20001826C.pdf
  4. To configure XBee, must talk directly to module: Connect to computer with FTDI friend. Need 3 wires:
    1. GND
    2. FTDI friend RX goes to XBee TX(pin 2)  (through level shifter)
    3. FTDI friend TX goes to XBee RX (pin 3)  (through level shifter)
  5. terminal program
    1. Install putty, configure settings according to Michael Margolis’ Arduino Cookbook:
      1. 9600 baud
      2. click terminal: under local echo select force on
      3. under “set various terminal options” chose “implicit LF in every CR”
      4. select proper USB port
      5. save with name of USB port for easy retrieval
    2. Alternative to putty on Linux is miniterm:
      1. miniterm.py /dev/ttyUSB0 9600
    3. configure XBEE according to Michael Margolis’ Arduino Cookbook:
      1. +++ to get XBee attention. Should respond with “OK”
      2. ATMY5678
      3. ATDL1234
      4. ATDH0
      5. ATID0
      6. ATWR
    4. Swap “5678” and “1234” for other XBee then should be able to talk between them
  6. Connect to Arduino. Need 3 wires:
    1. GND
    2. Arduino RX goes to XBee TX (pin 2) (through level shifter)
    3. Arduino TX goes to XBee RX (pin 3) (through level shifter)
Print Friendly
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Leave a Reply

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