# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/134/347/medium800thumb/adafruit_products_6113-04.jpg?1736177164)

Say hello to our new&nbsp; **Newxie**  **1.14" 240x135 Color TFT Display Boards** – we think it's **T** - **F** - **T** errific! It's the size of your thumbnail, with glorious 240x135 high res pixel color. This very very small display is only 1.14" diagonal, packed with RGB pixels, for making very small, high-density displays. And this breakout board is designed for compact 'stacking' on a 0.1" grid - with a vertical arrangement that mimics [old-school nixie tubes](https://en.wikipedia.org/wiki/Nixie_tube).

![](https://cdn-learn.adafruit.com/assets/assets/000/134/348/medium800/adafruit_products_6113-03.jpg?1736177237)

The display uses plain SPI (Clock, Data In, Chip Select, Data/Command) to communicate and has its own pixel-addressable frame buffer. It can be used with every kind of microcontroller. Even a very small one with low memory and few pins available! The 1.14" display has 240x135 16-bit full color pixels and is an **IPS** display, so the color looks great up to 80 degrees off axis in any direction. The TFT driver (ST7789) is very similar to the popular ST7735, and our Arduino library supports it well.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/349/medium800/adafruit_products_6113-02.jpg?1736177272)

It's essentially the same display & breakout as our 1.14" TFT breakout but minimized: we don't include a MicroSD card or reset line. That means we have only 7 pins required to control the display and backlight. Since the display itself is 0.8" wide, it makes for a perfect fit. We pre-soldered on 2x7 right-angle headers to make it easy to design a stand-up display, both rows are the same contact - we just use dual row for better mechanical stability and thus it's easier to get them nice and straight.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/350/medium800/adafruit_products_6113-01.jpg?1736177302)

Our breakout has the TFT display pre-attached, as well as a ultra-low-dropout 3.3V regulator and a 3/5V level shifter so you can use it with 3.3V or 5V power and logic such as Arduino compatible, ESP32, RP2040 or Raspberry Pi computer.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/351/medium800/adafruit_products_6113-00.jpg?1736177324)

Of course, we wouldn't just leave you with a datasheet and a "good luck!" - [we've written a full open source graphics library that can draw pixels, lines, rectangles, circles, text and bitmaps as well as example code and a wiring tutorial](http://learn.adafruit.com/1-8-tft-display), we [also have CircuitPython/Python support for the 1.14" TFT with ST7789](https://learn.adafruit.com/adafruit-1-14-240x135-color-tft-breakout).

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/134/352/medium800/adafruit_products_double.jpg?1736178138)

## Power

- **V+** - This is the power input. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V. It can be powered between from 3.3V to 5V.
- **G** - common ground for power and logic.

## Display Pins

- **CL** - This is the TFT SPI clock input pin ( **SCK** ).
- **DA** - This is the TFT SPI MOSI ( **M** icrocontroller **O** ut / **S** erial **I** n) pin. It is used to send data from the microcontroller to display.
- **CS** - This is the TFT SPI **c** hip **s** elect pin.
- **DC** - This is the TFT SPI **d** ata/ **c** ommand selector pin.
- **BL** - The is the TFT **b** ack **l** ight control pin. Tie this pin to ground to turn off the backlight on the display. Otherwise, the backlight will be on by default.

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## CircuitPython

Using the Newxie TFT with CircuitPython involves wiring up the display to your board and loading the code and necessary libraries onto your board to see the graphics test on the display.

## CircuitPython Microcontroller Wiring

Here is how you'll wire the display to a Feather RP2040. The display comes with a 2x7 header soldered to it, making it ideal for breadboarding:

- **Feather 3.3V** to **TFT V+ (red wire)**
- **Feather GND** to **TFT G (black wire)**
- **Feather SCK** to **TFT CL (yellow wire)**
- **Feather MO** to **TFT DA (blue wire)**
- **Feather D5** to **TFT CS (green wire)**
- **Feather D6** to **TFT DC (white wire)**

![adafruit_products_feather_bb_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/353/medium640/adafruit_products_feather_bb_bb.jpg?1736182090)

## CircuitPython Usage

To use with CircuitPython, you need to first install the necessary libraries, and their dependencies, into the&nbsp; **lib** &nbsp;folder on your&nbsp; **CIRCUITPY** &nbsp;drive. Then you need to update&nbsp; **code.py** &nbsp;with the example script.

Thankfully, we can do this in one go. In the example below, click the&nbsp; **Download Project Bundle** &nbsp;button below to download the necessary libraries and the&nbsp; **code.py** &nbsp;file in a zip file. Extract the contents of the zip file.

Connect the microcontroller to your computer via a known-good USB power+data cable. The board shows up as a thumb drive named&nbsp; **CIRCUITPY**. Copy the&nbsp; **entire lib folder** , the&nbsp; **Helvetica-Bold-16.pcf** &nbsp;font file, the **adabot.bmp** image file and the&nbsp; **code.py** &nbsp;file to your&nbsp; **CIRCUITPY** &nbsp;drive.

Your&nbsp; **CIRCUITPY/lib** &nbsp;folder should contain the following folders and files:

- **/adafruit\_bitmap\_font**
- **/adafruit\_display\_shapes**
- **/adafruit\_display\_text**
- **adafruit\_st7789.mpy**
- **simpleio.mpy**

Once you have copied over the necessary folders and files, your&nbsp; **CIRCUITPY&nbsp;** drive should resemble the following:

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/Newxie_TFT_Examples_Newxie_CircuitPython.png )

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Newxie_TFT_Examples/Newxie_CircuitPython/code.py

This example is a port of the&nbsp;[Arduino&nbsp; **16bit\_hello** &nbsp;code written by Phil B](https://github.com/adafruit/PicoDVI/blob/master/examples/16bit_hello/16bit_hello.ino). with some slight variation to show off some of the unique abilities of&nbsp; **displayio**.

The example begins by showing a rectangle, circle, triangle and rounded rectangle and changing the fill attribute from&nbsp;`None`&nbsp;to a color.

Then, a few chart variations are shown, including a sine wave pattern, line graph and bar graph.

Next is a text alignment example, showing how to use the&nbsp;`anchor_point`&nbsp;and&nbsp;`anchor_position`&nbsp;functions in the&nbsp; **adafruit\_display\_text** &nbsp;library.

Following that is a custom text example, loading a bitmap font instead of the built-in&nbsp; **terminalio** &nbsp;font.

Then there is a quick break from fonts to show off a bitmap image, specifically Adabot taking advantage of the vertical orientation of the TFT.

Finally, an example shows how to update the text in a&nbsp;`Label`&nbsp;object for projects where you want to display text information that updates over time.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/369/medium800thumb/adafruit_products_cp_newxie.jpg?1736258909)

It's important to note that the example code is optimized to be able to run all of the examples in a loop, which you more than likely won't want to do for your projects. As a result, the `clean_up(group)` function is run after each example to use `pop()` to remove all of the graphical elements of the **displayio** `group`. [Garbage collection](https://learn.adafruit.com/Memory-saving-tips-for-CircuitPython?view=all#overview) (`gc.collect()`) is also run to conserve memory. Additionally, each graphical element is created and deleted each time in each of the functions.

If you were to run, for example, the `sensor_values()` function on its own for a project, you would instantiate the graphical elements _once_, before the loop, and then update the text with the "values" in the loop:

```python
...

text_x = "X: %d" % randint(-25, 25)
text_y = "Y: %d" % randint(-25, 25)
text_z = "Z: %d" % randint(-25, 25)
x_text = label.Label(terminalio.FONT, text=text_x, color=red)
x_text.anchor_point = (0.0, 0.0)
x_text.anchored_position = (2, 0)
y_text = label.Label(terminalio.FONT, text=text_y, color=green)
y_text.anchor_point = (0.0, 0.0)
y_text.anchored_position = (2, 10)
z_text = label.Label(terminalio.FONT, text=text_z, color=blue)
z_text.anchor_point = (0.0, 0.0)
z_text.anchored_position = (2, 20)
group.append(x_text)
group.append(y_text)
group.append(z_text)

while True:
    for i in range(40):
        if i == 10:
            group.scale = 2
        elif i == 20:
            group.scale = 3
        elif i == 30:
            group.scale = 4
        x_text.text = "X: %d" % randint(-50, 50)
        y_text.text = "Y: %d" % randint(-50, 50)
        z_text.text = "Z: %d" % randint(-50, 50)
        time.sleep(0.1)
```

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Python

It's easy to use display breakouts with Python and the [Adafruit CircuitPython RGB Display](https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display) module. This module allows you to easily write Python code to control the display.

Since there's _dozens_ of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

## Wiring

Connect the display as shown below to your Raspberry Pi.

- **Pi 3.3V** to **TFT V+ (red wire)**
- **Pi GND** to **TFT G (black wire)**
- **Pi SCK** to **TFT CL (yellow wire)**
- **Pi MOSI** to **TFT DA (blue wire)**
- **Pi CE0** to **TFT CS (green wire)**
- **Pi GPIO25** to **TFT DC (white wire)**

![adafruit_products_pi_bb_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/372/medium640/adafruit_products_pi_bb_bb.jpg?1736259608)

## Software Setup

You'll need to install the Adafruit\_Blinka library that provides the CircuitPython support in Python. This may also require enabling SPI on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

### Python Installation of RGB Display Library

Once that's done, from your command line run the following command:

- `sudo pip3 install adafruit-circuitpython-rgb-display`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

If that complains about pip3 not being installed, then run this first to install it:

- `sudo apt-get install python3-pip`

### DejaVu TTF Font

Run the following command to install the DejaVu font:

- `sudo apt-get install fonts-dejavu`

### Pillow Library

We also need PIL, the Python Imaging Library, to allow graphics and using text with custom fonts. There are several system libraries that PIL relies on, so installing via a package manager is the easiest way to bring in everything:

- `sudo apt-get install python3-pil`

If you installed the PIL through PIP, you may need to install some additional libraries:

- `sudo apt-get install libopenjp2-7 libtiff5 libatlas-base-dev`

### Adabot JPEG

Save the JPEG image of Adabot in the same directory as your code.py file. You can download the image from here or through the Project Bundle from GitHub.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/373/medium800/adafruit_products_adabot.jpg?1736259976)

## Python Usage

Once you have all of the requirements installed on your Raspberry Pi, copy or download the following example, and run the following, replacing&nbsp; **code.py** &nbsp;with whatever you named the file:

`python3 code.py`

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Newxie_TFT_Examples/Newxie_Python_Pi/code.py

You'll see the graphics example show on the TFT. First, you'll see a purple rectangle on top of a green rectangle with the text "Hello World!" in the center. Then, you'll see the Adabot JPEG displayed. These two images will swap back and forth in the loop.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/374/medium800thumb/adafruit_products_pi_cpython_newxie.jpg?1736260104)

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Arduino

Using the Newxie TFT Display with Arduino involves wiring up the display to your Arduino-compatible board, installing the libraries and running the provided example code.

## Wiring

Wire as shown for a **5V** board like an Uno. If you are using a **3V** board, like an Adafruit Feather, wire the board's 3V pin to the breakout VDD.

Here is an Adafruit Metro wired up to the TFT.

- **Metro 5V** to **TFT V+ (red wire)**
- **Metro GND** to **TFT G (black wire)**
- **Metro D13 (SCK)**&nbsp;to **TFT CL (yellow wire)**
- **Metro D11 (MOSI)** to **TFT DA (blue wire)**
- **Metro D10** to **TFT CS (green wire)**
- **Metro D8** to **TFT DC (white wire)**

![adafruit_products_metro_bb_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/354/medium640/adafruit_products_metro_bb_bb.jpg?1736194012)

## Library Installation

You can install the&nbsp; **Adafruit ST7789&nbsp;** library&nbsp;for Arduino using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/355/medium800/adafruit_products_Arduino_Open_Library_Manager.png?1736202959)

Click the&nbsp; **Manage Libraries ...** &nbsp;menu item, search for&nbsp; **Adafruit ST7789** ,&nbsp;and select the&nbsp; **Adafruit ST7735 and ST7789 Library** &nbsp;library:

![](https://cdn-learn.adafruit.com/assets/assets/000/134/356/medium800/adafruit_products_st7789lib.png?1736202990)

If asked about dependencies, click "Install all".

![](https://cdn-learn.adafruit.com/assets/assets/000/134/357/medium800/adafruit_products_st7789depends.png?1736203015)

If the "Dependencies" window does not come up, then you already have the dependencies installed.&nbsp;

Warning: If the dependencies are already installed, you must make sure you update them through the Arduino Library Manager before loading the example!

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Newxie_TFT_Examples/Newxie_Arduino/Newxie_Arduino.ino

Upload the sketch to your board. You should see the graphics test begin running on your display. The tests include drawing shapes, graphs and text. After every loop of the test, the code will rotate the screen orientation by 90 degrees and run the test again. The code is heavily commented so you can utilize the examples for various graphic techniques in your projects.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/370/medium800thumb/adafruit_products_arduino_newxie.jpg?1736258937)

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Multiple Displays - Python

You probably saw these displays and thought "I really want to use more than one at the same time!" since they're so compact and give off a vibe reminiscent of a certain&nbsp;[vintage cathode display](https://en.wikipedia.org/wiki/Nixie_tube). You can do this with some Python code and the [Adafruit CircuitPython RGB Display](https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display) module.

Since there's _dozens_ of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

## Wiring

Connect the four displays as shown to your Raspberry Pi. This wiring can get tricky so take your time and doublecheck your breadboard of spaghetti. The first two TFT displays are connected to the default SPI0 port on the Raspberry Pi. The second two TFT displays are connected to the secondary SPI1 port on the Raspberry Pi. The SCK and MOSI pins can be shared between displays on the same SPI port. Each display requires its own GPIO pin for CS and DC.

Traditionally, **CE0** has been used for the **CS** pin on SPI displays with Raspberry Pi. In testing though, using the **CE0** pin from SPI0 and/or SPI1 caused glitching on the connected displays. When using multiple SPI displays, avoid that pin for **CS**.

### TFT0 (SPI0)

- **Pi 3.3V** to **TFT V+ (red wire)**
- **Pi GND** to **TFT G (black wire)**
- **Pi SCK** to **TFT CL (yellow wire)**
- **Pi MOSI** to **TFT DA (blue wire)**
- **Pi GPIO23** &nbsp;to **TFT CS (green wire)**
- **Pi GPIO25** to **TFT DC (white wire)**

### TFT1 (SPI0)

- **Pi 3.3V** to **TFT V+ (red wire)**
- **Pi GND** to **TFT G (black wire)**
- **Pi SCK** to **TFT CL (yellow wire)**
- **Pi MOSI** to **TFT DA (blue wire)**
- **Pi CE1** &nbsp;to **TFT CS (grey wire)**
- **Pi GPIO24** &nbsp;to **TFT DC (ochre wire)**

### TFT2 (SPI1)

- **Pi 3.3V** to **TFT V+ (red wire)**
- **Pi GND** to **TFT G (black wire)**
- **Pi GPIO21 (SCK1)** to **TFT CL (orange wire)**
- **Pi GPIO20 (MOSI1)**&nbsp;to **TFT DA (cyan wire)**
- **Pi GPIO16** &nbsp;to **TFT CS (pink wire)**
- **Pi GPIO26** &nbsp;to **TFT DC (purple wire)**

### TFT3 (SPI1)

- **Pi 3.3V** to **TFT V+ (red wire)**
- **Pi GND** to **TFT G (black wire)**
- **Pi GPIO21 (SCK1)** to **TFT CL (orange wire)**
- **Pi GPIO20 (MOSI1)**&nbsp;to **TFT DA (cyan wire)**
- **Pi GPIO17** &nbsp;to **TFT CS (brown wire)**
- **Pi GPIO27** &nbsp;to **TFT DC (white wire)**

![adafruit_products_pi_multi_bb_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/408/medium640/adafruit_products_pi_multi_bb_bb.jpg?1736285335)

## Enable Secondary SPI1 Port

You'll need to enable the secondary SPI1 port on the Raspberry Pi. You can do this by editing the **/boot/config.txt** file. In a terminal, enter:

```terminal
sudo nano /boot/config.txt
```

Add this line to **/boot/config.txt:**

`dtoverlay=spi1-3cs`

Save your changes to the file and then reboot the Raspberry Pi.

## Software Setup

You'll need to install the Adafruit\_Blinka library that provides the CircuitPython support in Python. This may also require enabling SPI on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

### Python Installation of RGB Display Library

Once that's done, from your command line run the following command:

- `sudo pip3 install adafruit-circuitpython-rgb-display`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

If that complains about pip3 not being installed, then run this first to install it:

- `sudo apt-get install python3-pip`

### DejaVu TTF Font

Run the following command to install the DejaVu font:

- `sudo apt-get install fonts-dejavu`

### Pillow Library

We also need PIL, the Python Imaging Library, to allow graphics and using text with custom fonts. There are several system libraries that PIL relies on, so installing via a package manager is the easiest way to bring in everything:

- `sudo apt-get install python3-pil`

If you installed the PIL through PIP, you may need to install some additional libraries:

- `sudo apt-get install libopenjp2-7 libtiff5 libatlas-base-dev`

## Python Usage

Once you have all of the requirements installed on your Raspberry Pi, copy or download the following example, and run the following, replacing&nbsp; **code.py** &nbsp;with whatever you named the file:

`python3 code.py`

## Counting Demo Code
![](https://cdn-learn.adafruit.com/assets/assets/000/134/409/medium800thumb/adafruit_products_newxie_count.jpg?1736285949)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Newxie_TFT_Examples/Newxie_Python_Multi_Pi/newxie_count.py

In this demo, the Raspberry Pi counts from 0 to 9999 in a loop. The digits are displayed across the four displays.

The [threading module](https://docs.python.org/3/library/threading.html) is used in this demo and the clock demo below to multitask updating the four displays.

## Clock Demo Code
![](https://cdn-learn.adafruit.com/assets/assets/000/134/410/medium800thumb/adafruit_products_newxie_clock.jpg?1736286121)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Newxie_TFT_Examples/Newxie_Python_Multi_Pi/newxie_clock.py

In this demo, the four displays act as a clock. The first two TFTs show the hour and the second two TFTs show the minutes.

# Adafruit 1.14" 240x135 Color Newxie TFT Display

## Downloads

## Files

- [ST7789 Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/082/882/original/ST7789VW_SPEC_V1.0.pdf?1571860977)
- [EagleCAD PCB Files on GitHub](https://github.com/adafruit/Adafruit-Color-Newxie-TFT-Display-PCB)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20Color%20Newxie%20TFT%20Display.fzpz)

## Schematic and Fab Print
![](https://cdn-learn.adafruit.com/assets/assets/000/134/345/medium800/adafruit_products_schem.png?1736177052)

![](https://cdn-learn.adafruit.com/assets/assets/000/134/346/medium800/adafruit_products_fab.png?1736177060 dimensions are in inches)


## Primary Products

### Adafruit 1.14" 240x135 Color Newxie TFT Display

[Adafruit 1.14" 240x135 Color Newxie TFT Display](https://www.adafruit.com/product/6113)
Say hello to our new&nbsp; **Newxie** &nbsp; **1.14" 240x135 Color TFT Display Boards&nbsp;** – we think it's **T** - **F** - **T** errific! It's the size of your thumbnail, with glorious 240x135 high res pixel color....

In Stock
[Buy Now](https://www.adafruit.com/product/6113)
[Related Guides to the Product](https://learn.adafruit.com/products/6113/guides)

## Related Guides

- [Adafruit FONA](https://learn.adafruit.com/adafruit-fona-mini-gsm-gprs-cellular-phone-module.md)
- [RGB LED Matrices with CircuitPython](https://learn.adafruit.com/rgb-led-matrices-matrix-panels-with-circuitpython.md)
- [Adafruit Mini GPS PA1010D Module](https://learn.adafruit.com/adafruit-mini-gps-pa1010d-module.md)
- [Adafruit S-35710 Low-Power Wake Up Timer Breakout](https://learn.adafruit.com/adafruit-s-35710-low-power-wake-up-timer-breakout.md)
- [Portable PyPortal](https://learn.adafruit.com/portable-pyportal.md)
- [PyPortal Tides Viewer](https://learn.adafruit.com/pyportal-tides-viewer.md)
- [Controlling a Classic Nintendo R.O.B. Robot Using Circuit Playground Express](https://learn.adafruit.com/controlling-a-classic-nintendo-r-o-b-robot-using-circuit-playground-express.md)
- [Adafruit STEMMA Audio Amp](https://learn.adafruit.com/stemma-audio-amp.md)
- [Holiday IoT Switch](https://learn.adafruit.com/holiday-iot-switch.md)
- [Mini GIF Players](https://learn.adafruit.com/mini-gif-players.md)
- [Adafruit EyeLights LED Glasses and Driver](https://learn.adafruit.com/adafruit-eyelights-led-glasses-and-driver.md)
- [PyPortal Halloween Countdown](https://learn.adafruit.com/pyportal-halloween-countdown.md)
- [Minty Boost](https://learn.adafruit.com/minty-boost.md)
- [Adafruit ESP32-S3 TFT Feather](https://learn.adafruit.com/adafruit-esp32-s3-tft-feather.md)
- [Adafruit 1.14" 240x135 Color TFT Breakout LCD Display](https://learn.adafruit.com/adafruit-1-14-240x135-color-tft-breakout.md)
