The Best OLED Displays For Any Project

We carry a large selection of USB LCDs, graphic LCDs, character LCDs, OLED Displays, TFT Display Modules, ePaper Displays and EVE Accelerated TFT Displays. If you're looking for something we don't have, please let us know and we'll do our best to find it.

Why Choose Crystalfontz America for LCD Displays?

We understand getting you a working solution quickly is paramount, and we offer top-notch products, engineering support and logistics to make that happen.

Crystalfontz America is the leading supplier of LCDs, TFTs, OLEDs and, ePaper display modules and LCD accessories.

We specialize in providing our customers the very best in electronic display solutions and support.

ISO 9001-2015

As an ISO 9001:2015 certified company, we know the importance of quality. No matter what type of display, or LCD module, we can help you get the best display solution for your product or project.

Crystalfontz has been an LCD supplier since 1998 and has supplied innovative display solutions to everyone from small do-it-yourself hobbyists and builders to many top-tier companies. Our facility is located in Washington State and we ship LCD display modules around the world.

Exceptional Quality
Exceptional Quality & Support
Short Lead Times
Short Lead Times
Great Pricing and Options
Great Pricing and Options
Why Hobbyists and Creators Choose Crystalfontz

Why Hobbyists & Creators
Choose Crystalfontz

Single and Small Quantity Orders
Single & Small Quantity Orders
Excellent Resources and Support
Excellent Resources & Support
Variety of Kits Available
Variety of Kits Available
Why Engineers and Manufacturers Choose Crystalfontz

Why Engineers & Manufacturers
Choose Crystalfontz

Detailed Specifications and Renderings
Detailed Specifications & Renderings
Reliable Manufacturing and Supply Chain
Reliable Manufacturing & Supply Chain
Quantity Discounts
Quantity Discounts
The Latest from our LCD Blog

New Products – Spring 2024

As always, the Crystalfontz team has been working to bring you new and exciting display solutions. This update includes a family of modules designed to integrate with the Raspberry Pi CM4, some transparent LCDs, a family of 2.8″ TFTs, and a few updates to products to ensure long availability with minimal design changes required.

Raspberry Pi CM4 Compatible Modules

New to our product line are two beautiful displays designed to work quickly and easily with the Raspberry Pi Compute Module 4. These displays are crisp 5″ displays with 720×1280 resolution and in-plane switching (IPS). These modules include easy mounting for compute module, and break out a ton of functionality onto a variety of headers.

Features include:

  • 5 inch TFT, 1280×720 high pixel density, high-brightness display
  • Multi-touch capacitive or non-touchscreen options
  • Raspberry Pi CM4 based (quad-core 64bit SoC @ 1.5GHz, 1/2/4/8GB RAM options, microSD or 8/16/32GB eMMC storage options)
  • A full Raspberry Pi standard 40 pin IO header
  • Compact expansion header access to PCI-E, HDMI, SPI and Ethernet
  • An extra six GPIO lines from an on-board I2C IO expander IC
  • Battery backed up real time clock
  • Flexible power supply options (barrel-jack, Micro USB or PCB header)

Available both as a non-touch module or a capacitive touch module, these display modules are a fantastic choice for your compute module based product!

Transparent LCDs

Also new are our transparent LCDs. We offer these transparent LCDs in two sizes – the 1.1″ transparent LCD and the 2.2″ transparent LCD. These displays hugely outperformed our expectations, so they are back ordered at the time of writing. We hope to be shipping them again in the next month or so!

If you’ve seen our DIY transparent LCD tutorial, these displays are like those, but done for you! These displays work with our graphic LCD adapter board.

2.8″ TFTs

Coming in on the diagonal between our popular 2.4″ and 3″ displays, we are now offering a 2.8″ display family. These displays are IPS, and support SPI interfacing in addition to 18-bit parallel and RGB. Plus, if you’re already using our 2.4″ displays, these displays use the same controller IC and have the same resolution, so it’s easy to migrate to a slightly larger TFT.

This family includes a non-touch version and a resistive touch version as off-the-shelf offerings. If you’re interested in a capacitive touch version, let us know! Minimum order quantities may apply.

Part Number Changes

As much as we try to avoid changing parts, sometimes it’s inevitable. These parts have recently been updated to ensure they are available for the long run.


First up is this little 122×32 pixel graphic LCD. The controller IC went end-of-life forcing us to adopt a different controller IC. This new model is fully compatible with the previous version.

Next is this large 40×4 character display. The bezel on this display was updated to improve manufacturability.

Contact Us

If you have any questions, we can be reached at support@crystalfontz.com, we also provide chat and telephone support Monday through Friday during our open hours.

We love to hear about your projects! Find us around the web (YouTubeFacebookInstagramLinkedIn,  Twitter, Forum) and let us know what you’re working on.

Setting Up Your EVE Display: A Quick Guide

Have you just purchased one of our Embedded Video Engine (EVE) displays and are wondering how to get up and running? This blog post aims to help users get started with their newly received EVE displays from setting up the hardware to running various demos. Before we jump in, if you have not already, take a moment to read our blog post on FTDI/Bridgetek Embedded Video Engine (EVE) Modules to get an idea of the various functionalities that the EVE makes possible and what makes them so great!

Setting up the hardware

This section outlines how users need to interface an EVE display with their microcontroller so they can try out our demo code. Our demo code uses a Seeeduino (Arduino UNO clone that operates at 3.3V), however, can be modified to work with most 3.3V, SPI-capable microcontrollers. If you purchased any of our development kits such as the CFA800480E3-050SC-KIT or the CFAF1024600B0-070SC-A1-2, you can skip this section as they are shipped completely wired, ready to be plugged into a PC.

Components needed:

First, connect the 30-pin FFC to J_HOST on the EVE display and connect the other end of the cable to J_DISPLAY on the breakout board, aligning pin 1 of each connector. Once connected, wire the EVE breakout board to the microcontroller as per the table below (NOTE: this setup follows the pin declarations used in our demo code).

Adapter Board Pin (CFA10098)Seeeduino Pin
Pin 1: 3.3V (Power)3v3
Pin 2: GND (Ground)GND
Pin 3: SCK (Serial Clock)D13
Pin 4: MOSI (Serial Data Out)D11
Pin 5: MISO (Serial Data In)D12
Pin 9: CS (Chip Select)D9
Pin 10: INT (Interrupt)D7
Pin 11: PDD8
Pin 14: GND (Ground)GND
CFA10098 to MCU wiring guide

Once wired, plug in the MCU to your PC. For the CFAF1024600B0-070SC-A1 an external power supply capable of sourcing 5V at 1A will be required to drive the display backlight. To connect the power supply to the adapter board, ensure the “BL=3v3” jumper is open and connect the positive terminal to pin 1 of J_BL_PWR and the negative terminal (GND) to pin 2.

Software setup and navigating our demonstration code

Our demo code, available under the “Files and Downloads” section of each product page or on our GitHub repository, will be used to bring up the display wired in the previous section. Download the package and open the files in your preferred IDE. Once open, navigate to the file named “CFAxxx_defines.h” where xxx will vary based on the display used. The different demos are turned on and off through defines as shown in the image below:

Setting a demo to 1 will turn it on and vice versa. The number of demos that can be run at a single time is limited by the MCU memory. After selecting the demos, the sketch can be uploaded to the MCU and observed on the EVE. If you are interested in looking into how each demo works and is put together, navigate to the file named “demos.cpp” and find each #define you are interested in.

Additional libraries and references

The command set used in our demo code is derived from the Bridgetek Programmer’s Guide. The guide provides more insight into the various display list commands, register descriptions, and drawing lists found in our demo code. Additionally, it provides users with examples of how they can achieve specific functionality. Some users may also find the Camera to EVE Application Note an interesting demonstration of the hardware capabilities made possible via EVEs.

Don’t forget to read our blog post on how to put up custom images on EVE displays if the default BMP and LOGO demos are too boring for you (or if you would prefer to get a visualization of a more realistic application image).

Finally, this GitHub Repository by RudolphRiedel may prove useful if you want to try out more EVE-compatible examples. The library has been put together with several MCUs in mind and may be useful if you want a working example for your MCU with few/no modifications being required. To try out an example with one of our displays, add a define to the “platformio.ini” file similar to that shown below:

Contact us

If you have any questions, we can be reached at support@crystalfontz.com, we also provide chat and telephone support Monday through Friday during our open hours.

We love to hear about your projects! Find us around the web (YouTubeFacebookInstagramLinkedIn,  TwitterForum) and let us know what you’re working on.

Custom Images on EVE Displays

A frequent question that is received by our support team is how to load custom images on our EVE lineup of displays. Due to differences in the EVE processors between boards and other factors, depending on the display you have, the process may change. The different processes for the boards have been outlined below. The only software required is the handy EVE Asset Builder (EAB) available on Bridgetek’s website here.

Images from SD Card

The process outlined below is for an SD card loaded with your image. To program an image to the Arduino’s flash memory without the use of an SD card, keep reading!

EVE BT817 Boards

Our displays that use this processor on their EVE carrier board are as below:

  1. Select the image you would like to display (perhaps the most important step!), in this example, I will be using a Crystalfontz splash screen for our 5″ lineup
  2. Open EAB and load the image selected. Specify the output folder and select BT81x as the EVE product range. Set the output format to “COMPRESSED_RGBA_ASTC_8x8_KHR”, check compressed, and set the ASTC Preset to thorough
  3. Press convert and open the output directory. Rename the resulting ***.bin file to “splash.a8z” (the extension must be changed)
  4. Copy the renamed file to the SD card
  5. In our demo code, for the display you have, set “PROGRAM_FLASH_FROM_USD” to 1. This line is located in the CFA10XXX_defines.h file. Once changed, upload the sketch to the Arduino/Seeeduino
  6. Open the serial monitor at 115200 baud and copy the output lines corresponding to lines 92-101 of CFA10100_defines.h or 96-105 of CFA10108_defines.h Not getting an output? Perhaps “DEBUG_LEVEL” in CFA10XXX_defines.h is set to “DEBUG_NONE”. Please try again with it set to “DEBUG_STATUS” or “DEBUG_GEEK”
  7. Paste the lines in CFA10XXX_defines.h overwriting the existing data
  8. Set “PROGRAM_FLASH_FROM_USD” to 0 and set “BMP_DEMO” to 1 and upload the sketch
  9. Your image should now be displayed

EVE FT811 Boards

Our displays that use this processor on their EVE carrier board are as below:

  1. Select the image you would like to display. Like with the case of the previous example, I will be using a Crystalfontz splash screen
  2. Open EAB and load the image selected. Specify the output folder and select FT81x as the EVE product range. Set the output format to “RGB565” and uncheck compressed
  3. Press convert and open the output directory. Rename the resulting ***.raw file to “SPLASH.RAW” (the extension must be changed and the name is case sensitive)
  4. Copy the renamed file to the root of the SD card, set “BMP_DEMO” to 1 in “CFA10XXX_defines.h” and upload the sketch
  5. Your image should now be displayed

Images from Flash

What if you need to change the images written to the Arduino’s flash memory (when “LOGO_DEMO” or “LOGO_PNG_0_ARGB2_1” is set to 1)? Well look no further, the process is outlined below.

PNG Logos

  1. Select the image you would like to display. Preferably a small 300×300 (or similar) image
  2. Provide the image as an input to the following website: https://lvgl.io/tools/imageconverter
  3. Set the color format to “CF_RAW” and the output format to “C array”. Uncheck dithering and click convert
  4. Open the resulting file (in .c format). Copy the array of data to the location where the PNG file is stored, “Round_Logos.cpp”, “CFA240320E0_024Sx_Splash_PNG.cpp”, etc.
  5. At the bottom of the .c file generated previously, copy the size to the corresponding header file (of the previous cpp that the array was copied to)
  6. Set “LOGO_DEMO” to 1 (“LOGO_PNG_0_ARGB2_1” should be set to 0) and upload the sketch
  7. Your image should now be displayed

ARGB2 Logos

  1. Select the image you would like to display, preferably a small 300×300 (or similar) image
  2. Index the image to 4 colors (this can be done using the editing software GIMP). This is done to reduce the size of the image
  3. Once indexed, load the image to EAB. Select FT81x as the EVE product range and the output format as ARGB2. Check compressed
  4. Select convert and open the output directory. Provide the ***.bin file as an input to the following website: https://lvgl.io/tools/imageconverter
  5. Set the color format to “CF_RAW” and the output format to “C array”. Uncheck dithering and click convert
  6. Open the resulting file (in .c format). Copy the array of data to the location where the ARGB2 file is stored, “Round_Logos.cpp”, “CFA240320E0_024Sx_Splash_ARGB2.cpp”, etc.
  7. At the bottom of the .c file generated previously, copy the size to the corresponding header file (of the previous cpp that the array was copied to)
  8. Set “LOGO_DEMO” and “LOGO_PNG_0_ARGB2_1” to 1 and upload the sketch
  9. Your image should now be displayed

Contact Us

If you have any questions, we can be reached at support@crystalfontz.com, we also provide chat and telephone support Monday through Friday during our open hours.

We love to hear about your projects! Find us around the web (YouTubeFacebookInstagramLinkedIn,  TwitterForum) and let us know what you’re working on.

Buy Everything You Need to Get Up and Running

Browse our catalog of LCD development kits, breakout boards, cables, ZIF connectors and all of the LCD software and drivers you need to develop your product or project. We are located in the U.S. so we can get product to you fast!

What Our Customers Are Saying

Michael M
5 star rating
Quick response with available suggestions. Thank you.
James Epps
5 star rating
I have been ordering from CrystalFontz for over a decade. Privately, and for our company. They have been selling excellent hardware, and providing service since 1998. Can't really go wrong with CrystalFontz.
Steve Whitlock
5 star rating
Charlie was eager to help and wasted no time in doing so. I give high marks.
Ed King
5 star rating
The technical support that I have received from Crystalfontz America has been amazing. They responded to me several times within minutes of me asking my detailed technical questions. Their quick response and thoroughness has helped me to consider them as a valid source for my current and future products.
Finding the LCD you need?

Need some help?

Purchasing Resources
Builder Resources



Popular LCD Searches
Help Us Improve Our Product Offerings?