Thin Client using Arduino

Arduino, being a resource restricted microcontroller(with 32KB Flash and a 2KB SRAM), can not be used as an SSH client. I will enhance the capabilities of Arduino by simulating remote server access through it. On the server side, there will be a continuously running python script that will listen and respond to the requests generated by the Arduino. This python script will actually be a client for the host machine but will act as a server to the remote arduino client sending requests.
Hardware Components
VGA Monitor
X 1
PS2 Keyboard
X 1
Arduino uno r3
X 1
node mcu
X 1
Ethernet Shield
X 1


A variety of issues are resolved and challenges are overcome through IoT solutions, in the present blooming IoT world. The hardware, especially the microcontrollers used for the same, also vary as per the requirements. There are many different requirements such as the minimum processing power, Flash memory and RAM needed; the number and type of interfaces required; size of
microcontroller; and finally the powering source of the microcontroller. With the increase in these requirements, the functionality and services of the microcontrollers increase and so does their respective prices.


**************************************PROBLEM DEFINITION*****************************************

Accessing a remote server is an application which many of the techies use on a daily basis. From accessing files from your computer remotely to controlling the lights in your home, remote server access is the need of the hour. Apart from these applications, in companies (especially the ones dealing with cloud technologies), whether big and small, large number of thin client machines are deployed. Raspberry pi is a common microcontroller, often used by small companies and other companies whose functionalities are minimal. And apart from these companies, many individual techies use these systems discussed above. So, there are cases where the requirements are minimal such as monitoring remote servers, accessing files from a remote machine or server and some other tasks like using processing power of high end virtual machines to execute low configured client machine’s requests. Today, in most cases, people use decently configured machines at the client side, regardless of the need.

We plan to create a very low cost alternative for the same using arduino microcontroller as the client itself.

*********************************************Existing System***********************************************
High configured machines are used at client side even for some basic functionalities as discussed above. This current situation exists because of the absence of any feasible alternative solution except using the raspberry pi or orange pi microcontrollers. But these
microcontrollers are again not very economic in comparison to the arduino microcontroller.
Talking about the Arduino uno r3 microcontroller, it features a 32KB Flash and a 2KB SRAM which is enough to serve its own specific purpose. But altogether it is a resource restricted device with a limited number and type of operations that it can perform. For
instance, one can not access a remote server using the Arduino.

**************************************METHODOLOGY PROPOSED***************************************
The client side will contain solely the arduino uno r3 and nothing else. VGA monitor andPS2 keyboard will be used as an interface medium to communicate with the Arduino Device. The arduino will contact the server using http and mqtt protocols over the network to send (and receive) requests (and results).On the server side, the continuously running Python script will listen and respond to the requests generated by the Arduino. This python Script will actually be a client for the host machine but will act as a server to the remote Arduino client. Basically, the python script will function as a moderator for the host machine and arduino.
● This system will provide remote server access using just Arduino as a client, thus minimizing the expense of high configured client hardware.
● The solution is generic as it is not restricted to arduino and can be used with
any microcontroller.
● This will enhance the ability and functionalities of the arduino microcontroller.

****************************************SCOPE OF THE PROJECT**************************************
The scope of this project is to open doors to new applications for the arduino microcontroller and provide more economic alternatives to some current services namely; monitoring remote servers, accessing files from a remote machine and controlling shells of high end virtual machines. Also, the solution is not limited to just the arduino microcontroller. It can be used with any microcontroller regardless of their configuration.

Video Link:



Please Login to comment
Notify of