I just received a new serial WiFly module in the form of an Xbee device. It is supposed to be hardware compatible with Xbee devices, that is you should be able to replace an Xbee device with the new WiFly device and not have to change any hardware. I plugged the WiFly device into an Xbee Explorer USB device and was able to communicate with the WiFly using a terminal program with no problems. Was able to get it to connect to my network, connect to a time server and a DNS server, worked great but… I then tried to use it with an Arduino Uno. I have an Uno with an Xbee shield and an Xbee device plugged into it and it works fine using the Software Serial library (actually Newsoft Library). I simply removed the Xbee device and plugged in the WiFly device. I then wrote a very simple sketch that sends ‘$$$’ out to the Wifly device expecting to receive back a ‘CMD’ response indicating the WiFly went into command mode but I cannot get that to work. I can see the data-in LED on the shield flash when I send the $$$ command but I never see the WiFly respond to the command. I’ve checked and rechecked everything but have run out of ideas. Has anyone else got the new Xbee form WiFly device working using an Xbee Shield? Any ideas or suggestions?
Found the problem. It’s the D1 (Diode 1) in series with the data in line on the Xbee shield board…AGAIN! Apparently this diode also affects the Xbee pro devices also but seems to work with the basic Xbee device which I was using. I found if I short out D1 with a 100 ohm resistor, the WiFly device starts working in the Xbee Shield. I hope the WiFly device is tolerant of the input voltage when D1 is shorted with a 100 ohm resistor.
Note: Since many people have experienced similar issues, I think it’s about time the Xbee Shield design be retired and replaced with something that works with all the different Xbee devices including the WiFly unit. I think the diode approch to address the 5 to 3.3 volt conversion is a bit hokey and obviously does not work well. Just my humble opinion.
Actually I have not been able to totally solve this problem. Shorting D1 with a 100 ohm resistor has allowed the transmit data to be recognized by the WiFly module but the responses back from the WiFly are not 100% clean. When the Xbee shield with the WiFly module is attached to an Uno and I use NewSoft Serial interface, I get occasional garbage at all baud rates. When I attach the shield to a Mega 256, it does not see any responses so I suspect the output of the WiFly is not strong enough to be used with 5 volt devices. Too bad, I think the WiFly in the Xbee form could be a very useful product.
Does anyone know of an Arduino Xbee shield that provides true level shifting for the transmit and receive serial data? If not, any other recomendations for a breakout board with true level shifting?
Thxs - JC
I have the very same problem. Did you ever find a way to solve this or get a response from Sparkfun?
J
"Found the problem. It’s the D1 (Diode 1) in series with the data in line on the Xbee shield board…AGAIN! "
Countless hours have been wasted by SFE customers stuck with their fundamentally WRONG electrical design. I and others have asked SFE to inform all, via here, and on the product page, that the product is flawed and what the fix is.
I lost a lot of respect for SFE as for months now they have not.