Nano board and Xbee - wireless programming

Recently I was trying to implement wireless programming of Arduino Nano v3 using Xbee Pro S1.

The initial instruction has been taken from: http://www.ladyada.net/make/xbee/arduino.html

Alas, with the instructions shown on the website above (admittedly, they tell you right away that all written this applies only for Duemilanove), almost nothing works right for Nano, even the basic serial communication. The Nano transmits from TX (pin D1) into the Xbee shield, and the transmitted characters are almost always right (with few errors here and there). The reception from the RX (pin D0) is almost always grabled beyond recognition (no, it is not the port baud rate - see below). Naturally, with this qulaity of line, there is no way of moving further. Notably, the instruction above shown Xbee DOUT/DIN connected directly to Arduino Decimia TX and RX. And indeed, this works with my Arduino Uno, but not with Nano.

Upon some investigation it has been discovered that the Xbee shield I have used: http://classic.parallax.com/Store/Accessories/CommunicationRF/tabid/161/CategoryID/36/List/0/SortField/0/catpageindex/2/Level/a/ProductID/664/Default.aspx

  • only buffers the input DIN, but not DOUT, and both the input and the output remain 3.3 V (the on-board 74LVC244A allows 5V signals in without damaging 3.3V Xbee logic, but does not convert 3.3V output voltages). Apparently, because Nano shares D0/D1 and RX/TX, they should be strictly 5V, not 3.3V signal level. Upon the introduction of 3.3V to 5.0V logic level convertor: https://www.sparkfun.com/products/8745 , the design started behaving, both transmititng and receiving (I tested at 9600, 19200 and 57600 bps, fine).

The next step is to teach the Xbee to pass the reset signal to Nano. And here I hit the complete roadblock for two days. The reset is passing fine, but the avrdude replies:

avrdude: stk500_getsync(): not in sync: resp=0x00

  • and nothing gets upoladed.

The simple 0.1 uF capacitor solution proposed by proposed by Nathan Seidle (https://www.sparkfun.com/tutorials/122#Step2) simply does not work for Nano. It is 3.3V based, and we need strictly 5 here. The website above suggests more complex solution, with D3 signal pulling down (asserting) the Arduino Reset through a 0.1 uF capacitior and a transistor. I have tried that for Nano and it does not work. I have tried it on Arduino Uno, and it also does not work. I do not have Decimia to test the initial website suggestions.

Hence, the question:

Has anybody anyhow succeeded on wirelessly programming Arduino Nano v 3 (exactly this board, old ones do not count for an answer) using Xbee shields? If yes, could you be so kind to point me in the right direction? If nobody has succedded so far, any insights would be appreciated, so i can dig further.

I'm in the same situation as you right now.

I am thinking of probably putting transistors in between the RX/TX lines between the arduino and Xbee.

Or powering the NANO board with 3.3v so that both of them would be at the same level.

Will be doing this tests tonight when I get home. I will post my results.

I have the same problem, the explorer board sparkfun with arduino uno works but with NANA every Doesn’t work. I don’t know why , my project is in standby for that.