My Cart

Wireless Programming with Arduino + Xbee Shield [by Korama]August 27, 2013

Lluis Toyos, our friend who built a semaphore to measure the noise (you can remember the Mini Maker Faire Bilbao Video), has published a nice article to know how to do a wireless programming with Arduino UNO and XBee.


"This entry just wants to show how to setup an Arduino UNO + Xbee Shield ready to be programmed wirelessly, without any other change at remote hardware or any piece of code to be included in every code that is uploaded into this system

The steps are very simple, but some of them maybe would need more explanation, but they are widely documented in many posts through the web."

The basic configuration would be:



The process has the following steps:

1.- Configure the XBee Modules

First we have to configure the two Xbee modules with this parameters:



2.-Burn the Duemilanove Bootloader into the Atmega328-P-PU

Because of the UNO bootloader init setup,  it is very difficult  to do the remote programming with it, so we recommend to use the Duemilanove Bootloader into the ATmega328P-PU processor that comes with the Arduino UNO.

3.-Setup the Base Hardware:

We are going to use the FT232RL Breakout from Sparkfun (232) as the USB2Serial interface, and we are going to connect it to the BASE XBee Module (BXB). The pin connections should be:

  • 232-GND —-> BXB-GND (pin 10)
  • 232-V3.3 —->BXB-3.3V (pin 1)
  • 232-RXD—— ->BXB-DOUT (pin2)
  • 232-TXD——>10K Resistor —>BXB-DIN (pin3)
  • 232-GND——>15K Resistor—->BXB-DIN (pin3)
  • 232-RTS——->100nF Capacitor—>BXB-DIO7 (pin12)

4.-Setup the Remote Hardware:

Just plug the Arduino UNO (with the ATmega328-P-PU boot-loaded with Duemilanove), with the Communication Shield, and the REMOTE XBee Module.

5.-Compile and Upload from the Arduino IDE:

Now you can upload programs to your REMOTE simply from the Arduino IDE.

In the Arduino IDE, select “Tools” and:

  • put “Board”  as “Arduino Duemilanove o Diecimila”
  • put “Processor” as “ATmega328″
  • select the Serial Port (usually COM3-5, or /dev/ttyUSB0-1) for FT232RL Breakout

And now,  just “Compile” & “Upload”…and it works!

IMPORTANT: After each upload try, you have to wait a time (+-25 seconds ) until the next upload could be done

Via and Source: Korama

Leave a Reply