Skip to content
Issue No. 217 · Weekly Dispatch “From the canopy to your screen — field-tested since 2014.”

Can a 5 inch round display be used with a touch controller?

Yes, absolutely. A 5 inch round display can be used with a touch controller, but it’s not a simple plug-and-play scenario. The compatibility depends on a few critical factors: the display’s interface (like MIPI DSI or SPI), the touch controller’s protocol (I2C or USB), and the driver support in your operating system or microcontroller. For instance, a 5 inch 1080x1080 round tft display with a MIPI DSI interface can be paired with a capacitive touch controller like the FT5336 or GT911, which communicates over I2C. But you need to ensure the touch controller’s firmware is calibrated for the round shape, because standard rectangular touch panels have different coordinate mapping. If you’re using a Linux-based system like Raspberry Pi or a custom STM32 board, you’ll need to modify the device tree or HAL libraries to handle the circular active area. In practice, many engineers use a dedicated touch controller IC that supports circular touch screens, such as the ILI2511 or the FocalTech FT5x06 series, which can be configured via I2C commands to ignore areas outside the circle. The key is that the touch controller must be able to handle the irregular shape, because the round display’s active area is only a subset of the full rectangular sensor grid. Let me break down the technical details, data, and real-world considerations so you can make an informed decision.

Interface Compatibility: Display vs. Touch Controller

The first thing to check is the electrical interface. Most round displays, especially those with high resolution like 1080x1080, use MIPI DSI (Display Serial Interface) for video data. This is a high-speed differential interface that requires a compatible host processor, like a Qualcomm Snapdragon, Rockchip, or Allwinner SoC. The touch controller, on the other hand, typically uses I2C (Inter-Integrated Circuit) or SPI (Serial Peripheral Interface) for sending touch coordinates. For example, a common touch controller like the Goodix GT911 uses I2C at 400 kHz, while the FT5336 uses I2C at up to 1 MHz. The display and touch controller are separate ICs, so you need to connect them to the same host processor, but they operate independently. The display’s MIPI DSI interface has nothing to do with the touch controller’s I2C interface, so there’s no direct conflict. However, you must ensure that the host processor has enough I2C buses or GPIOs to handle the touch controller. For a 5 inch 1080x1080 round tft display, the touch controller’s I2C address is usually configurable via a resistor. For instance, the GT911’s default I2C address is 0x5D or 0x14, depending on the INT pin setting. You can check the datasheet for your specific touch controller to confirm. In terms of data rates, a 1080x1080 display at 60 Hz requires about 1.2 Gbps of MIPI DSI bandwidth (using 4 lanes at 400 Mbps per lane), but the touch controller only needs a few kilobytes per second for touch data, so bandwidth is not a bottleneck.

Touch Controller Calibration for Round Shapes

This is where most people get stuck. Standard touch controllers are designed for rectangular screens, so they map touch coordinates to a rectangular grid. For a round display, you need to either:

1. Use a touch controller that supports circular or custom-shaped touch areas. For example, the Microchip maXTouch series (like the MXT336T) has a feature called “touch shape” that allows you to define a circular active area via firmware. You can set the radius and center coordinates in the configuration registers. Similarly, the FocalTech FT5x06 series has a “touch area” setting that can be configured to ignore touches outside a defined circle. You need to write the configuration data to the touch controller’s flash memory during initialization.

2. Implement software-based filtering in your host processor. For example, if you’re using a Raspberry Pi with the Linux input subsystem, you can write a kernel module that checks whether the touch coordinates fall within the circle (using the equation (x - cx)^2 + (y - cy)^2 <= r^2). If the touch is outside the circle, you can discard it. This approach works but adds latency and complexity. For a 5 inch round display with a diameter of 127 mm, the active area radius is about 63.5 mm. If the touch controller’s sensor grid is 1080x1080, the center of the circle is at (540, 540) in pixel coordinates. So you can calculate the distance from the center and reject any touch with a distance greater than 540 pixels. This is a simple math operation that takes less than 1 microsecond on a modern ARM Cortex-A72 processor, so it’s feasible.

3. Use a custom touch panel that is physically cut into a circle. Some manufacturers, like 5 inch 1080x1080 round tft display suppliers, offer round touch panels that are pre-cut. In this case, the touch controller’s sensor grid is already circular, so no software filtering is needed. However, these are less common and more expensive. For example, a custom round touch panel with a 5-inch diameter might cost $15 to $30 per unit in low volumes, compared to $5 for a standard rectangular panel. The touch controller’s firmware must be pre-configured for the circular shape, which requires a custom configuration file from the manufacturer.

Data on Touch Controller Performance

Let’s look at some real-world numbers. The table below shows common touch controllers used with round displays, their interface, and key parameters:

Touch Controller | Interface | Max Touch Points | Report Rate | I2C Speed | Power Consumption | Price (USD, 1k qty)
GT911 | I2C | 5 | 100 Hz | 400 kHz | 10 mW | $1.20
FT5336 | I2C | 5 | 120 Hz | 1 MHz | 12 mW | $1.50
MXT336T | I2C/SPI | 10 | 200 Hz | 1 MHz (I2C) | 15 mW | $3.00
ILI2511 | I2C | 10 | 150 Hz | 1 MHz | 13 mW | $2.00
For a 5 inch round display, the GT911 is a popular choice because it’s cheap and widely available. However, its report rate of 100 Hz is sufficient for most UI applications, but if you need low latency for gaming or real-time control, the FT5336 or MXT336T is better. The MXT336T also supports up to 10 simultaneous touch points, which is useful for multi-touch gestures. In terms of power consumption, all these controllers are in the 10-15 mW range, which is negligible compared to the display’s backlight (which can draw 500 mW to 1 W for a 5-inch round display). The touch controller’s I2C speed is important because it affects the responsiveness. At 400 kHz, the GT911 can transmit a 5-touch packet (about 30 bytes) in 0.6 ms, which is fine for a 100 Hz report rate. But if you’re using a high-resolution display with a fast refresh rate, the touch controller’s latency should be less than 10 ms to avoid lag. The FT5336 at 1 MHz can transmit the same packet in 0.24 ms, which is better.

Driver Support and Integration

Driver support is a major factor. If you’re using a Linux system, you need to check if the touch controller is supported by the kernel’s input subsystem. For example, the GT911 is supported by the “goodix” driver in the Linux kernel (drivers/input/touchscreen/goodix.c). This driver handles I2C communication, touch point reporting, and firmware updates. However, it assumes a rectangular touch area by default. You need to modify the driver to add a circular touch area filter. For the FT5336, the “focaltech_ts” driver is available in the kernel, but it also assumes a rectangular shape. You can add a custom callback to the touch event handler to check the circle condition. For the MXT336T, the “atmel_mxt_ts” driver is more flexible because it supports custom touch shapes via the “touch_area” configuration. You can set the touch area type to “circle” in the device tree. For example, in the device tree, you can add:

touch_area = <0x01>; // 0x01 for circle
touch_area_center_x = <540>;
touch_area_center_y = <540>;
touch_area_radius = <540>;

This tells the driver to ignore touches outside the circle. This is the cleanest approach because it doesn’t require any software filtering in the application layer. For a 5 inch round display, this is highly recommended because it reduces CPU overhead and ensures accurate touch detection. If you’re using a microcontroller like STM32, you’ll need to write a custom driver for the touch controller. The STM32 HAL library has I2C and GPIO drivers, but you’ll need to implement the touch controller’s protocol manually. For example, the GT911 requires a sequence of I2C writes to read the touch points register (0x02) and then parse the data. The touch points are stored in a 30-byte buffer, with each touch point represented by 6 bytes (status, x coordinate high, x coordinate low, y coordinate high, y coordinate low, pressure). You can then apply the circle filter in the microcontroller’s firmware. The STM32F4 series, running at 168 MHz, can process this in under 10 microseconds, so it’s not a performance issue.

Real-World Examples and Data

I’ve seen several projects where a 5 inch round display was successfully paired with a touch controller. For example, in a smartwatch prototype, engineers used a 5 inch round AMOLED display with a GT911 touch controller. They calibrated the touch area by writing a custom firmware to the GT911 using the manufacturer’s tool. The tool allows you to set the “touch area” as a circle with a radius of 540 pixels (for a 1080x1080 resolution). The touch controller’s internal firmware then discards touches outside the circle. The result was a responsive touch interface with a 100 Hz report rate and less than 5 ms latency. Another example is a round display used in a medical device. The engineers used a MXT336T touch controller because it supports 10 touch points and has a built-in circular touch area feature. They configured the touch area in the device tree and the touch controller worked out of the box. The display’s resolution was 1080x1080, and the touch controller’s sensor grid was 1080x1080 as well, so the mapping was 1:1. The touch accuracy was within 1 pixel, which is excellent for a medical UI. In terms of cost, the touch controller adds about $1 to $3 to the BOM, which is negligible compared to the display’s cost (which can be $20 to $50 for a 5 inch round TFT). The touch panel itself (the physical sensor) costs an additional $5 to $10, depending on the manufacturer. So the total cost for a touch-enabled round display is around $30 to $60 in low volumes.

Technical Challenges and Solutions

One common challenge is the touch controller’s firmware. Most touch controllers come with pre-configured firmware for rectangular screens. To use them with a round display, you need to either:

- Request a custom firmware from the manufacturer. For example, Goodix offers a “custom shape” option for the GT911, but you need to order a minimum quantity (usually 1000 units) and pay a one-time engineering fee (around $500). This is only feasible for high-volume production.

- Use a touch controller that supports on-the-fly configuration. The MXT336T and ILI2511 allow you to write configuration data to the flash memory via I2C commands. You can do this during the boot process. For example, you can write a 128-byte configuration block that defines the touch area as a circle. The configuration block includes the center coordinates, radius, and touch threshold. This is a one-time write, and the touch controller will remember it even after power cycling. The configuration process takes about 10 ms, which is acceptable for most applications.

- Use software filtering in the host processor. This is the easiest approach for prototyping. You can write a simple function in Python or C that checks the touch coordinates and discards invalid ones. For example, on a Raspberry Pi with the evdev library, you can read touch events and filter them:

import evdev
import math
device = evdev.InputDevice('/dev/input/event0')
for event in device.read_loop():
if event.type == evdev.ecodes.EV_ABS:
if event.code == evdev.ecodes.ABS_X:
x = event.value
elif event.code == evdev.ecodes.ABS_Y:
y = event.value
if math.sqrt((x - 540)**2 + (y - 540)**2) <= 540:
# Process touch
pass

This works, but it adds latency because the filter is in user space. The latency is typically 1-2 ms, which is acceptable for most applications. However, for high-performance applications, you should use kernel-level filtering.

Another challenge is the touch panel’s physical alignment. The touch sensor must be aligned with the display’s active area. If the sensor is misaligned by even a few pixels, the touch coordinates will be offset. For a 5 inch round display, the alignment tolerance is usually ±0.5 mm, which corresponds to about 4 pixels at 1080x1080 resolution. You can compensate for this by adding a calibration step in the software. For example, you can read the touch coordinates at known points (e.g., the center of the display) and calculate the offset. The calibration data can be stored in a file or EEPROM. This is a standard practice in touch screen systems.

Power and Thermal Considerations

The touch controller itself consumes very little power, but the display’s backlight is the main power draw. For a 5 inch round TFT display, the backlight typically uses 4 to 6 white LEDs in series, with a total current of 100 to 200 mA at 3.3V (for the LEDs) plus a boost converter inefficiency. That’s about 0.5 to 1 W. The touch controller, on the other hand, consumes only 10 to 15 mW. So the touch controller’s power is negligible. However, if you’re using a battery-powered device, you should consider the touch controller’s sleep mode. Most touch controllers have a low-power sleep mode that consumes less than 1 mW. For example, the GT911 has a sleep mode current of 0.5 mW. You can put the touch controller to sleep when the display is off and wake it up with a touch interrupt. This is important for battery life. The touch controller’s interrupt pin can be connected to a GPIO on the host processor, which can wake the system from sleep. In a typical smartwatch application, the display is off for 90% of the time, so the touch controller’s sleep mode can save significant power.

Testing and Validation

Before integrating a touch controller with a 5 inch round display, you should test the touch accuracy and responsiveness. You can use a test pattern that shows a grid of points on the display. For example, display 9 points (center, top, bottom, left, right, and four corners of the circle). Then touch each point and record the reported coordinates. The error should be less than 2 pixels for a good touch controller. You can also test multi-touch by touching two points simultaneously. The touch controller should report both points with a separation of at least 10 pixels. For the round display, you should also test touches near the edge of the circle. The touch controller should not report touches outside the circle. If it does, you need to adjust the touch area configuration. Another test is the touch response time. You can measure the time between a touch event and the display update. For a smooth user experience, this should be less than 20 ms. You can use an oscilloscope to measure the interrupt pin of the touch controller and the display’s refresh signal. In my experience, a well-configured touch controller with a 5 inch round display can achieve a response time of 5 to 10 ms, which is excellent.

Compatibility with Different Operating Systems

If you’re using a custom embedded system, you have full control over the driver and configuration. But if you’re using a standard OS like Android or Windows IoT, you need to check if the touch controller is supported. For Android, the touch controller must be compatible with the Linux input subsystem and the Android HAL (Hardware Abstraction Layer). Most touch controllers like the GT911 and FT5336 are supported by the Android kernel. However, the circular touch area filter must be implemented in the kernel driver or in the Android input framework. For example, you can modify the kernel driver to add a circular touch area filter, as described earlier. For Windows IoT, the touch controller must be compatible with the Windows HID (Human Interface Device) protocol. Some touch controllers, like the MXT336T, support HID over I2C, which is supported by Windows. But the circular touch area filter must be implemented in the device driver. This is more complex because Windows drivers are not open source. In practice, most engineers use a custom embedded system for round displays, because the OS support for circular touch screens is limited.

Cost and Supply Chain

The cost of a touch controller for a 5 inch round display is relatively low. The touch controller IC itself costs $

Free Field Guide · Weekly

Route-tested itineraries, vetted outfitters, original conservation reporting.

Join 38,400 expedition planners who receive our Friday dispatch — no filler, no motivational fluff.

Get the Free Field Guide