wifibot robot design instructionsThis article show step by step how to use Roboteq's motor controllers along with an Intel Atom low power motherboard to build a Wireless LAN remotely operated Robot platform.


wifibot robot design instructions using dc motor controller



Follow these links to:
Mechanical Construction
Electrical Components
Electrical Wiring
Software Installation and Setup
Robot Operation
Improving your Robot



Roboteq's dual-channel motor controllers are particularly well suited for mobile robot applications. Their high current drive capability, native support for tank-steering, and their many monitoring and safety features ensure smooth and reliable operation. Their RS232 interface ensures an efficient direct connection to a PC compatible motherboard. Intel's Atom processor offers a great combination of very high computing power at low power consumption and exceptionally low cost.

This article describes in detail how to assemble a Roboteq AX3500 DC motor controller, an Intel D510MO Atom motherboard and a mechanical chassis into a mobile robot platform. While most other Roboteq motor controllers can be used for this application, the AX3500 is proposed for its optimal drive current and its ability to connect and drive up to 8 RC servos. The Intel D510M motherboard was selected because of its 100% passive cooling, low power consumption, balanced features set, excellent performance, and very low cost. Other mini-ITX motherboard could be substituted.

The robot is based on Microsoft's Windows 7 booting from a 2.5" hard disk drive. If the robot needs to operate in a rough environment, the drive can easily be substituted for a Solid State Disk drive. Other OS's like Linux can also be used in place of Windows if needed. The Robot described in this article will use a WiFi connection to send video, audio, and telemetry operation, while accepting remote control commands from an operator who can be located virtually anywhere in the world.

WiFi Robot in Action

See the first steps of a WiFi robot similar to the one described here.

Mechanical Construction

This robot is made of an easy-to-build frame, using various lengths of L and I shaped aluminum extrusions. These extrusions are available in most hardware stores and require little more than cutting, filing and drilling. The two bottom extrusions that hold the motors require special attention and extra cutting to allow precise mounting of the motors. Assembly is done for the most part using pop rivets. Click on play below to see an animated 3D view of the chassis construction.

Hardware needed:

  • L and I shaped aluminum extrusions, as shown in CAD drawings
  • ¼ x 0.5” screws
  • ¼ retaining washers
  • 1/8 diameter x ½ long, and 1/8 diameter x ¾ long pop rivets
  • 4 x DC motors-NPC 2212 with 4 x 8" wheels

Follow these steps to assemble the robot’s chassis:

1- Download the wifi robot CAD files. Parts and 3D assembly drawings have been created using PTC ProEngineer. DXF and PDF versions are included in the package.

2- Cut and drill all the L and I bars according to the plans

3- Position the motors on the left and frame. Cut the the motor axle on the unused side.

4- Screw the motors in place. Verify that the extrusions are at a right angle and tighten the screws. Insert rivets in the provided holes to strengthen the structure. 

5- Position the two battery holding rails as show on the drawing. Use the actual batteries to ensure that you have the right width. Fasten with rivets. Position and fasten the two small L shapes at each end of the batteries to prevent them from sliding from side to side.

6- Position, and fasten the two bottom transversal bars, and the 4 risers at the corner

7- Position and fasten the L bars to shape the motherboard stand.

9- Built the top frame by positioning the four L extrusions at a right angle and fastening with rivets. The top frame, which will not be screwed or riveted, will be placed on top of the raiser for easy removal.

10- Cut a piece of clear Plexiglas the size of the outer upper frame. Fasten in place using rivets.

Tools needed:

  • Metal saw and file
  • Electric drill with ¼” and 1/8 drill bits
  • Rivet gun
  • Right angle


Mounting the Electrical Components

Components Needed

AX3500 and Intel Mini ITX mainboard side by side
AX3500 and Intel Mini ITX mainboard side by side

Mounting Instructions

1- Motors should be mounted on the frame before assembling the electronics.

2- Position the controller as shown on the CAD files. Insert standoffs and/or nylon washers between the aluminum bars and the controller. Make sure that the controller PCB is not touching any metal frame parts. Position the controller as shown on the drawing. Bolt the controller using screws and nuts with a nylon end to prevent the screws from becoming loose due to vibrations

3- Place the batteries inside the rail. If needed, add a strap to hold them in place, especially if the robot is expected to move over rough terrain. Note that battery models and brand may be substituted. Beware however, that batteries must go in pair in order to generate 24V. Battery holding rails may been to be repositioned if battery dimensions are different.

4- Please the 2.5” disk drive on the bottom frame as shows on the CAD file. Insert standoffs and/or nylon washers between the frame and the drive.

5- Position Power Supply as show on drawing. Mark position of the holes. Drill two holes and tap two threads. Insert riser. Place power supply and screw in place.

6- Place the mainboard at the desired position on the stand. Insert standoffs. Place motherboard on top of standoff and screw in place. Make sure that no pads on the motherboard PCB makes contact with any of the metal chassis parts.

7- The drawings do not show mounting hardware for the camera or other user accessories.

9- Drill holes and mount Master Switch, Motor Controller Switch, Mainboard power switch, and on the side of the bottom-right L shaped extrusion.


Wiring the Robot

Hardware needed:

  • Red and black AWG12 wires
  • Miscellaneous wires
  • Connecting electrical nuts

Examine and follow the electrical wiring diagram available here. Connect the wires and components as indicated. Below are a few useful explanations and instructions.

Battery and Power Connections

- The robot uses two 12V batteries wired in series in order to create a 24V supply. A 24 volt supply will ensure continuous operation for both the motherboard and the controller even as the batteries are partially depleted. Beware that the controller will stop issuing power to the motors when voltage drops below 11V.

- A master switch is used to cut power to the controller and to the mainboard at the same time. It is safe for the motherboard and for the controller to have the battery charger connected while the master switch is on.

- A two way switch should be used to control the power of the controller. Using such a switch, the controller can be independently turned off or on.

- A power converter is used to convert the battery voltage into a stable ATX compatible supply. The converter will accept a wide input voltage range and so ensure continuous operation of the motherboard whether the batteries are fully charged or partially depleted. This converter also generates the voltage needed for the hard disk drive. The converter's 5V output is also used as the power supply for the RC servos that are connected to the controller.

- A push button switch must be provided for powering the motherboard on and off. The switch can be configured to put the motherboard to sleep or to shut it down.

- Connect a LED on the motherboard header that is provided for this purpose. The LED will allow you to monitor the status of the motherboard whether it is On, Sleeping, or off.

Controller & Motor Connections

- Wire each motor pair in parallel and bring to the controller using Fast-on terminals. The one motor pair to M1+ and M1-. Connect the other motor pair to M2+ and M2-.

- Split the +24V into two wires and bring to the two VBat terminals on the controller. Split the battery's ground wire into two wires and bring to two of of the controller's ground terminals.

RC Servos Connections

- The RC servos must be connected directly to the provided headers on the AX3500. The AX3500 provides signals for up to 8 servos.

- The power supply for the servos does not come from the AX3500. An external source must be used instead. In this application, the power is supplied from the ATX power converter's 5V output as shown on this wiring diagram.

Motherboard Connection

- Build a RS232 wire to connect the DB15 connector on the controller to the COM port header that is on the mainboard. Only 3 wires are needed to establish communication. See cable drawing. The connector 15-pin has 4 analog inputs, 2 digital inputs and 1 digital output of 2A, available for connecting additional sensors and actuators to the robot.

- A 2.5" notebook drive with SATA interface must be used connected to the motherboard. The drive can be a regular hard disk drive or a solid state disk.

- Add a WiFi interface to the motherboard. This can be done cheaply using external adapters that plug on the motherboard's many USB ports. You may select dongle type adapters or larger, more powerful adapters. The motherboard has a PCI Express Card slot which could be used to add a WiFi adapter.


Installing and Setting up the Software

Software needed:

  • Operating system (Windows7 Professional recommended). OS should includes Remote Desktop server for remote administration and Microsoft Netmeeting for video transmission
  • default Roboteq's Roborun PC utility (3.57 MB)
  • Drivers for Camera and Wireless LAN Card

The robot platform is based on the Microsoft Windows operating system. Eventually a different operating system, such as Linux, can be used, but Windows will let you get a working robot in a few hours using commercial software.

Software installation

1- Temporarily connect a mouse, keyboard and monitor to the mainboard. This will be necessary for the first part of the installation.

2- Install Windows7. You will need to temporarily connect a CDROM drive to the motherboard for this step. For more convenience, it is recommended that you do this installation of the motherboard on a bench rather than inside the robot. Install the drivers for the webcam and the wireless LAN card. You may remove the CDROM drive after this installation.

3- Set up the Wireless LAN adapter. Assign a fixed IP address to the wireless LAN card. The IP addresses must be in the same subnet as your WiFi router.

4- Enable the Remote Desktop connection server function on the robot motherboard. In Windows7, this is done from the start menu and right clicking on "System". Remote desktop will then allow you to work on the robot motherboard without the need to connect a keyboard and monitor. Launch Remote Desktop client on the operator's PC and establish contact with the robot PC.

5- Install and launch the PC utility on the robot PC. Make sure the controller is powered. The program will try to establish communication with the controller and report its software revision number. Change the settings to "RS232" in the input command mode and set the motor control mode to "Mixed". Save the settings in the controller and exit Roborun. You only need to do this configuration once. Try operate the robot by activating the utility's buttons and sliders through Remote Desktop.

6- From here on, you will no longer use remote desktop to drive the robot. Instead, you will drive the robot around by running the RobotServer utility on the Robot motherboard and the Roborun utility on the Operator PC. This configuration allows you to connect a joystick to the Operator PC. Drag a copy of the "RobotServer" program from Start>Programs>Roboteq to Start>Program>Startup. RobotServer is a small program that "listens" to the network and relays commands and data from Roborun running on the operator PC to the controller connected to the robot's mainboard. RobotServer will start automatically when the robot boots. See the user manual for more information on how to setup and operate this configuration.

7- Launch Netmeeting on both the operator and the robot PCs. Configure Netmeeting on the robot PC so it automatically accept calls. Call the robot PC from the operator PC and verify that you receive live audio and video.


Operating the Robot

Follow the instructions below to operate the robot.

Powering On

- Turn master switch on.
- Turn the motor controller switch on if you are ready to drive.
- Press the ATX power switch. The board is booting.
- Wait a couple of minutes for the boot to complete and the applications to start. Unless a monitor is attached, you will not see the boot sequence.
- You will be able to put the robot in sleep mode by keeping the master switch on, and use the ATX power switch. The controller can be left on or turned off.

Remote Administration of the robot motherboard

- Launch Remote Desktop on the operator PC.
- Connect to the robot by entering its IP address
- The operator PC now is in control of the robot's screen and keyboard.

Creating Video Link

- Launch netmeeting on operator PC. Place the robot's IP address in the address window and press the call button
- Connection will be established. The video should automatically come from robot.

Remote controlling the motors

- Launch the Roborun software on the operator PC.
- Change COM/LAN port. Select LAN and enter robot's IP address. The upper right of the Roborun screen will indicate if connected or disconnected.
- Click on "Run" tab. Click on Run button.
- If you move the cursors, the motors should move.
- If a joystick is installed, enable it by checking the joystick box. Now the motors should follow the joystick movement. The chart and display windows will show Amps consumption, voltage, temperature and other operating parameters.
- To control the RC servos, click on the RC Out tab. Move anyone of the 8 sliders to activate the corresponding RC servo.

Shutting down

- When shutting down for short periods, press the motherboard power button to put it to sleep. Then turn off the controller with its switch.
- When shutting down for extended period of time, turn the master switch off. The mainboard will need to reboot when turned back on.

Charging the batteries

- Connect a 24V battery charger where shown in the wiring diagram. It is preferable to charge the battery with the master switch off but no damage will occur if switch is on and the mainboard is running. When using a 12V charger, connect the charger to only one battery at the time and with the master switch off.

Power Consumption

The table below is an estimate of the Robot's current consumption when the motors are not running. The values are based on a 24V power supply voltage. Consumption will be higher at a lower voltage.

MotherboardControllerTotal Consumption
Sleep Off 60mA
On Off 800mA-1200mA
Sleep On 160mA
On On 900-1300mA

Improving your Robot

The Roboteq WiFi robot platform described here must be considered as a basis upon which to add functionality and intelligence. The Intel D510MO mainboard has sufficient computing horsepower to perform extremely sophisticated pattern recognition, navigation and other functions needed for truly autonomous operation. The list below is a sample of natural enhancement to this robot:

- Eliminate the hard disk by booting the OS from an USB pen drive or Flash card.
- Use and open source Operating System such as Linux.
- Add navigation instruments such as GPS, compass, and sonar.
- Do image recognition.
- Add speech and sound via the Mainboard's sound card.
- Carry and operate a robotic arm.
- and more.


The information included in this page, including CAD drawings and wiring diagrams, are copyrighted by Roboteq. It is released by Roboteq to the public domain and requires no licensing for its use, whether commercial or private.

The information is provides as-is with no warranty of any kind for any purpose.

Go to top