Introduction: Remote Controlled Arduino Robot Using Wixel Transceivers

About: Did I unplug the solder iron?
UPDATE JAN 2012: This project was featured on Pololu's website under Resources/Community Projects.


In this project, I use two Pololu Wixel transceivers to remotely control an Arduino robot from a PC running a terminal emulator software where I use the keyboard to tell the Arduino robot, via wireless connection, which direction to move (f=forward, b=back, l=left, r=right, s=stop).

This is by far one of the simplest robots I had to put together. Mostly because I am reusing my past robot project parts and code and in no small measure due to the simplicity of the Wixel wireless solution.


Pololu's Wixel transceivers are inexpensive and easy to deploy. I bought two for about $40 plus shipping. The transceivers come with all the applications needed to turn it into a wireless serial port. The vendor does a great job with documenting the setup of the Wixels but in a nutshell this is what's involved in setting up a Wixel:

-- Plug each Wixel into into the PC via mini-USB
-- Install the vendor's Windows drivers and configuration utility.
-- Using the Wixel Configuration Utility load the the vendor provided applet named Wixel Wireless Serial Application. Make certain the Wixels and Arduino have the same baud rate.

Once you have performed the above steps for each Wixel, you can disconnect them from the PC and they will retain their code, just like the Arduino. You now have two Wixels that will talk to each other as two serial com ports.

The simplest way to test if your Wixels are communicating with one another is to connect each to a separate PC running a terminal emulator such as TeraTerm. Set both terminal emulators serial ports and parameters to those of the attached Wixel and start typing on the keyboard. You will see what you typed on the other PC's terminal emulator screen. It's that simple.

The only downside of the Wixel is the short range. The vendor documentation says it's about 60 feet. But the simplicity of deployment compensates for the short distance. If all you need is indoors wireless functionality and ease of use, Wixel is a good choice.

No, this project is not sponsored by Pololu...blah blah blah. I am simply impressed by this well-packaged gizmo.


-- Wixel Transceivers X 2. If you are not into soldering you can get the Wixels with headers ready to plug into your breadboard:

-- Arduino Uno:

-- Arduino prototyping shield (optional)

-- Micro Servos X 2. I used the Turingy TG9e which I modified for continuous rotation. You can buy servos already modified for continuous rotation. If you already have 2 servos and wish to modify them for continuous rotation, there are plenty of tutorials if you search around the web.  I used servos instead of DC motors to drive the robot because servos can be controlled and powered from an Arduino without the complications of an h-bridge which is needed to power and control DC motors. 

-- AA X 6 Batteries

-- Breadboards and wires.

-- The robot platform is an empty 3.5 USB external drive case covered with Velcro to facilitate ease of adjustment and removal of robot parts. I am not a big fan of permanent attachments. The wheels of the robot were taken from a toy car and are connected together via mechanical construction set parts and tape and paper clips. Refer to my previous robot project on how this platform was assembled:


Arduino IDE 1.0 for Windows

Wixel Windows Drivers and Software (release 110705)

Wixel Wireless Serial Application

TeraTerm Terminal Emulator (shareware)


Wixel  GND pin -----> Arduino GND pin
Wixel VIN  pin -----> Arduino 5V pin
Wixel TX pin P1_6   -----> Arduino Digital Pin 0 (RX)

The Wixel on the PC needs to be connected via a mini-USB. That's all.

Servo Left - Signal (Yellow wire on my servo) -----> Arduino Digital Pin 10
Servo Left - GND (Black wire on my servo) -----> Arduino GND pin
Servo Left - VIN (Red wire on my servo) -----> Arduino 5V pin

Servo Right - Signal (Yellow wire on my servo) -----> Arduino Digital Pin 11
Servo Right - GND (Black wire on my servo) -----> Arduino GND pin
Servo Right - VIN (Red wire on my servo) -----> Arduino 5V pin

Battery Red wire (+) -----> Arduino VIN pin
Battery Black wire (-) -----> Arduino GND pin

See attached file "wixelrobot.ino"

As always, your feedback is greatly appreciated.

I found this guide to be useful in learning more about Wixel: