SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By Sovereign
#190952
So, i want to make a simple project that 2 Arduinos communicate with each other via an Xbee connection. I had from a friend 2 old Xbee shields ( http://digsys.upc.es/rpi/comp/Arduino_xbee_shield.pdf ) and 2 Xbee pro modules https://www.sparkfun.com/products/8710 and i got it working etc.. everything was fine. SO that shield has limitations on what ports of the Arduino you want to communicate with the Xbee module, so i got two Xbee explorers regulated (non-usb) https://www.sparkfun.com/products/11373 to make the Software serial connection in ports that i want. Also i got an Arduino serial to usb board to make my life easier for configuring the Xbees at XCTU.


So far so good, right? so i start by connecting the Xbee Explorers with the arduino usb to serial module to configure them. The XCTU cannot find the board via the regulated Explorer module. So here are the following experiments that i made to see where the problems is:

-Arduino uno (with empty program inside) -> Old shield->Xbee module (WORKS - XCTU finds it)
-Arduino USB to Serial board ->Old Shield ->Xbee (WORKS - XCTU finds it)
-Arduino uno (with empty program inside) -> Xbee Explorer regulated-> Xbee module (NOT working - XCTU doesn't find it)
-Arduino USB to Serial board -> Xbee Explorer regulated-> Xbee module (NOT working - XCTU doesn't find it)


At this point i have to mention that i realize that i make all the correct connections and the problem is somewhere with the Xbee explorers.
So i start checking Voltages. the DOUT directly from a pin on the Xbee module, is 3.3v while the DIN reports a strange number in my multimeter ..like 3.b V..witch means that the voltage has great jitters and is not stable enough for the multimeter to show it and the meter kind of averages out at some middle point.

So i begin further tests. I make the good old connection -Arduino uno (with empty program inside) -> Old shield->Xbee module and at the DIN & DOUT of the Xbee module directly , i put two wires to test and do more experiments. Ofcourse it has stable voltages at this setup.


So i wanted to at least have the LED visual feedback of DIN & DOUT activity of the Xbee explorer board,ok? So i connect the same points to see what happens. and here are the following experiments.

-Arduino uno (with empty program inside) -> Old shield->Xbee module->DOut from Xbee module->DOut at the Explorer board (WORKS - XCTU finds it and i have LED feedback at the explorer board at the DOUT LED)
-Arduino uno (with empty program inside) -> Old shield->Xbee module->DOut from Xbee module->DIN at the Explorer board (WORKS - XCTU finds it and i have LED feedback at the explorer board at the DIN LED)

all these bypassing the logic lever shifters at the Explorer board and connecting directly at the 3.3v level signal paths of DIN or DOUT. AS soon as i try to do the same, but for DIN for feedback...again XCTU doesnt find it and voltage jitters at DIN.

-Arduino uno (with empty program inside) -> Old shield->Xbee module->DIN from Xbee module->DOut at the Explorer board (NOT WORKING - XCTU doesn't find it and i don't have LED feedback at the explorer board at the DOUT LED and voltage jitter)
-Arduino uno (with empty program inside) -> Old shield->Xbee module->DIN from Xbee module->DIN at the Explorer board (NOT WORKING - XCTU doesn't find it and i don't have LED feedback at the explorer board at the DOUT LED and voltage jitter)



So in conclusion everything works fine until DIN of the Xbee module connects to the Xbee Explorer Board. I have 3 same Xbee Explorers and all do the same problem. I also made sure the Internal PULL-UP resistors at all ports of the Xbee module are enabled.

Any thoughts? Why does it mess up like that? and why specifically the DIN and not the DOUT too??? :think: :think: :think: :? :?

Sorry for the looong post, here's an electronic potato.
By Sovereign
#190987
SO....I finally fugured it out...for some reason the DIN of the Xbee requires more current to function, SO every little bit of current the Xbee explorer consumes from the DIN path in the board via pull-up resistors and even the LED...is enough to not let it work. So, by removing the DIN lvl-shift Mosfet and it's resistors and the resistor for the DIN LED made a pure signal path in the board. To compensate though for the loss of voltage translator, i glued on the board an SMD voltage divider to drop the 5v Arduino signals to 3.3v .

hope this helps anyone in the future.. :)