Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I'm running into a problem with a SparkFun XBee Shield (WRL-10854) when used with a RedBoard (DEV-10908) (Arduino Uno compatible) where it doesn't receive the signal being sent to it. When the same shield is connected to a regular Arduino Uno R3 it receives the signal. When either the RedBoard or the Arduino are connected to the XBee while it is on a breadboard they work correctly. But when the XBee is moved to the Shield the Arduino works, but the RedBoard doesn't. Does anyone know what this problem could be or how to debug it? (I'm aware of the UART/DLINE switch and it is in the right position.)

Also, I have a connection indicator LED hooked up to pin 6 (Received Signal Strength (RSS)) of the sending XBee and it is turning on even when the RedBoard is being used. This means that there is a connection, but somehow the RedBoard isn't receiving it. Similarly, an LED hooked up to pin 6 of the receiving XBee also lights up.

One strange thing I found is that if I connect a wire to the TX pin of the RedBoard and going through a LED to ground the RedBoard starts receiving the signal, but it is corrupted, that is there are garbage characters mixed in with the correct characters.

edit After switching a different ATMega328P onto the RedBoard, this problem goes away. So this problem must be due to some differences in the settings on the pre-programmed ATMega328P from SparkFun.

share|improve this question
    
I'm not familiar with the RedBoard, but its likely that its "Arduino compatibility" is not 100% compatible. There may be errant pull-up or pull-downs on it, or a conflict with a pin coming through the SparkFun shield. If you wire a breadboard with ALL pins wired in like the shield, then eliminate one by one till it works again - you'll find the culprit. –  Ron J. Jun 18 '13 at 14:05
    
@RonJ. could you go into more detail about your suggestion? How do you determine if a given pin has a pull-up or pull-down on it? –  ThomasW Jun 19 '13 at 1:01
    
Simply checking the voltage should show the high/low status of any pin, some boards/shields may have SMD resistors hardwired on them which may cause unexpected behavior (your posting mentioned a LED to ground caused garbled TX). If the shield has a TX/RX LED it may be the culprit, is a wild guess. –  Ron J. Jun 19 '13 at 12:38
    
Your suggestion got me thinking and so I tried swapping in a different ATMega328P and seeing if that is the problem. Sure enough with the different ATMega328P it works fine, so there is something different about the settings of the ATMega from SparkFun that is causing this problem. –  ThomasW Jun 19 '13 at 13:26
    
Different bootloader that affects the RX/TX lines, maybe? –  Ron J. Jun 19 '13 at 13:34
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.