We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X

Welcome to the Graphics Guided Selection Tool. This tool helps you find a part from our broad portfolio of solutions that will fit your graphics needs. Scroll down this page to learn about basic embedded graphics concepts.

Basic Concepts


Key Graphics Definitions

Refresh Rate: The rate at which the screen is repainted. Generally 50–60 MHz is acceptable.

Frame Buffer: The place in memory where pixel data for the frame currently being displayed and subsequent frames are stored.

Color Depth: Expressed in bits per pixel (bpp), this is the number of possible colors that a pixel can represent.

BLIT: Stands for bit block transfer and is a data operation commonly used in computer graphics in which several bitmaps are combined into one using a boolean function.

Sprites: A two dimensional bitmap that is integrated into a larger scene.

Graphics Sub-System

The basic components required to build a graphics sub-system are:

  • Display panel
  • Frame buffer
  • Display controller
  • Microcontroller
  • Software
  • Touch (optional)

Display Panels


Display panels come in various sizes and resolutions. There are various factors that influence the choice of a display panel. Some of them are:

  • Application requirements
    • Color or monochromatic
  • Image details
    • Resolution
    • Color depth
  • Viewing distance
    • Screen size
  • Smart or dumb display panel
  • Type of interface
    • RGB
    • LVDS
  • Infrastructure
    • Availability of hardware and software support

Did You Know?

We offer a Display Manager plug-in, the industry's first GUI display driver configuration tool that enables quick support for new, unsupported and non-standard displays in MPLAB® Harmony.

Frame Buffer


Frame buffer refers to the place in memory (usually RAM type) where pixel data for the frame currently being displayed and subsequent frames is stored. The size of the frame buffer is determined by the screen size and the color depth​. You can calculate the frame buffer size using the formula:

Frame buffer size (Bytes) = Number of Pixels × Color Depth (Bits) ÷ 8

Example: For a QVGA display at 16 bpp color depth, the frame buffer memory required is 320 × 240 × 16 ÷ 8 = 153,600 Bytes

  • As the color depth and display resolution increase, the frame buffer size grows.
  • Most applications may use more than a single frame buffer which would increase the memory requirements as well.
  • The frame buffer can be stored in the microcontroller RAM, in external SRAM or integrated into an external display controller.

* The minimum memory required for a 24 bpp is more because of our 32-bit word length.

Did You Know?

The PIC24 DA family features an integrated graphics acceleration and a display controller to directly drive up to 4.3" WQVGA displays.

The PIC32MZ family offers up to 512 KB of SRAM which can be used as the frame buffer to drive upto WVGA display without the need of any external memory or a dedicated controller.

Display Controller


The display glass must be constantly refreshed by feeding the horizontal and vertical pixel data repeatedly from the frame buffer. This can be achieved in two ways:

  • Dedicated display controller: External/Internal to the MCU
  • MCUs with Direct Memory Access (DMA) and PMP/EBI interface: This approach is called Low-Cost Controllerless Graphics (LCCG)

Did You Know?

The PIC24 DA family features an integrated graphics acceleration and a display controller to directly drive up to 4.3" WQVGA displays.

The PIC32MZ family offers up to 512 KB of SRAM that can be used as the frame buffer to drive upto WVGA display without the need of any external memory or a dedicated display controller.

Microcontrollers


The application code running inside the microcontroller decides which data should be stored in the frame buffer and as the frame buffer changes, the display content also changes. The microcontroller must have sufficient processing power (MIPS) to render the required shapes in the frame buffer. The choice depends on:

  • Application requirements
    • Processing power required
    • Frame buffer
    • Additional frame buffer for 2D image processing
    • If other MCU features are required like connectivity, capacitive touch and so on
  • How you want to drive the display module

Did You Know?

the PIC24 DA family offers high peripheral integration including graphics accelerator, display controller and USB-OTG.

The PIC32 family of MCUs offesr best-in-class 32-bit MCU performance and a rich set of integrated peripherals.

Software


Any graphics application requires a software display driver which provides for:

  • Setting the color of a pixel
  • Implementing of APIs to draw fundamental shapes, for instance, a line, rectangle, bar, circle, text, image and so on
  • More complex graphic elements, like labels, buttons, check boxes, sliders and progress bars are implemented in higher layers, which in turn use the software display driver
  • 2-D image processing and dynamic event handling

Did You Know?

The award-winning MPLAB Harmony Software Framework offers the choice of two best-in-class GUI design tools and graphics libraries, completely free of charge.

Touch


Touch is becoming an important feature in most graphics applications that require a Human Machine Interface (HMI). There are essentially two types of touch:

  • Resistive Touch
    • Consists of two layers with an air gap in between
    • When a stylus or finger presses down on the outer surface, the measure of resistance between the two surfaces at the point of contact leads to detection of touch position.
    • Advantages:
      • Low production cost
      • High resistance to dust and water
      • Best used with finger or stylus or when there is no human contact (e.g. gloves) 
  • Capacitive Touch
    • Relies on sensing the conductivity from the skin on fingertip to the screen to determine the touch location
    • Advantages
      • Highly responsive compared to resistive touch
      • Supports multi-touch