Fio with XRF and DHT22 and Lipo

Arduino Fio and OTAMP with a XRF and DHT22

The Arduino Fio is a microcontroller board based on the ATmega328P  and runs at 3.3V and 8 MHz.  An XRF/ARF/XBee socket is available on the bottom of the board.

Arduino Fio
Arduino Fio

The Fio is for wireless applications. One can stick various wireless modules on one end.

Arduino Fio with XRF
Arduino Fio with XRF

It can be powered with a lithium polymer battery (LIPO) with a 2-pin JST-PH plug.

Lipo battery
Lipo battery 1200mAh 3.7 V 44.4 Wh

This is an Adafruit battery.

It fits the connectors on the Fio and can be charged via the onboard USB connector.

Fio Connectors
Fio Connectors

The USB connector is only for charging and powering. It does not connect the board to a PC so programs can be uploaded.

An XRF is a serial radio transmitting module from Ciseco.

Ciseco XRF
Ciseco XRF

A DHT22 is a cheap temperature and humidity sensor.

DHT22 installation
DHT22 installation

List of Hardware:
Arduino Fio
1  Breadboard
Connector Cables
10 kOhm Resistor
Female Pin Headers
2 x 82mm cable for Whip Antenna
Solder Iron and equipment of your choice
Mini USB cable
1S Lipo Battery with a 2-pin JST-PH plug
Voyager+ and optional additional SRF stick
oftware XCM (XRF Config Manager)

For the DHT22 setup, we now connect the cables as follows.We have to recreate this with our breadboard or breadboards.


Before we plug in the XRF into the Fio we need to set it up to the correct baud rate for the Fio’s ATMega. The Atmega328P bootloader communicates at 57600bps.

For this we will be using a Ciseco Voyager+.

Ciseco Voyager+
Ciseco Voyager+ with XRF

Plug in the XRF in the Socket of the Voyager+ and move the switch to Socket/Serial out.
Plug in the Voyager+ into a PC USB port. Windows 7 installs the drivers automatically.

Download XCM.  The XRF Config manager,

This is a .NET program so this runs easiest on a MS windows PC.

XCM with a loaded XRF
XCM with a loaded XRF

Press download config. XCM should hopefully fill up with the information about your XRF.

Where it says Baud rate, change it to 57600.

Upload apply and write the config and then plug in your XRF into the Fio.

The whole setup should look something like this.

Fio with XRF and DHT22 and Lipo
Fio with XRF and DHT22 and Lipo

You can also power the Fio with the USB cable, but data will be transfered over OTAMP. Over the air programm upload.

You have to now set up a radio on a PC or a Mac or a Linux to communicate with this setup. (There is a FTDI option that is not discussed here).

You can either use the Voyager+. Remember to set the switch back to SRF.

Or you can use an SRF stick.

These have now to be set up for over the air micro programming (OTAMP):

Use a serial program of your choice and enter what is on Ciseco’s page adapted for 57600 baud.

My XRF was already set up for OTAMP, on above page it is also explained how to set up the XRF.

After that and all the sensors plugged in you can upload the Arduino sketch as explained at the end of  this page on this site under software. Use the LLAP library, the Arduino software and the DHT library. Obviously use the Fio as your board.

Please watch at what communication speed XRF and SRF stick or Voyager+ receive messages so you can receive LLAP messages.

Now you have a transmitting RFu 328 equivalent battery driven radio transmitting temperature and humidity sensor with more pins available.