Search Results for 'Xbee'

XBees in Space

xbee-in-spaceNASA’s Ames Research Center is putting the first ZigBee radio network into space! XBee radios will form a prototype telemetry system on a NASA Soarex sounding rocket launching this coming January, 2015.

The NASA sounding rocket will journey into space around 200 miles above the earth, run experiments and then return ballistically into the Atlantic Ocean. The on-spacecraft ZigBee network will be used to monitor a new parachute-like exo-brake that will be deployed for testing hypersonic braking in the thin upper-atmosphere. Exo-brakes are being tested for returning samples from Earth orbit, and for slowing landers on other planets like Mars where the atmosphere is much thinner than Earth’s.

soarex-7_launch

Soarex launch

A three-node XBee ZigBee network will be used to monitor the exo-brake performance so that no wires need to be added to the device. The nodes will monitor six different acceleration parameters as well as overall temperature and air pressure. Future wireless networks may be used to monitoring the spacecraft structure itself. This network can also be made available to other experiments on the same flight to route their telemetry to an Iridium radio that transmits all the data via satellite back to Earth. This last link is essential because the sounding rocket will not be recovered intact. Like Laika the Soviet Space Dog, NASA’s XBees are taking a one way trip for the benefit of science.

Wireless networks on spacecraft are a new idea. Traditionally all onboard connections use physical cabling. This adds weight, complexity and the need for extra fuel. Because aerospace is a necessarily conservative endeavor, new technologies are typically introduced slowly. Therefore rather than just taking everything wireless all at once, ZigBee is being tested first on missions where the higher risk of new tech is acceptable. After successful trials the systems should be proven enough to go into a hardening process before being incorporated into more critical projects where risks must be kept to a minimum.

Arduino-XBee-NASA

XBee Arduino prototypesc

Modern NASA programs are mandated to avoid the expense of creating custom hardware when viable alternatives are available commercially. Experimental systems like wireless networks for spacecraft are also started on shoestring budgets, often assisted by student engineers. Therefore everything on this ZigBee project is being prototyped using off-the-shelf maker components such as Arduino boards, adapter shields from SparkFun Electronics and XBee ZB radio modules from Digi International. XBee was selected because it is easy to incorporate with Arduino, well-documented and readily commercially available.

Soarex-Payload-Area

Soarex payload bays

The system is being designed with a little help from my Building Wireless Sensor Networks book, and a lot of expertise from the NASA team. If this first test goes well, the next version will be more customized and could include the Programmable XBee or even the XBee Plus Arduino board that I’ve been prototyping over the last few months.

The project team at NASA includes Richard Alena and Thom Stone, who have written papers including ”Fault tolerance in ZigBee networks” and “ZigBee – A Smart, Viable, Wireless Architecture for Spacecraft Avionics.”

 

Here’s video from a prior launch of the Soarex rocket that will carry XBee radios where no XBee has gone before:

XBee Plus Arduino

The XBee Plus 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!

XBee Plus 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.

“XBee Plus 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 XBee Plus 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 XBee Plus 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

XBee Plus Arduino 2.0-board

XBee Plus Arduino 2.0-schematic

Code

Sample code library

Program as an Arduino Leonardo board!

arduino-leonardo-program

 

Licensing

Not determined, leaning toward open source hardware.

New LilyPad XBee

LilyPad XBee radioThe LilyPad XBee sew-in wearable radio created by myself and Kate Hartman just got an update to add a reset button and improve its manufacturability. This board can be paired with LilyPad wearable sensors, custom built sensors and a variety of output devices to create a complete wireless wearable system. Available from Sparkfun for just $14.95 with discounts available for larger quantities. Get yours today!

 

LilyPad XBee frontLilyPad XBee sideLilyPad XBee back

 

 

XBee Stacker

The Stacker 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!

XBee Stacker 2

This is the next 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.

“XBee Stacker 2″ Arduino/ATMEL board design 

IMG_2932 IMG_2934IMG_2930 IMG_2933

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 XBee Stacker 2:

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 XBee Stacker 2

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

XBee Stacker Arduino 2.0-board

XBee Stacker Arduino 2.0-schematic

Code

Sample code library

Program as an Arduino Leonardo board!

arduino-leonardo-program

 

Licensing

Not determined, leaning toward open source hardware.

Digi Employee Hackathon: XBee Wi-Fi Visits Logroño

logrono-lie-detect-robFor the latest Digi Hackathon, I headed overseas to hold our first ever creative construction event at Digi’s office in Logroño, Spain. Using XBee WiFi Cloud Kits, the four teams hacked away for what was the most competitive session yet. In a matter of hours, each team had to quickly brainstorm, build, and present their cloud-connected projects. Their results were terrific.

Projects included:

  • The Garbage M.A.N.: Smart garbage containers monitoring for smart cities
  • Germinator Plus: An automated system for remote greenhouse seed germination monitoring.
  • Lie-Detect-o-Meter: A mobile battery-operated wristband lie detector for public questioning.
  • The Smart Plug-Y-Play: A power consumption monitor and remote control for computers and other electrical appliances.

Read more and see pictures on the Digi blog.

Digi Employee Hackathon: XBee Wi-Fi Cloud Kit

Hack10

Last week, we held a Digi Employee Hackathon to put the new XBee Wi-Fi Cloud Kit to the test. This is one of several ways we are working on designing outstanding user experiences for new Digi products. With the kits, the teams were able to build projects that connected with the cloud right away. One team member reported, “I got from the box to the cloud in under 20 minutes.” Using the kit’s dashboard, new widgets were  developed to whimsically represent data being collected by Device Cloud. Rain, food safety and even child development were addressed by our project teams.

I’m looking forward to doing more of these internal hackathons in the coming year. They’re fun!

Read more about this hackathon on the Digi Blog.

Maker Faire: XBee Wi-Fi Cloud Kit Wins Editor’s Choice

IMG_4249

The new XBee Wi-Fi Cloud Kit won an Editor’s Choice award at Maker Faire NYC! My team at Digi International has been hard at work all summer bringing together this modular kit to help users  create XBee Wi-Fi connected devices for the Internet of Things. There’s a development board with all kinds of input and output components plus modular widgets to make building online web interfaces for seeing data and controlling devices a snap. The kit gets online right out of the box, and contains additional loose components to help you create your own circuits and wire them to the web. Look for an XBee Wi-Fi Cloud Kit release in November.

We also showed off the beta of Digi’s XCTU configuration tool and presented “Make it Awesome: How to Internet-Enable Your Project.” Here’s some more photos from our fabulous weekend at Maker Faire NYC:

IMG_4218 IMG_4221 IMG_4229

2013-09-21-17.44.46 2013-09-21-17.05.01 2013-09-22 11.25.58

2013-09-22 12.01.04 2013-09-21-11.10.05 IMG_4249

 

XBee Stacker 1

THIS IS THE OLDER VERSION OF THE STACKER. PLEASE SEE THE NEWER VERSION HERE.

This new project creates XBee radio-sized components that can be “stacked” directly underneath the radio. Each Stacker will add additional features like microcontrollers and sensors for devices that already use the XBee’s 20-pin footprint. 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 great!

XBee Stacker Arduino

The first design is an Arduino-compatible board the size of an XBee that fits right underneath the radio, creating a Arduino-programmable XBee.

XBee Stacker Arduino 1.1

“XBee Stacker” Arduino/ATMEL board design v1.1 xbee-stacker-1.1-side xbee-stacker-1.1-front xbee-stacker-1.1--with-radio

Features

  • I2C

  • SPI

  • scriptable interruption of:

    • all UART transactions

    • XBee reset

    • XBee pin sleep

  • pass-through of:

    • on/sleep indicator

    • association indicator

    • RSSI indicator

    • commissioning button

  • 18 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 (via bootloader firmare) programming, using adaptor cable

  • wireless programming

  • ICSP for firmware access

  • EEPROM

  • multiple UARTs

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

Pinouts

Bottom of XBee Stacker Arduino:
Base Pin Physical Connection Function
1 VCC Power supply
2 Arduino D9 Arduino software TX / PWM out
3 Arduino D8 Arduino software RX
4 Arduino D12 MISO (spi) / digital i/o
5 Arduino D2 input for resets
6 XBee 6 passthrough RSSI output
7 Arduino A4 SCA (i2c) / analog input
8 Arduino A2 analog input
9 Arduino D3 input for pin sleep / PWM out
10 GND GND
11 Arduino D11 MOSI (spi) / digital i/o / PWM out
12 Arduino A0 analog input
13 XBee 13 passthrough on/sleep output
14 Arduino A3 voltage reference / analog input
15 XBee 15 passthrough assn output
16 Arduino A1 analog input
17 Arduino D10 SS (spi) / digital i/o / PWM out
18 Arduino D13 SCLK (spi) / digital i/o
19 Arduino A5 SCL (i2c) / analog input
20 XBee 20 passthrough commissioning
Top of XBee Stacker Arduino
XBee Pin Physical Connection Function
1 VCC Power supply
2 Arduino D0 Arduino RX
3 Arduino D1 Arduino TX
4
5 Arduino D4 control for resets
6 base 6 passthrough RSSI output
7
8
9 Arduino D5 control for pin sleep
10 GND GND
11
12
13 base 13 passthrough on/sleep output
14 VCC voltage reference
15 base 15 passthrough assn output
16
17 capacitor Arduino Reset (p1) via cap.
18
19
20 base 20 passthrough commissioning

Wireless Programming (Arduino XBee OTA)

This XBee Stacker can be programmed wirelessly using an Arduino setup first prototyped by me, then greatly improved by Limor Fried and later Shigeru Kobayashi. I’m borrowing it back now, thanks everyone!

Parts

2 – XBee 802.15.4

1 – XBee Explorer USB (or XBIB, or similar)

1 – USB cable

Configure Your XBees

XBees are factory configured for 9600 baud. The Arduino IDE typically sends programs (sketches) at 57600 baud. In addition, Arduino needs to reset the microcontroller on your remote board just before sending over a new sketch. This is cleverly accomplished by linking one of the base station’s hardware handshaking lines briefly to the reset line on the remote Arduino-based microcontroller. Here’s the chain of events:

  1. User clicks the upload button in the Arduino IDE. That’s it! The remaining steps happen automatically…
    • Arduino (technically AVR Dude) opens the local serial port, automatically bringing the RTS line low.
    • The RTS line is connected to pin DIO3 on the local XBee Explorer so that pin it goes low in tandem.
    • The local, base station XBee has pin DIO3 configured as a digital input, and sends that low state to the remote XBee, the one plugged in to the XBee Stacker board.
    • The remote XBee has pin DIO3 configured as a digital output, initially high. When it receives the low state from the base station XBee, its own DIO3 goes low too.
    • DIO3 on the XBee Arduino Stacker is connected to the Arduino microcontroller’s reset line, but via a capacitor so only a burst of the low signal gets through, just enough to reset the microcontroller.
    • The reset microcontroller goes into bootloader mode and accepts your new Arduino sketch over-the-air, then begins running that new sketch. All by itself and without wires!

Label one XBee “Base” and use X-CTU, CoolTerm or even the Arduino IDE’s Serial Monitor to give the “Base” XBee the following settings:

PAN ID 1234 ->  ATID 1234 (I recommend that you choose your own unique PAN ID)
MY ID 1 ->  ATMY 1
DESTINATION HIGH 0 ->  ATDH 0
DESTINATION LOW 2 ->  ATDL 2
BAUD RATE 57,600 ->  ATBD 5
DIGITAL IO 3 input ->   ATD3 3
CHANGE DETECT 3 on ->  ATIC 8

Label the other XBee “Remote” and give it the following settings:

PAN ID: 1234 ->  ATID 1234 (always match the “Base” radio’s PAN ID)
MY ID: 2 ->  ATMY 2
DESTINATION HIGH: 0 ->  ATDH 0
DESTINATION LOW: 1 ->  ATDL 1
BAUD RATE: 57,600 ->  ATBD 5
DIGITAL IO 3: output high ->   ATD3 5
INPUT ADDRESS 1: -> ATIA 1
UART OUTPUT disable ->  ATIU 0

If you are using CoolTerm or another Serial Terminal, use ATWR to save the configuration to your XBee’s firmware.

After you change their baud rate the radios will no longer respond at 9600 baud. Be sure to change the baud rate in X-CTU or CoolTerm to 57600 if you want to check or update their configurations.

Configure Your Hardware

The “Base” XBee’s DIO3 and RTS pins need to be connected together. If you are using an XBee Explorer, simply solder a jumper or wire between these two pins.

Nate at Sparkfun shows the solder jumper you will need.

(If you are using Digi’s XBIB board or a different adapter, find the appropriate pins and then short them together either with some solder or with a bit of wire. Either method is reversible.)

Upload Sketches

Now you can start uploading Arduino sketches wirelessly! Simply:

  1. Connect your “Base” XBee into the modified XBee Explorer USB  (or  your own adapter) connect it to your computer with a USB cable.
  2. Stack your “Remote” XBee onto the XBee Arduino Stacker and provide it with power (a second Explorer or XBIB is an easy way to power it for tests).
  3. Select “Arduino Uno” in the Tools:Board menu and select the correct serial port from the Tools:Serial Port menu.
  4. Open the sketch you’d like to upload.
  5. Click the Upload button!

Should you get an error message, try again in case it’s just a one-time glitch. Next carefully recheck each connection and configuration item, one at a time. It’s very common to get something set wrong the first time you try this so go through it methodically and patience will pay off.

Schematics & Board Layout

XBee_Stacker_Arduino_schematic-1.1

XBee_Stacker_Arduino_board-1.1

Licensing

Not determined although open source hardware is top of my list right now.

Connecting Light Spans England’s Coasts with XBees

This week I’m heading to Newcastle upon Tyne in the U.K. for Connecting Light, 400 giant illuminated balloons that will cross England coast to coast along Hadrian’s Wall, a 2000-year-old Roman barrier. This will be my first exposure to 73-mile-long art! The interactive installation was networked with help from me and Digi using Programmable XBees and the venerable iDigi Device Cloud. Connecting Light was conceived and built by my friends at the YesYesNo collective, including artists Zach Lieberman and Molmol Kuo. You can see it in person in the U.K., or watch it online the evenings of August 31 and September 1st.

This video shows them testing it few weeks ago, along the New York City waterfront:

XBee Cymbal Monkey

You want your project noticed? Nobody can ignore a hyperactive cymbal-playing chimp that creates a cacophony of sound when triggered over the Internet. Inspired as always by Tom Igoe’s Making Things Talk, we hooked this toy terror up to an XBee radio, creating a wireless alarm that grabs the ear as well as the eye and the heart. From the project instructions on the Digi Examples site:

By pairing an XBee with your percussive primate, you create an unmistakable alarm that gets immediate attention. It’s a first-rate way to present alerts that cannot be ignored. Web server down? Customer service queue climbing beyond your comfort? Kids ignoring their chores? This easy hack will put a monkey on their back, and he won’t let go until the warning is heeded!

Check out the ape alert in action in its video below: