XBot – a mobile robot with unlimited potential!!

The creation of XBot is inspired from the on road vehicles, the idea of XBot to lift object with a gripper is derived from tractor. The additional function of sparkling LEDs and siren on Xbot is to simulate the Police car light and siren.


The creation of XBot is inspired from the on road vehicles, the idea of XBot to lift object with a gripper is derived from tractor. The additional function of sparkling LEDs and siren on Xbot is to simulate the Police car light and siren.

1.0 Introduction…


As for the capabilities for XBot to do line following will be another interesting idea to be implemented in our daily life. Just imagine in future, we will have our own line following vehicle like  in the movie “WALL-E”. Wow!! How wonderful it can be!! Let’s see a introduction video…..

But wait!! That’s all XBot can do? No no no, with an embedded system, Interface Free Controller (IFC), which offer interface free with plug and play feature, simple control with IFC function library and flexible with stackable ability, XBot can do more than that!! With this powerful yet easy to use embedded system, you can control XBot through PS2 controller, sound good? Oh, won’t it be a crazy idea to control your vehicle by PS2 controller? I bet the answer is a big “NO”! since James Bond’s car can be driven remotely(in “Tomorrow Never Dies”), why not our future car?! Yeah, it would be like a dream come true to have a car like that.

Want to see Wireless PS2 in control? Here you are:

If you want to see more, just stay tuned and scroll down (or search it from youtube), there are more videos about this robot.

Have other bombastic idea to add on XBot? Fear not, with IFC, XBot offer unlimited potential for different application, additional features can be added to this robot as easy as 1, 2, 3!

Curious on how XBot being made? Here come the description!!

2.0 Robot description



2.1 Hardware


The hardware of XBot basically is the combination of a robot base and gripper. Figures below show the structure of the robot.

Robot base in progress…..

 Yeah! The base is done, 2 LINIX brushless motor were assembled to the base. 

 Okay, continue to the other structure of the robot…

Done with the structure to support and attach additional mechanism…2 Lead Acid batteries are added to the robot as well.

Wow~~, the gripper look so solid and strong!!

Aha!! The hardware of XBot is done!!


2.2 Controller Board


IFC??What is this? Seem like another amazing technology…

The controller board of XBot is Interface Free Controller, IFCwhich offer a new concept of developing microcontroller embedded system and also robotics system. With serial communication perception, IFC offer million of possibilities to develop embedded system creatively and easily. In IFC, several cards are stacked to get a complete embedded system. The design aim of IFC is to offer 3 simple steps in microcontroller system development – Configure card’s address, Stack IFC cards, Write Program and Run!.

The main program is loaded in IFC Main Board, IFC-MB00. There are several IFC slave cards added in this robot platform, which are:

  1. Brushless Motor Controller Card (IFC-BL02) x 1, to control 2 LINIX brushless motor.
  2. Control Panel (IFC-CP04) x 1, to display program status and select different option which have been predefined.
  3. Play Station 2 Controller Card (IFC-PS01) x 1, to enable XBot being controlled by PS2 controller.
  4. Digital Input Card (IFC-DI08) x 1, to read digital sensor for line following
  5. 15A Brush Motor Driver (IFC-MD15Ax 3, to control brush motor for gripper
  6. Analog Input (IFC-AI08) x 1, to read gripper motor position by adding preset on the motor
  7. Output Card (IFC-OC04) x 1, to add extra function likes siren, fan and LEDs on robot.
  8. Extension Board (IFC-EB02x 1, to provide a platform to stack more IFC cards within a system and also provides 2 power extension to supply external power source to IFC slave card.

With the concept of interfacing card, user may stack as many as 64 IFC cards in XBot to get infinite combination of peripherals. The implementation of IFC in XBot helps to shorten the hardware development time and software development. It is so easy to add hardware and modify software even after the design had been finalize. There is no more worries on no enough I/O pin, or frustration in redesign the controller board, what need to be done is just stack a relevant slave card on XBot, configure the card address, write program and run!

Afraid that XBot will malfunction because of spoiled card? It is just a small matter, it can be repair in a very short time!! It is no need to go through the process of solder and de-solder of the spoil I/O port on a controller board, it is so easy to replace the malfunction IFC slave card with another IFC slave card.No need to take care of the messy jumper wire on the controller board, no need to worry about mis-place of the component, what need to be take it consider just the address on the IFC slave card!! All the connection of hardware from XBot to the relevant slave card will be exactly the same!!

For details of IFC cards, please refer to Cytron website at: IFC Card


2.3 Software


XBot uses MPLAB IDE as source code editor and MPLAB C18 as C compiler. The programming language for this robot is C programming. With IFC, no more frustration in determine hardware interface and configuring peripheral in software. Checking few hundreds pages of data sheet can be waved. Furthermore, with functions based software library, it save valuable time during software development by concentrating on algorithm development.No more flipping or scrolling PIC data sheet looking for ADCON0, T1CON or even TRISA. With just a programming hand book, simply copy the header file, call comprehensive functions and it’s ready to rock!

YoYo!!With IFC, writing program can never be so easy and fast…you will never know how fantastic of this development until you experience it!!

3.0 The road to XBot…


Now…let’s us follow the road of the creation of XBot!!


3.1 Free movement of XBot


With simply 3 IFC cards and some simple programming, XBot already can perform movement like forward, backwards, turn left, and turn right.

IFC attached on XBot.

It’s Show Time!!

Sample code1(Please refer to the Source Code.zip>Source code\sample code for XBot)


3.2 XBot with LCD


 By adding Control Panel to XBot, now the robot is able to offer more interesting demonstration.

The Control Panel card acts as Human Machine Interface platform. The LCD can display any program status or even sensor input. The robot now can be activated by different modes that had been predefined through 4 programmable switches on IFC-CP04.

IFC-CP04 added to XBot.

IFC-CP04 is showing the available option of XBot.

It’s Show Time!!

Sample code2 (Please refer to the Source Code.zip>Source code\sample code for XBot)


3.3 PS control of XBot


Adding IFC-PS01 to XBot

Want to control the XBot with PS2 controller? It is as easy as pie for XBot to do it!! With IFC Play Station 2 Controller card, IFC-PS01, the signal from PS2 controller can be read and process easily!! 

XBot is ready to be control by PS2 controller with IFC-PS01


Ready? Go!!

It’s Show Time!!

Sample code3(Please refer to the Source Code.zip>Source code\sample code for XBot)


3.4 Line follow of XBot


17 overview 06 cards

18 hardware sensor 

Need to do a line following robot with digital sensor? What we need is simply add a Digital Input card and 5 digital sensors to the robot. By adding IFC-DI08, the signal from digital sensor can be read without worry for the configuration and setting of I/O port in microcontroller!

 5 digital sensors are ready to be assembly on XBot…

 XBot added with line following feature!

Set the mode for line following, and…let’s go around the world with the guide of line!! Hmmm…just imagine, if our world become the world as in movie “WALL-E”, how important of line following in our daily life…

It’s Show Time!!

Sample code4(Please refer to the Source Code.zip>Source code\sample code for XBot)


3.5 XBot with Gripper


22 overview 09 cards

Adding 3 IFC-MD15A to XBot

23 hardware motor

Does not satisfied with line following? Ya, sure, we want more for the XBot, with IFC, we can always ask for more!! More function, more possibilities, more fun!! The robot not only can do line following, not only can be controlled by PS2 controller, but also can lift object and shift to other places with the gripper and 3 more Brush Motor card, IFC- MD15A. One MD15A is use to control the motor to lift the gripper, another 2 cards are play the role to control the motor for open and close the gripper.

24 robo 09 cards 

3 IFC-MD15A on IFC system..

25 robo 09 cards ext cable 1 

Cable is needed to supply power to motor that connected to IFC-MD15A.

26 robo 09 cards ext cable 2Connect the cable at IFC-PC00 (yellow circle) and IFC-EB00 (light blue circle).

27 robo 09 cards ext cable 3

3 more cable connected to IFC-EB00, the other end of the cable is connecting to 3 IFC-MD15A separately.

28 robo 09 cards hardware

The gripper is ready, 2 brush motor (in yellow circle) are to control the gripper while 1 linear actuator (in red circle) is use to control the gripper mechanism. 

29 robo 09 cards hardware 2

Alright, it’s time to test the robot with new feature!! Can XBot perform task as smooth as tractor? Let we see the video…

It’s Show Time!!

Sample code5(Please refer to the Source Code.zip>Source code\sample code for XBot)


3.6 XBot with Servo Control Gripper


30 overview 10 cards

Adding IFC-AI08 to XBot

31 hardware potential meter

Hmm…it’s seem like a bit hard to control the gripper without feedback from the motors… Not to worry, the problem can be solve in a tick!By adding Analog Input Card to the system, 1 potential meter to each motor, now the position of the motor can be read and control easily!!

32 robo 10 cards potential meter

The picture show the potential meter (in yellow circle) added to the brush motor. AI08 will read the value from the potential meter and the position of the motor can be known from the reading. So, how easy it the job to control gripper can be? Check it out from the video!!

It’s Show Time!!

Sample code6 (Please refer to the Source Code.zip>Source code\sample code for XBot)


3.7 XBot Doing Simple Task



33 overview 10 cards 

Ready to do simple task…

34 robo game field

Well, now XBot can do line following, can pick boxes, what are we waiting for?! Time to let XBot help us to do the task for picking the box and put it at the suitable place!! Just press a button, XBot will do the task automatically!!

It’s Show Time!!

Sample code7 (Please refer to the Source Code.zip>Source code\sample code for XBot)


3.8 Extra function with output card…adding extra function to robot can never be so simple!!


35 overview 11 cards

Adding IFC-OC04 to XBot

36 hardware dc fan

Thinking of make the robot more interesting like a police car by adding siren, fan and LEDs? Here comes the Output Card, IFC-OC04!! With 4 output port, adding extra function to XBot just as simple as drinking water!! Just need to make sure the polarity is connect correctly to the output port; XBot is ready to dance with siren, fan and LEDs!
37 robo 11 cards

Output Card, IFC-OC04 is added to the system. A cable is needed to supply power to the output port. XBot is ready to rock as a police car!!

It’s Show Time!!

Sample code8 (Please refer to the Source Code.zip>Source code\sample code for XBot)

Source Code.zip

Please use the IFC IIC object file in the Source Code.zip for the sample code of XBot.

__________________________The End__________________________




14 thoughts on “XBot – a mobile robot with unlimited potential!!”

  1. rebel, yup, the card size is big because we are using through hole component. In future we plan to make it smaller by using SMD component. Thanks for the comments.

  2. Oh.. now i understand the IFC controller. Nice concept and idea … very good to use in robots. But maybe the size for each card can be smaller…

  3. gaban, math.h is included for PID algorithm use.

    john, sure but you need to involve all the necessary IFC cards.

  4. john…. if you download the hex code… you need to have IFC, correct cards, correct connection of brushless motor, sensor, brush motor and etc. Because a robot is not just software, it also involve software and circuit interface.

  5. If i download the source code. Is it function as shown in the video?. can I use the standard hex file where i download it from the website?tq

Leave a Comment

Your email address will not be published.

Share this Tutorial

Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest
Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest

Latest Tutorial

DIY Interactive Robot Using REKA:BIT With Micro:bit
BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board
Pick and Send Random Meal’s Option and Locations through Telegram Bot Using Grove WiFi 8266 on micro:bit
DIY Automated Vacuum Cleaner Using REKA:BIT With Micro:bit
Rainbow Spark in Mini House using Maker Uno.
Tutorials of Cytron Technologies Scroll to Top