interfacing Xbee Shield and Touch Shield Slide

Hi i really hope someone can help me out on this...

would anyone have any idea how i might make my arduino touchshield slide communicate directly to my xbee?

currently the method of communication is such

Touchshield slide -> arduino duemilanove -> xbee shield -> arduino duemilanove -> touch slide

i am trying to get it to do this

Touchshield slide -> xbee shield -> touchshield slide

things that worked. Uploading my sketch into Arduino Duemilanove works. opening Serial monitor, i can see my SH SL and so on. connection between the Arduino Duemilanove and Xbee shield is only by ISCP and pin 0 and 1 for both xbee and arduino. If i removed pin 0 and 1, the connection will fail. any other pins would not work too.

so i came to the conclusion xbee uses Pin 0 and 1 of the shield to send and recieve data. Correct me if i'm wrong..

So i tried to connect the pin 0 and 1 of touch shield slide over to pin 0 and 1 of the Xbee shield, Connection failed. couldn't get a radio respond. when i tried using pin 2 and 3 of touch shield slide connected to pin 0 and 1 of the xbee shield it give me a Error reading packet error code 1 sometimes 2.. sometimes 3. At least it seems to be able to detect the Xbee shield.. but.. why does it have an error when the same sketch runs on an arduino Demilanove?

Any idea if its the Syntax or the connections?

the things i am using. Xbee Series 2.5 in Api mode 2 Touchshield Slide from Liquidware Xbee Shield Arduino Demilanove with atmega328 IDE is Arduino0018 Antipasto0043 downloaded from liquidware Xbee library is from Rapplogic



Alrighty. Heres the codes and links, sry about that, i took it for granted that people would know what i was talking about. Hope ya could help me fix it, been on it for a couple of fruitless days already ← library. ← IDE i’m using ← Touch Shield Slide ← Xbee type i am using ← arduino Duemilanove
and finally ← Xbee Shield

the codes for the sketch are below. for running on arduino to view output i’ll uncomment out the Serial() codes and comment out text() codes and vice versa.

#include <XBee.h>
XBee xbee = XBee();

// //Serial high
uint8_t shCmd = {‘S’,‘H’};
// //Serial low
uint8_t slCmd = {‘S’,‘L’};
// association status
uint8_t assocCmd = {‘A’,‘I’};

AtCommandRequest atRequest = AtCommandRequest(shCmd);

AtCommandResponse atResponse = AtCommandResponse();

void setup() {
// start soft //Serial

// Startup delay to wait for XBee radio to initialize.
// you may need to increase this value if you are not getting a response

void loop() {

// get SH
// set command to SL

// set command to AI

// we’re done. Hit the Arduino reset button to start the sketch over


void sendAtCommand() {
//Serial.println(“Sending command to the XBee”);
text(“Sending command to the XBee”, 10, 10);

// send the command

// wait up to 5 seconds for the status response
if (xbee.readPacket(5000)) {

// should be an AT command response
if (xbee.getResponse().getApiId() == AT_COMMAND_RESPONSE) {

if (atResponse.isOk()) {
//Serial.print(“Command [”);
//Serial.println("] was successful!");

text(“Command [”, 10,20);
text((atResponse.getCommand()[0]), 10, 30);
text((atResponse.getCommand()[1]), 10, 40);
text("] was successful!", 10, 50);

if (atResponse.getValueLength() > 0) {

//Serial.print("Command value length is ");
//Serial.println(atResponse.getValueLength(), DEC);
//Serial.print("Command value: ");

text("Command value length is ", 10, 60);
text((atResponse.getValueLength(), DEC), 10, 70);
text("Command value: ", 10, 80);

for (int i = 0; i < atResponse.getValueLength(); i++) {
//Serial.print(atResponse.getValue(), HEX);

_ text((atResponse.getValue(), HEX), 10, 90);_
* text(" ", 10, 100);*
* }*
* //Serial.println("");*
* text("", 10, 110);*
* }*
* }*
* else {*
* //Serial.print("Command return error code: ");*
* //Serial.println(atResponse.getStatus(), HEX);*
* text("Command return error code: ", 10, 120);*
* text((atResponse.getStatus(), HEX), 10, 130);*
* }*
* } else {*
* //Serial.print("Expected AT response but got ");*
* //Serial.print(xbee.getResponse().getApiId(), HEX);*
* text("Expected AT response but got ", 10, 140);*
* text((xbee.getResponse().getApiId(), HEX), 10, 150);;*

* } *
* } else {*
* // at command failed*
* if (xbee.getResponse().isError()) {*
* //Serial.print("Error reading packet. Error code: "); *
* //Serial.println(xbee.getResponse().getErrorCode());*
* text("Error reading packet. Error code: ", 10, 160); *
* text((xbee.getResponse().getErrorCode()), 10, 170);*
* }*
* else {*
* //Serial.print(“No response from radio”); *
* text(“No response from radio”, 10, 180); *
* }*
* }*

I have been trying to get the Slide and Xbee to communicate without the Arduino. I was able to get the Slide to acknowledge it received a specific character from X-CTU by blinking one of the LED's on the back side of the Slide when the correct letter was sent. I was using Pins 2 and 3. However, I never could get the Slide to send a character back to X-CTU when a specific button was pressed. I believe I have other problems with programming as I can't even get the basic 2 button example I copied from the Liquidware site to work correctly. I get upload errors and the Slide resets when the button is pressed. Let me know if you figured this out.

Hi red wire, if you have a lil more time you can check out this site i remember andrew mentioned he did some mod to the configuration which allows for softwareserial or something along that line have been busy with work thus didn't check it out, if u do figure anything do let me know too! i've been stuck on this for the longest time..