Tag Archives: touch screen

A Basic Touch-screen driver for STM32

Today I completed the basic touch screen driver. The task included Learning the "Theory of Operation" of 4 wire resistive touch screens. Learning the about the working of AD7843 touch screen controller IC. Learning about the SPI peripheral of STM32 Writing basic SPI drivers (to init, read and write to SPI1) Writing basic drivers to command and read AD7843 touch screen controller. Filtering the touchscreen data using Median Filter to remove noise. Learning about the three point touch screen calibration method. Writing a routine to convert touch screen co-ordinate (ranges from 0-4095 in X and Y direction) to LCD co-ordinates. Finally ploting a cross-hair at the touched point. The final result is shown below. Then I moved on to implement a GUI 3D Button. After that I went to try a “Free Hand Drawing” application. And what I made is shown in the video below.

Microtouch – 2.4 by Adafruit and Rossum

I found this amazing stuff today morning. I haven’t tried it yet, but It looks like a perfect solution for using TFT and Touch Screen with AVRs. I mean perfect because its more than a hardware. It promises a nice Application Framework (kind of like MFC for AVR), Low level driver for TFT and Touch screen, A windows simulator for rapid application development. TFTs and Touch screen are sold by many these days but rarely any of them are of any use (because of lack of Application framework and other tools) Will surly give it a try when it comes in stock. Microtouch Official Page At first when I saw the Video, I thought It was fake. Smooth sprite animation without using double buffering on 8 bit CPU, looks impossible? It cannot be double buffered as it needs at least 150KB of RAM but the MCU had just 2.5K! But I had to belive it as it was on Adafruit. I don’t know hows its happening, I mean how they achive such frame rates. Once I tried to interface 320×240 QVGA TFT with AVR, it was taking seconds to update the entire screen but “Microtouch” seems to update the screen @ several frames per second! Note: Images Copyright (C) www.adafruit.com