cyberdeck based on the Atreus keyboard
Phil Hagelberg 18a738680a Update to mention JST charging. 5 days ago
photos Update to mention JST charging. 5 days ago
LICENSE Update readme. 9 months ago Update to mention JST charging. 5 days ago
deck-assembly.tex Update to mention JST charging. 5 days ago
deck-case.svg New deck back plate with charging gap. 5 months ago
makefile Add assembly instructions. 5 months ago Update to mention JST charging. 5 days ago

Atreus Deck

A cyberdeck design that uses the Atreus keyboard as its base.

The current design accommodates a Samsung Galaxy S5 device as its core. Future designs may work with other models of device. It's recommended to use Termux on LineageOS, though in the future it may support PostmarketOS.


Central to the notion of the Atreus Deck is to take hardware that would otherwise be discarded and breathe new life into it thru the magic of lasers, DIY, and free software. This is not aiming to replace your laptop or your mobile phone, but maybe it could replace a tablet with something that's designed for building things, not just using apps someone else sold you.

The idea is you do as much as possible from the terminal, often using SSH to connect to more powerful machines and falling back to the browser only as a measure of last resort.

Currently it's necessary to use the touch-screen for the browser since surfingkeys refuses to install on mobile Firefox.

atreus deck photo

Currently in prototyping stages; hopefully available as a kit in a few months.


  • Atreus keyboard, minus the USB cable
  • Samsung Galaxy S5
  • USB OTG cable (at least 30 cm)
  • 5 layers of laser-cut case (cut middle layer thrice)
  • 4 18mm M3 screws and acorn nuts
  • 2 washers
  • 2 25cm lengths of 14-gauge galvanized iron wire
  • 2m nylon strap
  • 2 lengths of hookup wire
  • USB micro B port

The problem of the glossy screen can be reduced with an anti-glare adhesive layer. This causes a small amount of distortion in the colors if you look closely, but it makes it much more useful in well-lit locations.


A guide is available.

OS Setup

Of course, you can use a device with the default OS on it, and that will work fine. But LineageOS is much nicer than the one that Samsung ships, so it's highly recommended to replace it.

  • Install adb, the Android debug bridge, on your computer
  • Enable developer mode on your device.
  • Compile Heimdall from source (need a version newer than 1.4.1, but you can skip the frontend)
  • Install LineageOS
    • Use Heimdall to install TWRP recovery
    • Use TWRP to flash the latest LineageOS image
    • Use TWRP to flash the LineageOS su addon
    • You can also flash the Google Apps addon if you need it

Whew; that's a lot of steps. It's annoying that you can't just drop a Debian ISO on a USB stick and have it just work, but such is life on Android.

Minimum Recommended Application Setup

Connect to a WiFi hotspot.

  • Download F-Droid with the built-in browser.
  • Go to the "Files" app and make a copy of the downloaded FDroid.apk in the same directory.
  • Tap on the copy and install it (yes, really; it won't install the original)
  • Launch F-Droid, install at least these apps: (recommended)
    • Fennec (Browser)
    • Hacker's Keyboard (fixes some weird ctrl-key behavior)
    • Termux (Terminal emulator with Linux chroot and package manager)
    • Termux:Styling (unless you like the default style and font)
  • Change the browser's default search engine (recommended)

The first app you install from F-Droid will prompt you to grant permissions, which you'll need to do.


  • Connected devices > Disable Bluetooth and NFC (recommended)
  • Display > Advanced > Rotation settings (only works in LineageOS)
    • Auto-rotate screen: on
    • Rotate lock screen: on
    • disable all but 90 degrees

Focus a text area without the keyboard plugged in, and the notification bar will show "Change keyboard". Select "Hacker's keyboard". Then plug the keyboard in, it will prompt you to configure it; choose "Hacker's Keyboard" there as well.

Launch Termux and install some packages. Here are the ones I use:

$ pkg install -y emacs lua openssh rlwrap rsync zile gnupg curl man make

The pkg command works just like apt on Debian systems, but the selection of packages is somewhat more limited.

Pressing super+enter will take you back to the home screen.




Copyright © 2018-2019 Phil Hagelberg and contributors

Released under the GNU GPL version 3 or later.