This is my home page
Thank you for venturing into my corner of The Internet, to read my stories of engineering and technology, and explore the projects I’ve created and am in the process of creating. I primarily focus on home automation, homelab, and virtualization, but also enjoy building and making things. Feel free to browse the blog for regular updates, project pages for long term project descriptions, and my Youtube and Twitch channels for video content and casual relaxation. I hope you enjoy your journey along the way!
Waveshare UPS Battery Backup for your Raspberry Pi! With Data Logging to MQTT
As some of you may know, I have a Raspberry Pi which handles all of the radios for Home Assistant. It runs ZwaveJS2MQTT (using the WebSockets connection to Home Assistant, not MQTT), Zigbee2MQTT (using MQTT), and RTL-433 (also using MQTT). So, it’s fairly critical infrastructure. Usually, with critical infrastructure, I try to get it PoE powered so I don’t have to worry about power bricks and can get battery backup via the CRS328 network switch in the basement (which is on a battery of its own).
Backup Proxmox VE to the CLOUD! Backup Hook Scripts and S3
Proxmox has a pretty good backup scheduler, but it relies on the backup destination being mounted as a storage location. This implies that the backup destination needs to be a protocol that Proxmox supports - SMB (CIFS), NFS, … or Proxmox Backup Server. If you want to push your backups to a cloud service, you probably need something a bit more complicated. Thankfully, Proxmox’s backup scheduler thought about this and has a hook feature we can use for this purpose, and we can use any protocol supported on the Debian base system, including things such as FUSE or s3cmd.
Sub-$100 Networked 433Mhz Receiver for Home Assistant
I previously wrote about my install of RTL-433 on a Raspberry Pi, running Raspberry Pi OS Buster. With the release of Bullseye, rtl-433 is now merged into the repository and doesn’t need to be compiled from source. So, I thought it would be a good time to revisit this project and make a video about it, this time using a cheap eBay thin client instead of a raspberry pi, and showcasing my setup a bit.
CNC Router Web Control Appliance
In this part of the 3018 Desktop Router project, I setup a permanent home for CNCjs on a Dell Wyse 3040 thin client. I’m running CNCjs as the CNC control software and G-code sender (the CNC’s grbl controller is actually doing the motion control). I’m using mjpg-streamer to add a USB webcam to the CNCjs web UI, with nearly no load on the CPU to encode. And I’ve setup a script to launch ffmpeg to record the mjpeg stream when g-code is started and stopped (also using nearly no load on the CPU to transcode).
New Toy! HP MicroServer Gen8
Today, I open a new gift to the homelab - an HP MicroServer Gen8. This little chonky cube is full of hard drives and not a whole lot else, making it a perfect test system for ZFS, TrueNAS, Proxmox VE and Proxmox Backup Server, etc. and I’m already planning the videos I want to make with it. So come along as I open it up and see roughly what’s inside, the specs, and use HP iLO (their proprietary IPMI) for the first time.
My Introduction to CNC - 3018 Desktop Router
My dad bought a Sainsmart Genmitsu 3018 PROver CNC router over a year ago, but never really set it up or learned how to use it. Since I enjoy the role of creating and maintaining tools and infrastructure, I decided to help him set it up and operate it to cut thin polycarbonate sheets. In this first episode, I hook the machine up to my laptop and try to cut out a representative model from 1.
A Viewer’s Donation (Part 1) - Dell Wyse 7010
Casually tearing down the Dell Wyse 7010 (Zx0) that was kindly sent in by a viewer named Tom! Thanks Tom for making this happen. Tom also sent an HP thin client, but you guys only get one treat per video, and that one needed Torx bits that I didn’t have handy on the bench. tl;dr the CPU supports AMD-V (not that you really have enough RAM to think about virtualization, but you can expand it with ordinary DDR3 DIMMs), the GPU is kinda awful, and it has a Realtek NIC.
Net Booting the Proxmox VDI Client (feat. Alpine Linux)
This is a continuation of my previous article on the Net Booted Thin Client. The instructions got way too long, so I created a new article for the client setup. You need a functional server setup (TFTP, HTTP, iPXE) which I did in my previous post. I could use something like Linux Terminal Server Project, but that’s a bit overkill for this, and I wanted to learn Alpine anyway, so I’ve chosen to use Alpine Linux for the client operating system.
Not Every Project Works, And That’s Okay (Multiseat USB Dongles)
Sometimes, projects don’t work. Today, I’m going to describe a bit about a few of them. Thank you for coming to my ted talk lol.
I’ve been working on Linux Multiseat for awhile now, it’s a topic that has fascinated me for over a decade now. But, getting it to actually work with cheap hardware has eluded me. So, here’s a bit of an overview of what I’ve learned so far.
Making the $250 Proxmox HA Cluster Hyperconverged
I previously setup a Proxmox high availability cluster on my $35 Dell Wyse 5060 thin clients. Now, I’m improving this cluster to make it hyperconverged. It’s a huge buzzword in the industry now, and basically, it combines storage and compute in the same nodes, with each node having some compute and some storage, and clustering both the storage and compute. In traditional clustering you have a storage system (SAN) and compute system (virtualization cluster / kubernetes / …), so merging the SAN into the compute nodes means all of the nodes are identical and network traffic is, in aggregate, going from all nodes to all nodes without a bottleneck between the compute and SAN nodes.