XBee and Redbot programming

I have a Redbot Mainboard with XBee Series 1 and an Sparkfun XBee Explorer USB with another Xbee Series 1.

I can send and receive serial date from a W8.1 PC using the Explorer and XBee chain.

I can download programs using a direct USB cable, but not through the XBee chain. Avrdude times out after 10 tries. “programmer is not responding” and “not in sync”.

The IDE is using the AVRISP mkII programmer is both cases, and the PC Device Manager says the port is working and the driver is up to date.

Is this a hardware problem? Do I have something wrong?

There is a RO (Packetization Timeout) Command that delays sending RF transmissions until the serial Data In port has been idle for a period equal to a certain number of characters. If you set that to 0 or 1, on both Xbees, then it should work better. Default is 3 character times. [EDIT] I never tried this with datatransfers at high baudrates, and for me this worked with a non-Arduino board, so for you this might still fail. Read the XBee series 1 manual for more details.

Thanks for the reply. I have only hooked the XBees up as they came out of the package. I’ll look at the manual. I had not thought this could be an XBee parameter thing, although I did see that the programmer shifts the download transfer to maximum speed. I think all downloads are done that way.

I’m also trying a work around to tune the bot. On the off chance this is a hardware problem, I’ve also asked the same question of Sparkfun tech support. No answer yet.

I have not found any direct mention that the Xbee chain can be used to download programs to an Arduino, but I assumed one should be able to do that. I’ll post any results.

planecrasher:
I have a Redbot Mainboard with XBee Series 1 and an Sparkfun XBee Explorer USB with another Xbee Series 1.

I can send and receive serial date from a W8.1 PC using the Explorer and XBee chain.

I can download programs using a direct USB cable, but not through the XBee chain. Avrdude times out after 10 tries. “programmer is not responding” and “not in sync”.

The IDE is using the AVRISP mkII programmer is both cases, and the PC Device Manager says the port is working and the driver is up to date.

Is this a hardware problem? Do I have something wrong?

Need more specifics. Including what you done to configure the XBees correctly? Tested them talking to each other irrespective of the robot, and so on. Working from the simple to the complex.

Thanks for you replies.

I have heard from Sparkfun tech support.

They pretty much confirming my suspicion that uploading is not a usual use of my XBee setup. This is my first experience with XBee units. I bought the XBee setup to see if I could tune the RedBot for line following while it ran, without a cord tether. I found the cord tether to be very awkward when I started the tuning. I can see how to put code together to tune on the fly and that and the XBees should work fine for that.

Uploading code wirelessly would have been a bonus, but is only a side issue for me. My main goal is a working RedBot line follower robot to take to a second grade class in April and demonstrate for the kids.

Responses on this forum so far have been appreciated and have confirmed there is a need to tune the parameters of the XBee units for downloading. While I appreciate your offers to help, that would be a distraction from the goal I just mentioned, at this time.

So, I conclude that uploading will probably work with tuning of the XBee unit parameters, but I do not want to pursue that at this time.

The XBee units work as advertised and as explained in Sparkfun’s tutorial. Hence, there is not a hardware issue.

Uploading appears to be an outside “out of the box” use and requires a different XBee setup. Uploading was never mentioned anywhere. I just jumped to that conclusion.

If uploading is a UART serial protocol, then the transparent mode for the XBee (wireless UART) should work. Other have done so.

The XBee will have to be configured for that, and you can reconfigure an Xbee remotely, wirelessly.

Othewise, if your XBee has an attached microprocessor, it can use the Binary API to manage the bootloading stream.

A bit advanced. But it is all do-able. Glad to help.

Look around though - others have done this.