As part of my MTech project here at COEP, I had spent some considerable amount of time developing a ARM SBC based touchscreen web-client which can easily be customized to be used according to the desired application. (I have demonstrated its use as an information-desk and as a terminal which fetched sensor data from another ARM SBC based web-server) Throughout the development I have taken help from many Embedded Linux enthusiasts and used Open Source technologies all the way. I posted some stuff about the software design on my blog and sometimes helped some guys through mail also but never ever did I think once even to tell the world how I did it until now when I realized that ethically its wrong not to share good stuff with good guys like you. Oh! its not that I have rewritten a better Kernel than Linux, but some bits here and there are always missing when you work on embedded devices. Thats all I have to give back from the project I have done. Its small and humble but still, its for all of you to play with now. Everyone releases software but no-one releases how to build a complete device kind of thing. I guess I did it at last. Now adapt it according to your needs and create new devices. Host a Diaspora pod on the ARM server or just think crazy.
I am going to release the documentation in the form of my M.Tech. Thesis (Its pretty rough but still covers most of the work) in public domain currently and then will put up the related code/scripts etc on git very soon. The thesis contains some images and and data from various sources from the internet, cited wherever possible. Make use of it as it suits you. Only the work done my me in the thesis is under public domain. At any places if you find some data which is copyrighted, don’t use it without proper permissions.
In case you require some incentive to get interested in playing with such a device, some excerpts from the first chapter :
In this report, which supports and explains the work supplied with it, details of development of an ARM9 SBC based network capable LCD touch-screen device is explained. The device is essentially a versatile HMI module which can be customized according to the various need under various conditions with minimum effort. Stress on the human interaction, networking standards and an aesthetic look has also been given during the development of such a device.
System Overview
As a demonstration, the project has been configured and developed as a full fledged product to be used as a student information desk and feedback system. This device thus is aptly named COEP InfoCanvas. In addition to this another small ARM SBC has been configured as a web-server which serves the latest sensor values attached to the it. This sensor is accessed by the COEP InfoCanvas which displays the remote sensor’s value in text as well as a time series graph on the LCD touch-screen. The COEP InfoCanvas is driven by SBC-I which along with another SBC-II and an Info-Server is connected to the LAN/WAN. Refer Figure 1. SBC-I being network capable acts as a web client an can fetch and display on its LCD, information and other data from any server on LAN/WAN in standard web formats such as HTML and Javascript from Info-Server machine and SBC-II. The Info-Server is a Linux server grade machine which runs a web-server and supplies data to SBC-I. The SBC-II present at a remote location, is designed itself as a tiny ARM web-server which gathers sensor data through its ADC and serves it to the SBC-I for display. The system is pretty modular and uses mainly standard TCP/IP protocols to communicate and send data to and fro.
The system has been designed almost completely using FOSS tools and technologies. Right from configuring the OS to developing applications on it, Open Source tools have dominated the development of this device.