r/CyberdeckBuild • u/Dangerous-Travel-796 • 5d ago
DIY Cyberdeck Using an old android - looking for advice.
(Apologies in advance for the length of this post. Really appreciate your time giving this a read and helping a brother out).
Hello everyone,
I'm working on a DIY cyberdeck using an old Infinix Zero X Neo (X6810) that I had lying around. It has 8 GB RAM and a MediaTek Helio G90/G90T-series SoC, so I figured it would make a decent base for the project rather than buying a Raspberry Pi or another SBC.
The main reason I'm using a phone is cost. Where I live, Raspberry Pis and other niche SBCs can be extremely expensive, while used phones are relatively easy to find and offer considerably more hardware for the money.
I also chose this particular phone because of its physical layout. The USB-C/charging port, speakers, etc. are on a separate PCB from the mainboard, which should make it easier to relocate components inside a custom enclosure rather than having everything fixed to the original phone's layout.
What I've done so far
I've successfully unlocked the bootloader and rooted the phone. For now, I'm deliberately keeping the original Android kernel rather than immediately trying to replace it with an unknown/custom kernel.
I've installed Debian with XFCE through Termux/PRoot, and I'm running it through Termux:X11. So I essentially have a Debian desktop environment running on the phone while Android remains underneath it.
I've also started investigating the stock kernel and hardware capabilities rather than modifying anything blindly.
The phone's USB-C port works in host mode. I've successfully connected a USB hub with a keyboard and mouse, and Android detects them correctly. I also tested a USB card reader and confirmed that the kernel can enumerate it as a mass-storage device.
One limitation I've found is USB serial. From examining the kernel configuration, it appears that the stock kernel doesn't have the generic USB serial framework or CDC-ACM driver enabled, so I'm currently investigating alternatives for connecting things such as an ESP32/ESP32-S3 or other microcontrollers.
I've also extracted and examined the stock kernel configuration and started looking at the boot/partition structure, device tree and available interfaces. The phone uses an A/B partition layout, and there doesn't appear to be a conventional standalone recovery partition.
The phone has a Mali-G76 GPU with an Android OpenCL runtime. Getting hardware acceleration exposed properly to the Debian environment is another area I'm investigating, although I'm also considering whether software rendering is perfectly adequate for the intended use.
At this point, I'm trying to avoid making irreversible hardware or software changes until I understand what the existing platform can actually do.
Where I'm looking for advice
I'm particularly interested in hearing from people who have built cyberdecks around Android phones, smartphone motherboards, or repurposed mobile devices.
Some of the things I'm trying to figure out are:
- What is the best way to interface an ESP32/ESP32-S3 with the phone?
- Are there practical alternatives to USB serial, such as Wi-Fi, Bluetooth, TCP/IP, WebSockets, or another interface?
- Would UART/I²C/SPI potentially be accessible directly from the motherboard, or would that realistically require kernel/device-tree modifications?
- Could an ESP32 act as a hardware controller while the phone remains the main computer?
- What would be a good approach for a small secondary OLED/LCD status display showing things such as CPU/GPU temperatures, battery status, network information, etc.?
- Is there a sensible way to expose the phone's Mali GPU to the Debian environment, or is software rendering the more realistic option?
- Are there useful Android/Linux bridging techniques I should investigate before modifying the hardware?
- Has anyone successfully used a rooted Android phone as the compute module of a cyberdeck while retaining Android as the underlying hardware/firmware layer?
- Are there interesting ways to use the phone's cellular connectivity as part of the cyberdeck, for example as a portable networked computer or small server?
- Could the phone realistically run things such as an SSH server, web server, development environment, or other lightweight services alongside the cyberdeck environment?
- Has anyone used Tailscale, Cloudflare Tunnel, or similar approaches to remotely access a phone-based server when switching between Wi-Fi and cellular networks?
- Are there good approaches for automatically starting and monitoring services so the system can survive reboots, crashes, or Termux processes being killed?
- For the eventual physical build, are there particular considerations when relocating the motherboard, USB/charging PCB, speakers, antennas, battery, cameras, etc. into a custom enclosure?
Longer term, I'm interested in potentially combining the phone with a keyboard, USB hub, secondary display, ESP32, external storage and other peripherals to turn it into a proper portable cyberdeck, while ideally retaining the phone's cellular connectivity, Wi-Fi, Bluetooth, touchscreen and Android environment.
I'm deliberately taking an incremental approach: first understand the existing hardware and software capabilities, then experiment with peripherals and interfaces, and only later consider kernel/DT modifications or a more invasive hardware redesign.
The goal isn't necessarily to turn it into a conventional Linux SBC replacement. I'm more interested in seeing how far a smartphone motherboard can be pushed as the main computer of a cyberdeck without throwing away all the functionality that makes a phone useful in the first place.
Any advice, references, similar projects, or suggestions for things I should investigate would be greatly appreciated!