Touch Screen Application Development on the Stellaris LM3S9D96

Supervisor: Mr.Sai Kumar Vaddadi

Period of Internship: May 2012-July 2012


Red leaf The Central Electronics Engineering Research Institute, Pilani is one of the pioneer technological research centers in India. During my second year of undergraduate studies, I went to the agri-electronics department of CEERI, for a two month internship. The agri-electronics group concentrates on using embedded systems for enabling smart agricultural systems in India. As such much of their work is based on microprocessors and micro-controllers. There was a new and advanced micro-controller board which had arrived in the department, the stellaris LM3S9D96. So we set about understanding the new board.

We were two students working in the agri-electronics group, and for both of us, it was the first time we were having a hands on experience with such a development board. So the intial weeks were spent in understanding the innumerable peripherals of the board, like the timers, the analog to digital converter, the UART modules, etc. At the same time we were learning to code in embedded c language, to load our own programs.

As time progressed, we started playing with the touch screen LCD and running programs that could display things on the touch-screen. We learnt about the three layers of the graphical library, namely,the display driver layer, the graphics primitives layer and the widget layer. We also created programs to understand the tree structure of widgets and how commands can be passed from the parent to the child widget, while the inputs are processed starting from the children and going up the tree.

the final application: In the fnal days of the internship, we put together our knowledge about the different perpherals and built a graphical application. This application basically reads values from the on-board temperature sensors, using the analog to digital converters. We put our knowledge of interrupt handling to good use here. After reading the sensor value, it is normalzed on a scale. This scale is set by the user, based upon certain parameters like gain, and offset value. This normalised value is then plotted on a graph. The graph plot was a moving graph, showing the most recent 20 points at any time. The appliacation also included the option of viewing the graph plot in full screen, while statiscal quantities, like mean, median, maximum and minimum were displayed below. The video above shows the working of the applcation on the touch screen of the stellaris LM3S9D96 board.