• Deutsch
  • English
  • Deutsch
  • English
  • Home
  • Blog
  • UFADE

    • What is UFADE?
    • Installation
    • Connect devices
    • Navigation
    • Reporting
    • Extraction
    • Logging
    • Developer options
    • Advanced Options
    • Data Operations
  • Testpoints
  • Legal

Building the "UFADE Touch" V1

UFADE Touch

Since there is some interest in the community for instructions on how to build my “UFADE Touch” acquisition system, I am providing a short construction report and tips for initial setup here.

Components

I aimed to build a system as affordably as possible.
My first version of a portable backup device is therefore not based on the current Raspberry Pi 5 but instead on the cheaper fourth-generation model with 4GB of RAM. I also considered that the 4B has lower power consumption than the Pi 5.

A touchscreen was essential so that backups could be performed without a mouse and keyboard during everyday use. I specifically wanted a display with an DSI interface to keep the four USB ports of the Raspberry Pi free for data sources and destination drives. Most inexpensive displays only offer HDMI and USB connections.

The cheapest display that met my criteria was available from a large international online retailer.
The product name: "7inch Capacitive Touch IPS Display for Raspberry Pi, with Protection Case, 1024×600, DSI Interface".

Advantages in my view:

  • 7 inches is pleasantly compact
  • The low resolution of 1024x600 (saves resources)
  • DSI connection for display and touch
  • Case included
  • Power passthrough for fan

To ensure longevity and stable performance, I opted for active cooling. I chose the "GeeekPi Ultra Thin ICE Tower Cooler". Besides being relatively quiet for its size, it offers a lot of surface area due to its slim fin design.

The operating system is installed on a 64GB SanDisk UHS-1 microSD card. That’s more than enough for a lean system and some essential tools. Backups are intended to be stored on external drives anyway.

Component summary (German retail prices as of July 2025):

ComponentPrice
Raspberry Pi 4B 4GB€57.90
WaveShare 7inch DSI LCD (C) (with case A)€79.99
GeeekPi Ultra Thin ICE Tower Cooler€22.99
Official Raspberry Pi USB-C Power Supply€7.39
SanDisk Ultra Android microSDXC UHS-I Card 64GB€7.09

Internationally, the components can often be found for significantly less.


Assembly

These are components intended for use with the Raspberry Pi, so assembly is mostly straightforward. Only the combination of the display and heatsink presented some minor issues.

The included spacers of the display later ensure that the Pi’s ports are accessible through the case. These are installed first, then the board is mounted. If you're not using a large heatsink, the supplied screws can be used to secure the board.

In my setup, the problem was that the supplied screws were too short to grip the spacer threads due to the added height of the cooler. I had to purchase four additional M2.5x10 screws.

Installation without Cooler

without cooler

Installation with Cooler

with cooler

Wiring

Wiring

The display is connected via the supplied DSI ribbon cable. Just make sure it's oriented correctly.

Drawback: The ribbon cable blocks access to the microSD card slot. So the OS should be flashed onto the card and inserted beforehand.


Power is supplied via the GPIO pins:

RaspberryDisplayFan
PIN3SDA1-
PIN45V-
PIN5SCL1-
PIN6GND-
PIN8-Blue
-GND (Fan)Black
-5V (Fan)Red

To fit the case with the cooler installed, a few minor modifications were necessary:

Case Modifications

case mod

Cover Modifications

cover mod

Since one of the clip mounts is now missing, the cover could fall off during transport.
Two small screws now hold it in place.


System

Originally I intended to use Manjaro as the base OS. Unfortunately, I couldn't get the display to work under Manjaro ARM, as the driver is not open-source and not part of the mainline kernel. Raspbian, however, includes the driver.

Using the Raspberry Pi Imager, the microSD card can be quickly prepared.

Before the first boot, a few changes to the config.txt (boot partition) were necessary for smooth operation.

Load display driver:

- dtoverlay=vc4-fkms-v3d
+ dtoverlay=vc4-kms-v3d
+ dtoverlay=vc4-kms-dsi-waveshare-panel,7_0_inchC,i2c1

Set a boot delay:

+ boot_delay=3

Without a boot delay, the screen sometimes remained blank. The delay gives the kernel time to load the driver.

Increase GPU memory:

+ gpu_mem=128

Automatic overclocking:

arm_boost=1

This setting was already present on my system (Rev 1.1) and allows the cores to run at 1.8GHz.


After the first boot, the display output can be rotated 180° in the display settings. Otherwise, the screen will appear upside down.
If you're building your own case, you can of course orient the system accordingly.
Before rotating, the touchscreen must be mapped to the display, or input and output won’t match.
These changes persist across reboots.


Software

Since Raspbian is based on Debian, the UFADE installation can follow the documentation at Installation.

If you append the parameter 1024 when launching UFADE - whether via shortcut, launcher, or alias - the interface will better fit the display’s native resolution (1024x600).

Coincidentally, the UFED Touch2 tablet also uses this exact resolution.

A desktop shortcut can be created by saving a new file named "UFADE.desktop" on the desktop. The contents should look like this (adjust paths accordingly):

[Desktop Entry]
Type=Application
Name=UFADE
Comment=Universal Forensic Apple Device Extractor
Exec=/home/<username>/<install_path>/UFADE/ufade_gui.py 1024
Icon=/home/<username>/<install_path>/UFADE/assets/ufade.png
Path=/home/<username>/ufade_out
Terminal=false

Of course, you can integrate other useful tools into the system the same way.

Examples:

Desktop with Shortcuts

Desktop

UFADE with Adjusted Resolution

UFADE

iLEAPP on Raspberry Pi

iLEAPP

The device is already quite usable and has completed several backups successfully.
The installed cooling solution remains pleasantly quiet, and even during extended copy operations, the maximum temperature so far has been 39°C.

I’ll continue working on the system. Additions and updates will be posted here on the blog.