Pages: [1]   Go Down
Author Topic: programming Arduino remotely via XBEE  (Read 2248 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am trying to remotely program an Atmega328 with UNO bootloader using an XBEE.   For the reset line, I use XBEE's I/O line passing, with the programming done via the XBEE's serial link.  The /RST, TX, and RX signals at the transmitting XBEE and remote Arduino show proper levels and polarity.  But I get an error message (a sync error after 3 retries) when trying to program it using Arduino's AVR to write to the transmitting XBEE.  On other projects that are programmed in the usual way, I have seen this message when there was a problem with reset levels or timing.

Does anyone know of either:
1) a way to program Atmega328s remotely via XBEE
or
2) a reference document for the bootloader/AVR with a description of the loading process, especially timing and state diagrams?


  • I am using the most recent releases of Arduino and bootloader.
  • Programming was tried at 9600 and 57600.  XBEE to XBEE communication was fully verified at both baud rates, but with no programming success.
  • Reset at remote XBEE came from an I/O  thru a 0.1uF cap to the /RST pin pulled up with 10K.  A direct connection between XBEE and /RST was also tried.
Logged

Seattle, WA USA
Online Online
Brattain Member
*****
Karma: 653
Posts: 50924
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Which XBees are you using?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am using series1 XBEEs (not ZIGBEE).
Logged

Seattle, WA USA
Online Online
Brattain Member
*****
Karma: 653
Posts: 50924
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I am using series1 XBEEs (not ZIGBEE).
All the tutorials I've seen that claim that wireless programming of the Arduino is possible used Series 2 models.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There are instructions for programming via series 1 XBEEs like Adafruits' http://www.ladyada.net/make/xbee/arduino.html.  This is identical to what I have been trying to do, except Adafruit only got it to work with the Duemilanove bootloader and I need to make this work with the UNO bootloader - or at least understand why it doesn't.  That's why I was looking for documentation on that bootloader.  I want to compare my scope traces with the bootloader's protocol and timing requirements.

If anyone has been able to remotely program an Atmega328 with UNO bootloader via series 1 XBEE, I could use some advice.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Found the problem and solution:

Series 1 XBEEs seem to get unreliable above 57600 bps in my tests.  And the UNO bootloader runs at 115200 bps with no option of changing that speed.  Using Adafuit's bootloader https://www.adafruit.com/products/123 everything runs well at 57600 bps.  Now the procedure on this page http://www.ladyada.net/make/xbee/arduino.html works.
Logged

Pages: [1]   Go Up
Jump to: