OpenBSD on the Huawei MateBook X (2020)

My old 2017 Huawei MateBook X has been my most reliable laptop and continued to be my daily-use workstation despite trying half a dozen others (and a desktop or two) in the past four years. Every time I'd try a new laptop, certain components wouldn't work properly, or the keyboard would feel strange, or the screen quality would be poor, or a constantly-running fan or some coil-whine noise would drive me nuts. And every time, I'd return to my trusty MateBook X and everything would just work silently.

I finally have a newer model of the MateBook X and I'm happy to say it lives up to its predecessor and has replaced my 2017 model.

huawei matebooks x

Continue reading 2,704 words...

My Fanless OpenBSD Desktop

After the disappointment of my X1 Nano and learning that all future Intel "Evo"-branded laptops would lack S3 suspend, I started thinking about returning to my M1 MacBook full-time or building an OpenBSD desktop. I chose the latter, building my first desktop machine in many years.

desktop with screen and new desktop system

Continue reading 2,828 words...

A USB Loader for the Cidco MailStation

Last year I wrote about the Cidco MailStation and how I was using it as a Z80 development platform. One of the biggest hurdles to running code on them is that it must be uploaded over the MailStation's parallel port with a LapLink cable and some custom software (although it's certainly easier than having to pull and flash a chip).

I recently created a USB data loader device that allows for easier development from a modern computer and implements the MailStation's custom data encoding routines in its firmware.

Continue reading 947 words...

Arduino Development on OpenBSD

Back in 2017, I bought an Arduboy, a fun little Arduino development system which integrates an ATmega32U4 8-bit CPU, 32 KB of flash storage, 2 KB of RAM, a 128x64 pixel OLED display, some buttons, a speaker, and a battery in a Gameboy-like package.

OpenBSD had an old Arduino package available without the Arduino IDE, and it instead included a custom Makefile for end-users to build off of for compiling projects. But it was all pretty old and crufty and kind of sucked the fun out of tinkering with a new piece of hardware.

Continue reading 754 words...

Cidco MailStation as a Z80 Development Platform

The Cidco MailStation is a series of dedicated e-mail terminals sold in the 2000s as simple, standalone devices for people to use to send and receive e-mail over dialup modem. While their POP3 e-mail functionality is of little use today, the hardware is a neat Z80 development platform that integrates a 320x128 LCD, full QWERTY keyboard, and an internal modem.

After purchasing one (ok, four) on eBay some months ago, I've learned enough about the platform to write my own software that allows it to be a terminal for accessing BBSes via its modem or as a terminal for a Unix machine connected over parallel cable.

mailstation on desk showing main menu

Continue reading 2,536 words...

Dolch PAC 64

The Dolch PAC 64 is a portable, rugged Pentium-powered PC from the mid 1990s. It was usually used (and can usually be found on eBay) as a "portable network sniffer" complete with multiple network cards supporting multiple media types.

dolch pac with keyboard unfolded on desk

Continue reading 1,280 words...

OpenBSD on the Lenovo ThinkPad X1 Carbon (5th Gen)

ThinkPads have sort of a cult following among OpenBSD developers and users because the hardware is basic and well supported, and the keyboards are great to type on. While no stranger to ThinkPads myself, most of my OpenBSD laptops in recent years have been from various vendors with brand new hardware components that OpenBSD does not yet support. As satisfying as it is to write new kernel drivers or extend existing ones to make that hardware work, it usually leaves me with a laptop that doesn't work very well for a period of months.

After exhausting efforts trying to debug the I2C touchpad interrupts on the Huawei MateBook X (and other 100-Series Intel chipset laptops), I decided to take a break and use something with better OpenBSD support out of the box: the fifth generation Lenovo ThinkPad X1 Carbon.

thinkpad x1 carbon running openbsd on desk

Continue reading 2,003 words...

OpenBSD on the Huawei MateBook X (2017)

The Huawei MateBook X is a high-quality 13" ultra-thin laptop with a fanless Core i5 processor. It is obviously biting the design of the Apple 12" MacBook, but it does have some notable improvements such as a slightly larger screen, a more usable keyboard with adequate key travel, and 2 USB-C ports.

It also uses more standard PC components than the MacBook, such as a PS/2-connected keyboard, Intel WiFi card, etc., so its OpenBSD compatibility is quite good.

huawei matebook on desk running openbsd

Continue reading 1,672 words...

WiFi232 with a Macintosh 512Ke

Back in 2015, I created a BBS for Lobsters that worked in a web browser via WebSockets. After getting an old Mac earlier this year, I wanted a way to access the BBS from the Mac as natively as I could. Adding telnet and SSH frontends to the BBS was not too difficult, but being able to login from my Mac took a bit of work.

In January I got a Macintosh 512Ke on eBay and spent some time fixing it up. The screen would occasionally flicker and shut off, but banging on the side of the case would sometimes bring it back. Some research pointed me to the analog board needing some capacitors replaced, which has completely solved the problem.

Continue reading 1,696 words...