Reading Time: 4 minutes

This project illustrates a very new and a unique method for controlling a multi-purpose robot. This method can actually be used in the control of high functionality drones.

In very simple words if I have to explain this I will say that this method allowed me to control my bot which has a Wi-Fi connection available in its area and on the other hand I am sitting in some corner of the world with my laptop. I can view the surroundings as well as the movements of my robot and also control them from my laptop.

So now following are the essential pre-requisites that you may require for doing this project:

  • Good knowledge of microcontrollers
  • Web-development, basics of making a website and also JavaScript.

Through this project I have actually demonstrated an example of the concept of ‘Internet of Things’ (IoT).

Here I have used a device called the SPARK core which is nothing but a combination of a 32-bit MCU (STM32F4) and Wi-Fi module (CC3000) which is interfaced with a basic function robot and an IP-Camera installed on it. Apart from this we had made a website on which we can see the live video feed of the IP-camera installed on the bot and it was through the same website that we sent our instructions to it.

So what the user needs to do is just send his instructions through the website and then through the internet, then the SPARK core (which is already connected to the Wi-Fi) would receive these commands and perform its functions accordingly.

At the same time, the IP-camera which is also connected to the Wi-Fi along with the spark core gives back the live video feed to the website. This IP camera had two servo motors inside it such that it could move about its own axis (360deg) and also 180deg from the surface level. Also it had night vision enabled which increases the bot’s usability.

The heart of this project is the SPARK core on which if you need more detailed information you can find it on https://www.spark.io/ . Now apart from all the technical superiorities that this device has, the main innovative thing about SPARK is the spark cloud which is allotted to every core and is unique for each of them. This spark cloud is nothing but a virtual space or in other words it acts as a control room for our spark core. This control room (spark cloud) can be accessed through the internet if the unique spark core ID and its access token (password) of that particular core is known to us. Each spark core coordinates with its own cloud through the Wi-Fi connection. The spark cloud has a unique way of working. We can write and compile the programs that we want to execute on the core through the cloud. All the programs can be burned directly to our spark core from this spark cloud. Now to access and make changes in the programs in our spark cloud there is a prebuilt online API (application programming interface) developed by the spark community. So the program can be written online on the API on a PC and then the code is transmitted to the core. (Note: for this the core should also be online and connected to the cloud) This gives a huge benefit compared to other systems where we have to manually burn our code onto the microcontroller. Hence the programs can be edited even if we are far from our robot making our system dynamic in true terms. Regarding the language for our coding the easiest Arduino is compatible for the core. Their predefined libraries have to be used at numerous instances. Like for example if some of the functions are required to be available throughout the API (i.e. not just the core). These functions are declared as “Spark.function”.


Initially when the spark core connects to the Wi-Fi, it should be done manually from a PC using the USB port that is available in the core. But once if the spark core is synchronised with a Wi-Fi network then we need not repeat the process again. Then only the core needs to be powered up and it will automatically connect itself to the cloud and it will start syncing with the instructions that have been given through the spark cloud.


Now coming to the website part, the movements of the bot are controlled by the direction keys of your keyboard. The backhand of the website (JavaScript) was designed in such a fashion that the controlling stays very intuitive and you may feel like you are playing a real life racing game. What happened in the background was as soon as the key is pressed, in the background a special type of http request is fired (for spark cloud). Whenever this kind of http request is fired, some predefined function from the program on the SPARK cloud is called that we had initially written on the API for the further operations. The SPARK cloud in turn commands the core which is online to move the bot in some direction. Hence when such multiple http requests will keep getting fired to the spark cloud (since we are constantly pressing the keys), the cloud will constantly send the corresponding instructions accordingly to the spark core to move the bot in the respective directions.

This system can have a wide range of applications in military applications, surveillance purposes, industries, etc. wherein with some safety modifications we can even send this robot in inhumane conditions.

This project was done by me for a firm “GlowLogic Media Pvt Ltd” in Mumbai and also I had help from two of my colleagues who had handled the web-development part.

Leave a Reply

CEV - Handout
%d bloggers like this: