Skip to main content

Getting Started with XIAO 1.14'' IPS Display (nRF52840)

XIAO 1.14'' IPS Display (nRF52840)

Introduction

The 1.14'' IPS Display is an expansion board designed for the XIAO series, powered by the XIAO nRF52840 Plus. It features a 135×240 IPS color LCD, onboard PDM microphone, 6-axis IMU (LSM6DS3-compatible), Grove I2C connector, three user buttons, and battery power management with percentage display — all integrated into a compact form factor.

This combination makes it an ideal platform for wearable devices, compact sensor nodes, portable instruments, and IoT prototyping where space is at a premium.

SpecificationDetail
Product PositioningSensing & Expansion
Core ControllerSeeed Studio XIAO nRF52840 Plus
ProcessorNordic nRF52840, ARM® Cortex®-M4 32-bit processor with FPU, 64 MHz
Memory256 KB RAM + 1 MB internal Flash + 2 MB onboard Flash
Wireless ConnectivityBLE 5.4
Display Type1.14" IPS TFT LCD
Resolution135 × 240
Display DriverST7789
Display InterfaceSPI
Touch InputNo
6-Axis IMUYes
PDM Digital MicrophoneYes
MicroSD Card SlotNo
Grove I2C ConnectorYes
User Buttons3
Battery Connector2-pin JST 2.0 Connector for 3.7 V LiPo
Battery MonitoringBattery status detection supported; battery voltage can also be monitored for battery-level estimation.
Expansion Interfaces1x Grove I2C Connector, 1x I2C pads, 1x I2S pads, 1x SWD pads, 3x user-button pads
Board Size26 × 48 × 10.6 mm
Best ForPortable sensor displays, Grove devices, physical controllers
note

This display board is designed for the XIAO nRF52840 Plus. If you are using the XIAO ESP32-S3 Plus version, please refer to the XIAO 1.14'' IPS Display (ESP32-S3) guide instead.

Hardware Overview

Before we start, refer to the following image to understand the physical layout of the 1.14'' IPS Display.

Pin Map

The 1.14'' IPS Display breaks out all XIAO nRF52840 Plus pins. The table below lists every pin, its net name on the display board, its function, and how it is connected to onboard peripherals.

XIAO PinNet NameFunction DescriptionHardware Connection Notes
D0PDM_CLKPDM digital microphone clockInternally connected to PDM Mic
D1MIC_DATAPDM digital microphone dataInternally connected to PDM Mic
D2LCD_CSScreen chip select signalInternally connected to LCD driver IC
D3LCD_DCScreen data/command switchInternally connected to LCD driver IC
D4SDAI2C data busBus sharing: internally connected to IMU; externally exposed to Grove I2C connector
D5SCLI2C clock busBus sharing: internally connected to IMU; externally exposed to Grove I2C connector
D6BTN_APhysical button A (left)Internally connected to front-left microswitch with external 1 KΩ pull-up. Externally exposed as U1 test pad
D7BTN_BPhysical button B (right)Internally connected to front-right microswitch with external 1 KΩ pull-up. Externally exposed as U2 test pad
D8SCKHardware SPI clockInternally connected to LCD driver IC
D9NCFloating (reserved)No physical connection
D10MOSIHardware SPI data outputInternally connected to LCD driver IC
D11I2S_SDAudio data outputExternally exposed to bottom expansion pad
D12I2S_SCKAudio bit clockExternally exposed to bottom expansion pad
D13I2S_WSAudio word selectExternally exposed to bottom expansion pad
D14IMU_INTIMU motion hardware interruptInternally connected to 6-axis IMU for asynchronous wake-up
D15NCReserved test pointBare copper test pad reserved on PCB
D16NCFloating (reserved)No physical connection
D17LCD_RSTScreen soft resetInternally connected to LCD driver IC
D18LCD_BLScreen backlight controlInternally connected to backlight driver circuit
D19BTN_CPhysical button C (side)Internally connected to side microswitch with external 1 KΩ pull-up. Externally exposed as U3 test pad

Getting Started

This guide uploads a minimal "Hello, XIAO" sketch to the display board: the screen turns on its backlight, fills black, and prints "Hello," and "XIAO" as two centered lines of large green text. It is the fastest way to confirm the screen and your development environment are working before diving into the individual peripheral demos.

Software Preparation

You will need the following tools and libraries:

  • Arduino IDE (version 1.8 or later)

  • Seeed nRF52 Boards (1.1.13) — add the following URL to File > Preferences > Additional Boards Manager URLs:
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Then go to Tools > Board > Boards Manager, search for Seeed nRF52 and install version 1.1.13.

  • Seeed_GFX2 (Manual Installation) — this library is not available in the Library Manager and must be installed manually:

Step 1. Click the button above to download Seeed_GFX2 v1.0.0 as a ZIP file (pinned to a release tag so the tutorial stays reproducible). Alternatively, clone the repository from Seeed-Studio/Seeed_GFX2.

Step 2. In the Arduino IDE, go to Sketch > Include Library > Add .ZIP Library... and select the downloaded ZIP. The IDE reads library.properties and installs it into the correct Seeed_GFX2 folder automatically — you do not need to rename the extracted folder. (To install manually instead, unzip the archive and rename the extracted folder to Seeed_GFX2 before placing it in Documents/Arduino/libraries/.)

Step 3. Restart the Arduino IDE so the new library is detected.

tip
  • Seeed_GFX2 is Seeed Studio's graphics library built on a layered Board + Panel Config architecture. Each demo initializes the display with a single display.begin<Board_..., Config_...>() call — the Board template owns the pin map (CS/DC/SCK/MOSI/RST/BL), and the Panel Config bakes in the 135×240 resolution, color order (BGR), and orientation. No driver.h or manual pin setup is needed.
  • On this board the sketch uses Board_XIAO_1inch14_LCD<38, 37> (RST=38, BL=37) with Config_Seeed_1inch14_LCD_ST7789.
  • The Adafruit TinyUSB library used by the sketch is bundled with the Seeed nRF52 Boards package, so it needs no separate installation.

Download the Code

The example sketch is available on GitHub:


Navigate to code_GFX2/getting_started_code/xiao_nrf52840_114_hello/ and open xiao_nrf52840_114_hello.ino in the Arduino IDE. Download the complete folder rather than copying the .ino source from the GitHub web view.

Upload the Sketch

Step 1. Connect the XIAO nRF52840 Plus to your computer via the USB-C port.

Step 2. In Arduino IDE, select the board: Tools > Board > Seeed nRF52 Boards > Seeed XIAO nRF52840 Plus.

Step 3. Select the correct Port under Tools > Port.

Step 4. Click the Upload button (→). The sketch will compile and upload to the board.

note

If you encounter upload issues, double-click the reset button to enter bootloader mode. The USR LED will breathe in red and a NRF52BOOT drive will appear on your computer, indicating the board is in bootloader mode.

Expected Output

After uploading, the screen lights up with a black background and shows two centered lines of large green text — "Hello," on the first line and "XIAO" on the second. The greeting stays on screen without redrawing.

If the display fails to initialize, the sketch prints the library error message to the serial monitor at 115200 baud. Open Tools > Serial Monitor and set the baud rate to 115200 to read it.

What's Next

The display board packs several onboard peripherals. The Function page provides a standalone demo for each one:

PeripheralDemo
ScreenGraphicTest — ten graphics primitives with timing benchmarks
IMUElectronic Quicksand + Raise to Wake — 6-axis motion effects and wake-on-motion
Microphone & SpeakerVoice Bar + Flash Recorder — live PDM level meter and recording with I2S playback
Grove I2CSHT31 Temperature & Humidity — read a Grove SHT31 sensor
ButtonsUser Buttons — read presses and debounce with interrupts
BatteryBattery Status — measure voltage and convert to a percentage

FAQ

What if the upload fails or the board is not detected?

Double-click the reset button on the XIAO nRF52840 Plus. The USR LED will breathe in red and a drive named NRF52BOOT will appear on your computer. Drag the compiled .uf2 file onto the NRF52BOOT drive. The board will program itself and reset automatically.

[About Factory Firmware-DashBoard]

Can I hot-plug I2C devices while the dashboard is running?

No — we strongly recommend against hot-plugging devices on the I2C interface while the dashboard is running. Always power off the board before connecting or disconnecting anything on the Grove I2C connector or the SDA/SCL breakout pads. Hot-plugging can hang the I2C bus.

Resources

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...