Waveshare
Portable Handheld Linux Terminal With 3.5inch Touch Display
The Waveshare PocketTerm35 turns a Raspberry Pi 4B or Pi 5 into a proper handheld Linux computer. A 3.5inch 640 × 480 optically bonded touchscreen sits above...
Get notified when back in stock
The Waveshare PocketTerm35 turns a Raspberry Pi 4B or Pi 5 into a proper handheld Linux computer. A 3.5inch 640 × 480 optically bonded touchscreen sits above a 67-key QWERTY silicone keyboard, so you get a complete Linux desktop — terminal, editor, browser, development tools — in something that fits in a jacket pocket. A built-in RP2040 handles the keyboard, brightness and volume, and an on-board UPS lets it run from an internal battery or from USB-C without dropping the session.
Key Features
- Handheld Linux terminal built around a Raspberry Pi 4B or Pi 5 — a full desktop, not a thin client
- Dual input — 67-key QWERTY silicone keyboard plus 5-point capacitive touch
- 3.5inch 640 × 480 IPS display with optical bonding and a 6H toughened glass front
- Built-in UPS — charge and run at the same time, and switch between battery and external power without a reboot
- Gaming controls — D-pad, X/Y/A/B action keys, L/R shoulder buttons and Select/Start, so RetroPie works out of the box
- CNC-machined aluminium front cover with a PC + ABS back, at 93.5 × 168.5 × 37 mm
- Pi ports stay usable — Ethernet and USB are exposed on the side panel, and the 40-pin GPIO header is reachable through the back cover
Display and touch
The 3.5inch IPS panel runs at 640 × 480 over the Pi's HDMI output, with a 71.08 × 53.56 mm active area. Optical bonding (G + G) removes the air gap between the glass and the LCD, which cuts internal reflection and makes the screen far easier to read outdoors than a typical stacked panel. The 5-point capacitive touch layer talks to the Pi over I2C rather than USB, so it uses GPIO2, GPIO3 and GPIO4 — worth knowing if you plan to add other I2C peripherals.
Keyboard and controls
The 67-key silicone keyboard uses a standard QWERTY layout with a full number row, Tab, Caps, Ctrl, Alt, Shift, two Fn keys and a CMD key. Function keys F1–F12 and Esc, Ins, Del, Home, End, PgUp, PgDn and ScrLk are on the Fn layer. Above the keyboard are a four-way D-pad, X/Y/A/B action keys, L and R shoulder buttons, Select and Start, and a Caps Lock indicator LED.
The RP2040 handles these shortcuts in hardware, so they work regardless of what the Pi is running:
- Fn + -
- Reduce display brightness
- Fn + =
- Increase display brightness
- Fn + C
- Display sleep — turns the screen off and on
- Fn + E
- Reduce system volume
- Fn + R
- Increase system volume
- Fn + W
- Mute
Power and battery
A 3.7V 5000mAh polymer lithium battery is included and connects to the internal 2PIN PH2.0 header. The UPS circuit charges the battery and powers the Pi at the same time, so plugging in or unplugging USB-C never interrupts what you're doing. Four LEDs beside the screen show the charge level.
The top power button is short press to turn on and double press to turn off. Shut the operating system down in software first, then double-press to cut power. The battery bay suits a 67 × 55 × 12 mm cell, so a similarly sized replacement will fit if you ever need one.
Ports and interfaces
Outside: USB-C charging and power input, a 3.5mm headphone jack, the power button and the battery-level indicator LEDs along the top edge; BOOT and RESET buttons, the speaker grille and access to the Raspberry Pi's 40-pin GPIO header on the back; and the Pi's own Ethernet and USB ports brought out through the swappable side panel.
Inside, the baseboard exposes a 2PIN PH2.0 battery header, a 4PIN PH1.25 speaker header for the built-in 8Ω 2W speaker, a 4PIN PH1.25 keyboard header, a 20-pin HDMI FPC connector and spring-loaded pogo pins that pick up the touch I2C bus from the Pi's GPIO header.
- 2PIN PH2.0 battery header
- BAT+, GND
- 4PIN PH1.25 keyboard header
- 1 USB-5V · 2 USB_D- · 3 USB_D+ · 4 GND
- Touch pogo pins
- TP_INT · TP_SCL · TP_SDA · GND · 5V · 5V
- 20-pin HDMI FPC connector
- 1 HOT_PLUG_DETECT · 2 HDMI-5V · 3 GND · 4 SDA · 5 SCL · 6 NC · 7 CEC · 8 CLOCK_N · 9 GND · 10 CLOCK_P · 11 DATA0_N · 12 GND · 13 DATA0_P · 14 DATA1_N · 15 GND · 16 DATA1_P · 17 DATA2_N · 18 GND · 19 DATA2_P · 20 GND
Space above the Raspberry Pi is tight — any add-on board has to sit within about 2.5 mm of the tallest component on the Pi. If you want M.2 storage on a Pi 5 build, Waveshare's PCIe to M.2 Board (E) is the one that fits; most other SSD adapters will not leave room for a fan.
Setting it up
Assembly is straightforward: remove the six back-cover screws, fit the micro HDMI and USB-C cables using the supplied adapters, seat the Pi on the standoffs so it makes contact with the pogo pins, secure it with four screws, connect the battery, fit the correct side panel for your board and close it up. Fit the Pi 4 or Pi 5 bracket to match your board — both are included — and use the silicone side button and black button cap on a Pi 5 build.
On the software side you can either flash Waveshare's pre-built PocketTerm35 image, or add four lines to config.txt on a stock Raspberry Pi OS install and drop in the supplied device tree overlay:
dtparam=i2c_arm=on dtoverlay=waveshare-35dpi-4b dtoverlay=waveshare-35dpi-5b dtoverlay=dwc2,dr_mode=host
Two things worth knowing up front. If you're building on a Pi 5 and see an "insufficient current" warning, that's the Pi failing to detect a USB-C PD source — add PSU_MAX_CURRENT = 5000 via sudo rpi-eeprom-config --edit and reboot. And if the picture works but touch doesn't, check nothing else has claimed GPIO2, GPIO3 or GPIO4, and that the Pi's GPIO pins are seating cleanly on the pogo pins.
The full assembly walkthrough, software guide, image download and FAQ are on the Waveshare wiki — see the Resources section on this page.
Specifications
- Compatible boards: Raspberry Pi 4B or Raspberry Pi 5 (not included)
- MCU: RP2040, handling keyboard, brightness and volume
- Display: 3.5inch IPS, 640 × 480, driven over HDMI; 71.08 × 53.56 mm active area
- Touch: 5-point capacitive, optical bonding, G + G toughened glass, 6H hardness, I2C
- Audio: built-in 8Ω 2W speaker on a 4PIN PH1.25 header, plus 3.5mm output
- Keyboard: 67-key QWERTY silicone
- Power input: USB-C charging port
- Battery: 3.7V 5000mAh included, 2PIN PH2.0 header, 67 × 55 × 12 mm bay
- Power management: UPS, charge and run simultaneously
- Power control: short press to turn on, double press to turn off
- Materials: CNC-machined aluminium front cover, PC + ABS back cover
- Dimensions: 93.5 × 168.5 × 37 mm; 20 mm thick at the keyboard end; R6.5 mm corners
What's in the box
- PocketTerm35 main unit × 1
- Pi 4 side panel / bracket × 1
- Pi 5 side panel / bracket × 1
- Micro HDMI adapter × 1
- Type-C male to 4PIN PH1.25 female adapter × 1
- 1.27H 4PIN opposite-direction 15cm double-ended cable × 1
- 120mm HDMI cable × 1
- 3.7V 5000mAh polymer lithium battery with cable × 1
- Screw kit × 1
- Screwdriver × 1
- Pi 5 side silicone power button × 1
- Black power button cap × 1
You'll also need
- A Raspberry Pi 4 Model B or Raspberry Pi 5
- A microSD card for the operating system
- A low-profile heatsink or cooler to suit your board — remember the 2.5 mm clearance limit
- A USB-C power supply for charging (a 27W Raspberry Pi supply is ideal for a Pi 5 build)
Jargon buster
Plain-language definitions for the technical terms used above.
- ESC
- An ESC, or electronic speed controller, is a driver commonly used to control brushless motors, especially in drones and RC vehicles. Compared with a field-oriented control driver, a conventional ESC typically offers less smooth low-speed control and less precise torque or position control.
- FPC
- FPC stands for flexible printed circuit, a thin flat flexible cable or connector style often used where space is tight or some movement is needed, commonly for displays, cameras and other high-density connections. Connecting to an FPC connector generally needs a matching cable with the correct pin count, pitch and contact orientation.
- GND
- GND is the ground or reference connection (0 V) for a circuit. When connecting two devices together, their grounds must be joined so both agree on what counts as a low or high signal.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- HDMI
- HDMI is a common digital video and audio connection used by computers, media players, and many displays. If a display kit has HDMI input, it is usually much easier to test with a single-board computer because it can act like a normal monitor.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IPS
- IPS is a type of LCD panel that keeps colours and contrast more consistent when viewed from an angle. This matters for small displays that may be mounted in a dashboard, handheld project, or enclosure where the viewer is not always looking straight on.
- LCD
- LCD stands for liquid crystal display, a screen technology that uses a backlight and liquid crystals to show images or text. It matters because LCD modules usually need a display driver and enough controller pins or a bus interface to send image data.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- M.2
- M.2 is a compact edge-connector standard for plugging small modules - such as SSDs, wireless cards or microcontroller modules - into a host board without soldering. The same slot shape can carry different interfaces (for example PCIe, SATA or USB), so keying and the supported module type need to be checked.
- microSD card
- A microSD card is a small removable flash memory card used to store data such as audio, images, logs or program files. Its capacity and formatting (often FAT32 or exFAT) affect how much can be stored and whether the card needs preparing before use.
- RP2040
- The RP2040 is a dual-core Arm Cortex-M0+ microcontroller chip from Raspberry Pi, used on many maker boards and offering programmable I/O, multiple GPIO pins and reasonable processing speed. Code and accessories built for that chip should work where RP2040 compatibility is listed, though demanding tasks such as reading a camera can require careful pin allocation and timing.
- SCL
- The clock line used by the I2C bus to keep data transfers timed between a controller and connected devices. When wiring I2C, SCL must be connected to the SCL pin on every device sharing the bus.
- SDA
- The data line used by the I2C bus to carry information between a controller and connected devices. When wiring I2C, SDA must be connected to the SDA pin on every device sharing the bus.
- Type-C
- USB Type-C (USB-C) is a small, reversible USB connector used for charging, power, and data transfer on many modern devices. A Type-C port or plug indicates the cable and charger connection needed to power, charge, or communicate with a device.
- UPS
- An uninterruptible power supply is a battery-backed power system that keeps a device running when external power is unplugged or fails. For an embedded computer, it helps prevent sudden shutdowns that can corrupt files or interrupt a project.
- USB-C
- USB-C is a small, reversible USB connector that can carry power, data and, on some devices, video over a single cable. The same connector can range from charging only to high-speed data, so the functions a given port actually supports vary.
Find this product in
Tutorials & Links
Guides, forum threads and other useful pages elsewhere on the web
PocketTerm35 Wiki — Product Overview
Wiki / Docs · docs.waveshare.com
Waveshare's official documentation: features, interface and button descriptions, internal space and battery bay limits, dimensions, kit selection guide and package contents.
PocketTerm35 Assembly Guide
Tutorial · docs.waveshare.com
Step-by-step build instructions with photos and video — fitting the Raspberry Pi, routing the HDMI and USB-C cables, connecting the battery and choosing the right side panel.
PocketTerm35 Software Configuration
Tutorial · docs.waveshare.com
Two ways to get the display and touch working — the config.txt overlay lines and DTBO file for a stock Raspberry Pi OS install, or Waveshare's pre-built PocketTerm35 image download.
PocketTerm35 FAQ
Useful Link · docs.waveshare.com
Answers to the common ones: the correct shutdown sequence, fixing the Pi 5 "insufficient current" warning with PSU_MAX_CURRENT, turning the screen off under Wayland, and troubleshooting unresponsive touch.
PocketTerm35 Community Builds & Video Reviews
Project / Build · docs.waveshare.com
A collection of independent builds and hands-on video reviews from the maker community, including ETA PRIME, That Project and leepspvideo's Kali Linux cyberdeck build.