● ● ● jp@thejpwalker:~/projects

ls -la ~/projects

huginn/ — handheld cyberdeck [NEW]

pi-5-8gb

The big one: a fully custom handheld Linux deck named after Odin's raven. Pi 5 (8 GB) driving a Raspberry Pi Touch Display 2, a Pimoroni trackball wired over GPIO, and a 3D-printed enclosure modeled entirely in code — full CadQuery source, GPIO wiring map, and a complete build guide. Designed to be reproducible: anyone with a printer and a parts list can build one.

  • parametric case — every dimension is a variable, not a guess
  • GPIO-level integration: display, trackball, power
  • documentation-first build (the tech-writer half of me insisted)
raspberry-pi-5cadquery3d-printinggpiodocumentation

pihole/ — network-wide ad blocking [NEW]

pi-3b+

A Pi 3B+ reborn as the household DNS sinkhole. Every device on the network gets ad and tracker blocking at the resolver level — no browser extensions required. Next up: Unbound as a local recursive resolver (goodbye upstream DNS providers) and a secondary Pi-hole so DNS survives a reboot.

pi-holednsnetworkingprivacy

valhalla/ — the homelab

proxmox-ve

A Proxmox VE node (Ryzen 5 5700X / RTX 3060 / 64 GB) running virtualized services. Getting here was a saga: a failing original NVMe, a BIOS update just to get the Samsung 990 Pro 4 TB detected, and the recurring boss fight of clearing leftover GPT signatures (wipefs / sgdisk) before the installer cooperates.

  • n8n for workflow automation (LXC)
  • Ollama serving local LLMs
  • RTX 3060 GPU passthrough (in progress)
  • Jellyfin media server (planned)
proxmoxdockervirtualizationlocal-AI

jarvis/ — offline voice assistant

wyoming-satellite

A fully local voice pipeline on a Pi 4B with a Google AIY Voice HAT, talking to Home Assistant on a Pi 5. faster-whisper for speech-to-text, Piper for text-to-speech, openWakeWord listening for "Hey Jarvis." Debugged a mono/stereo mic capture bug that was silently killing wake-word detection.

home-assistantraspberry-piwhisperpiper

wled/ — addressable lighting

esp32

ESP32-driven WS2811 strips with proper level-shifting and power injection. The unglamorous electronics work — clean 5V rails, logic-level conversion — that makes the pretty colors actually reliable.

esp32solderingelectronics

cyberdeck-mk1/ — pocket build

pi-zero-2w

The proof-of-concept that led to Huginn: Pi Zero 2 W, a KB2040 acting as a composite USB HID, an Xbox 360 Chatpad for keys, and a Pimoroni trackball for the pointer. Equal parts firmware puzzle and physical-fit puzzle.

rp2040usb-hidcircuitpython

ragnar/ — pen-testing companion

pi-zero-w

The Bjorn/Ragnar "CyberViking" build on a Pi Zero W with an e-ink display — a network reconnaissance toy that doubles as a lesson in how these tools work. Sorted out an e-ink rotation quirk via the shared JSON config.

securitye-inknetworking

liquidctl-pr/ — open-source contribution

upstream

Reverse-engineered support for an ASUS ROG Ryuo III 360 ARGB AIO, mapped it onto the AsusRyujin driver with the right register offsets, and prepped a pull request for the liquidctl project. My favorite kind of bug: one fix helps everyone with the same cooler.

pythonreverse-engineeringopen-source

pollinator-station/ — parametric 3D print

cadquery

A bee & butterfly hydration station modeled in code with CadQuery + trimesh and printed in PETG, including a faked 45° chamfer built from stacked extrusion slices so the insects get an easy climb out.

cadquery3d-printingpetg
--------------------------------------------------------------

# write-ups with photos and wiring diagrams are landing here project by project