Summary of DJ Multitouch — A FTIR Touchscreen Device Using Atmega644
The DJ Touch is a low-cost, portable turntable touchscreen that utilizes Frustrated Total Internal Reflection (FTIR) technology. It employs an ATMEGA644 microcontroller to process image data from a CMOS camera and infrared LEDs, translating finger movements on an acrylic surface into DJ deck controls via serial communication. The system integrates an LED display for visual feedback and uses Virtual DJ software to emulate scratching and playback functions.
Parts used in the DJ Touch:
- C3038 Camera
- Atmega644 Microcontroller
- Infrared LEDs
- Bulk LEDs
- MAX7219 Driver
- CD4516BE Counter
- 1 inch 6x6 inch Acrylic Sheet
- Two-way Mirror
- 790nm Filter
- 16 MHz Crystal Oscillator
- Prototype Board
- Solder Boards
- 9V Power Supply
- Resistors and Capacitors
- Scrap Wood and Metal
Overview
The DJ Touch is a portable turntable touchscreen and interactive LED display.
Our end goal was to produce a low cost touchscreen device, and demonstrate its application in a common consumer application. Out of an interest in electronic music, and with the knowledge of deejaying’s close roots to electronics, we decided to develop a touch screen turntable.
The device relies on the concept of frustrated total internal reflection (FTIR) to detect user motion on an acrylic surface. Using a camera system and infrared LED setup, these blobs of infrared light are read into the microprocessor and detected using a dynamic thresholding algorithm. The data is streamed over serial using the FT232R USB connection and a compatible program on the user interface emulates the turntable motion. We have also written up additional code that uses the blob tracking for simple mouse movement. Using MATLAB’s powerful image processing library, more complex interactions can be coded.
High Level Design
There has been a plethora of touchscreen gadgets in today’s market of consumer electronic goods. Smart phones and portable entertainment devices are expected to ship with some form of touch screen functionality. In particular, several multitouch projects have been successfully completed leveraging on the FTIR effect. These include and have served as an inspiration for our build. DJTouch demonstrates the ability to build an interactive display using minimal processing resources for low cost.
At the heart of the device is an ATMEGA644 which is connected to a CMOS camera and a LED driver. With only a RS232 serial port to communicate data to the computer, we had to push most of the image processing to the ATMEGA644, outputting only a stream of bits representing the background/foreground data of the screen. The LED display allows the user to confirm that the touch screen is functional, if the computer is not used.
On the computer end, there is a serial read-in code that translates the binary bits of information into a full image. Applications can be developed to use the data to track motion across the screen, or as demonstrated in the main DJ application.
The system relies on the program Virtual DJ Home, which simulates a DJ deck. Configuring the appropriate keyboard inputs to the turntable actions, the user’s rotational motion across the surface of the acrylic is translated into rotations of the turntable. This allows the user to “scratch” music. There is also an additional play/pause button, located in the center of the touch screen.
The project relies on I2C, SPI and serial communication protocols. I2C is used to program the camera to allow for optimal image capture of the touchscreen. SPI is used to drive the LED display, controlling up to a maximum of 64 LEDs using only four input wires from the microcontroller. The serial communication data stream is custom formatted in order to minimize the time needed to send data over the connection.
With the limited bandwidth of the serial port connection, our device speed is limited. With the addition of processing from the MATLAB front end, the low sampling rate can be compensated for, applying correlation to determine user movement. Using a reduced version of the code, which only outputs rotational speed, we can speed up the rate of image sampling and increase the sensitivity of the device. For demonstration purposes, however, we felt that streaming the full image was essential to show the proper operation of the touchscreen.
As the device’s sole output is through the serial port connection, there were no applicable standards by which our device had to conform.
To our knowledge, while the term “multitouch” is patented by Apple, the concept of FTIR to track user finger presses across a surface predates the patent application.
Hardware
Our device consists of a touchscreen and a LED display. As a significant part of the project required setting up the FTIR touchscreen, we have documented the process of obtaining blobs on the acrylic surface. In addition, we will discuss hardware concerns regarding the LED matrix build and the physical camera characteristics.
FTIR Screen
Frustrated Total Internal Reflection is a multi-touch methodology developed by Jeff Han (Multi-Touch Interaction Research, 2006). Light directed from a material of a smaller refractive index to a material with a higher refractive index at an angle above that of a critical sum will be reflected totally. Light from the infrared LEDs directed into the acrylic is trapped in the material. When the user presses on the surface, the refractivity of the user’s finger frustrates the light rays, breaking the TIR effect. This is visible as bright blobs on the camera.
Parts List:
| PART | COST | SOURCE |
|---|---|---|
| Total | $73.60 | — |
| C3038 Camera | $30.00 | Electronics123 |
| Atmega644 | $8.00 | lab |
| Prototype board | $8.00 | lab |
| Infrared LEDs (12, at $0.3 unit cost) | $3.60 | eBay |
| Bulk LEDs (60, at $0.05 unit cost | $3.00 | eBay |
| Solder board 6 inch (2, at $2.50 unit cost) | $5.00 | lab |
| Small solder board | $1.00 | lab |
| 9V Power Supply | $5.00 | lab |
| 16 MHz Crystal Oscillator | — | lab |
| various resistors, capacitors | — | lab |
| MAX7219 | (sampled) | MAXIM |
| CD4516BE | $0.00 | lab |
| 1″ 6″x6″ acrylic | $10.00 | jmkdisplays |
| Two-way mirror (overstock piece) | $4.00 | Two Way Mirrors |
| Mirror | $0.00 | (owned) |
| 790nm filter | (on loan) | Prof Pollock |
| Scrap wood, metal | $0.00 | — |
For more detail: DJ Multitouch — A FTIR Touchscreen Device Using Atmega644
-
How does the device detect user motion?
The device relies on frustrated total internal reflection where infrared light trapped in acrylic breaks when a finger touches the surface, creating visible blobs detected by a camera. -
What microcontroller powers the system?
The heart of the device is an ATMEGA644 connected to a CMOS camera and a LED driver. -
Can the device function without a computer?
Yes, the LED display allows the user to confirm that the touch screen is functional even if the computer is not used. -
Which software simulates the DJ deck?
The system relies on the program Virtual DJ Home to simulate a DJ deck and translate rotational motion into music control. -
How are the LEDs driven by the microcontroller?
SPI is used to drive the LED display, controlling up to a maximum of 64 LEDs using only four input wires from the microcontroller. -
What algorithm detects the touch points?
The blobs of infrared light are read into the microprocessor and detected using a dynamic thresholding algorithm. -
Is multitouch patented for this specific concept?
While the term multitouch is patented by Apple, the concept of FTIR to track user finger presses predates that patent application. -
What limits the device speed?
The limited bandwidth of the serial port connection restricts the device speed.

