Building Lambda Cyberdeck 910 in a Nanuk 910 case
I built Lambda Cyberdeck 910 as a portable Raspberry Pi 4 cyberdeck that could handle software-defined radio work. The whole thing lives inside a Nanuk 910 case, uses a 7-inch HDMI display, keeps a Logitech Pebble keyboard tucked into its own tray, and gives me a compact place to run SDR++ with an RTL-SDR V4.
This came out of a few months of tinkering with the Raspberry Pi 4 and RTL-SDR. I wanted something that felt complete when I opened the lid, not just a Pi, a dongle, and a mess of wires on a desk. I also wanted to share the whole path once it was working, so the repo is not just a model dump. It is the printed parts, the assembly guide, the Raspberry Pi setup, and the small helper scripts that make the hardware easier to use.
What this project actually is
Lambda Cyberdeck 910 is mostly a hardware build guide. The important pieces are the printable case internals, the exact hardware list, the assembly order, the Raspberry Pi OS setup, the SDR install steps, and a rotary encoder input service that makes the deck nicer to use once it is built.
That matters because this is not a custom operating system or a huge app. It is a practical Raspberry Pi desktop build with a very specific physical layout. The repo shows how I wired the layout together and how I configured the Pi so it behaves like a self-contained SDR cyberdeck instead of a half-finished enclosure.
How I laid the hardware out
The layout is split across a top panel, a bottom panel, and a keyboard tray. The top panel carries the 7-inch 1024x600 display, speakers, and antenna mounts. The bottom panel holds the Raspberry Pi 4 and the port tray. The tray is shaped around the Logitech Pebble Keys 2 K380s, including its natural slope, which is one of those tiny details that makes the finished build feel a lot better in use.
I also split the big printed parts into left and right sections so they can be made on smaller printers. That makes the project more approachable even if you do not have a huge print bed. The tradeoff is a little more assembly, but I prefer that over making the files harder to print in the first place.
The print itself is not tiny. The repo lists 747 grams of PLA, about 72 hours of print time, and seven main printed parts plus the small tray rods. That is a real weekend-plus project, but it is still manageable enough to build one piece at a time.
Why I built it around a standard Raspberry Pi desktop
The deck runs Raspberry Pi OS on a Raspberry Pi 4 Model B with a custom HDMI panel configuration for the 1024x600 display. After that, I layer in the fan setup, RTL-SDR drivers, and SDR++.
hdmi_force_hotplug=1
config_hdmi_boost=10
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
Where the SDR stack comes in
The radio side is built around an
RTL-SDR driver install
followed by an included sdr-plus-plus-install.sh script that
pulls down
SDR++
, installs the build dependencies, enables the RTL-SDR source, and
compiles it on the Pi.
I like that approach because it keeps the main use case obvious. This is
not just a ruggedized Pi case. It is meant to boot into a system that can
actually do SDR work. The README even carries the last-mile details that
usually get skipped, like setting SDR++ to the
RTL-SDR source, using 14.4 dB as a starting
gain, and forcing full screen with F11 when the UI feels too
large for the built-in display.
That is also why the deck still makes sense as a portable general computer. Once the Pi is up and the display is behaving, SDR++ is just one application living on a normal desktop environment.
The little bit of software that makes the knob worth having
On the software side, the rotary encoder ended up being one of the more
useful additions. I wired it to GPIO 5, 6, and 26, then wrote a small
Python script with pigpio and evdev so the Pi
sees it as normal Linux input. Turning the knob scrolls. Pressing it sends
a left click.
I like this approach because it keeps things simple. I did not want to build around app-specific shortcuts or anything fragile. As long as the desktop knows how to handle scroll and click input, the encoder works. The script just tracks the quadrature state changes, applies a small 10 millisecond debounce, and the systemd service brings it up automatically on boot.
sudo systemctl enable pigpiod
sudo systemctl start pigpiod
sudo systemctl enable rotary_encoder.service
sudo systemctl start rotary_encoder.service
Now this something I can interact with right away instead of something that always needs a separate mouse next to it!
How I built it from scratch
- Print the case parts, then assemble the top panel, bottom panel, and keyboard tray around the display, speakers, Raspberry Pi, and ports.
-
Flash Raspberry Pi OS with
Raspberry Pi Imager
and add the display settings to
config.txt. - Boot the Pi, update the system, and configure the cooling fan on GPIO 14.
- Install the RTL-SDR drivers, run the included SDR++ install script, and reboot.
-
Wire the rotary encoder, copy the files from
Scripts/, installpython3-pigpioandpython3-evdev, then enable the service. - Add the keyboard, launch SDR++, and start tuning.
That is really the shape of the whole project. None of the individual steps are magic. The value is that the repo puts them in one place and keeps the exact hardware assumptions visible.
What it looks like in real use
Once it is all together, the deck opens into a full little workstation. The screen is already mounted in the lid. The keyboard has a dedicated tray. The SDR dongle, antennas, and Pi all have a home. I can boot it like a tiny field machine instead of rebuilding the setup every time I want to scan, test, or just use the Pi away from a desk.
How I would extend it
The repo already leaves room for that. There is an optional list for things like a power bank, extra USB ports, a USB-C port, an AUX port, and locks. The printed parts can also be remixed if you want a different port layout or a different input idea.
On the software side, the best part is that it stays close to stock Raspberry Pi OS. I can swap SDR tools, add field logging, wire up different GPIO accessories, or change how the rotary input behaves without needing to tear up the rest of the build.
Closing thoughts
If you want to build your own portable Raspberry Pi SDR cyberdeck, start here with the repository and take it in your own direction from there.
I may occasionally have one available on lambda.guru or Etsy , but the main point of the project is still to make it buildable for anyone who wants to make their own.
Thanks for reading, and if you have any questions about the build or the software, feel free to reach out or open an issue in the repo!
