Houston, We Have Liftoff

A project log for The Homebrew Steampunk Laptop v2

"Admiral, this is an almost totally new Enterprise." (, Homebrew Steampunk Laptop)

StarhawkStarhawk 04/21/2019 at 21:510 Comments

I'm typing this /on/ the Steampunk Laptop. I had a bad HDMI cable and a bad keyboard cable, which mimicked the symptoms of a basically dead system.

A major thank-you and shoutout to Jody, a good local pal of mine and the owner of the town's better tech shop (if you or someone you know are/is anywhere in the Triangle or RTP regions of North Carolina, and you/they need computer assistance, go here / send them here -- Jody helped me troubleshoot -- he's brilliant at that (and I'm crap at it). After he helped me determine that the system was in fact booting, but that there were issues related to video/display and to the keyboard, I was able (with a few extra tips) to take the next set of necessary steps to deduce what was going on with the video -- simply a bad cable, as mentioned above.

The keyboard required some more extensive investigation, but it turns out that the USB implementation used by this partticular keyboard is incomplete -- it is USB 2.0 /only/. It will work with USB3.0 ports at USB2.0 speeds and with that legacy protocol. It will /not/ work at USB 1.1/1.0 speeds, however, no matter what you do, because the controller chip inside the keyboard does not strictly speaking support USB and is instead badly abusing its I2C pins to produce the signals. This means that using the keyboard with an unshielded USB cable will absolutely not work because of crosstalk. The damn thing won't even enumerate.

Fortunately, since this build requires pretty braided USB cables because duh, I had a spare somewhat-random one that had a different color from the rest (red vs white) but that had shielding inside and would work for the purpose. That is now the keyboard cable and -- as evident by the wall of text I'm erecting here -- the keyboard has had no complaints since.

As for the HDMI cable, I was able to relocate the LCD driver board to fit a shorter flat-style cable, and to fit a longer power cord from switch to driver board, as well.

Having fit everything back together, I plugged in the power supply, flipped the switch, and pressed the button -- and soon I was booting into Linux Mint 19.1's LiveUSB environment! The first attempt at installing the OS did not go so well -- GRUB2 would not install -- but this was fixed by changing the SSD access mode from IDE to AHCI and rerunning the installer.

So far the only lingering issue is Internet speed -- one of the antennas is boxed in, badly, so this is somewhat to be expected -- and I'm vacillating badly about how to fix that. I have a PCB antenna from a dead router that I can stick on the outside of the USB hub, and that will improve performance, but the required disassembly at this point is nearly Herculean. OTOH, I have a couple of nice USB adapters, but I'm really not sure that I want to go that route.

EDIT 6:45 PM EST 21 APR 2019 -- dug out a Netgear WNDA4100 USB WiFi adapter and a random USB cradle for it. Speeds are significantly improved. I think I'll stick with that for now... I'll put up the PCB antenna when something breaks or if I get a RAM upgrade... not that I'll need *that* any time soon.

Final system specs -- Intel 'NUC' DN2820FYKH motherboard (from 2014) + Celeron N2820 CPU / 4gb DDR3L RAM / 256gb ADATA SSD. The system has its stock internal WiFi card (switched off for the Netgear adapter) and an Anker 4-port USB3.0 hub hooked into the motherboard's lone USB3.0 port. Screen is a touch-capable SunFounder RasPi job that's 10.1" diagonally and 1280x800 px resolution. Keyboard is a MagicForce 68-key job with 'retro typewriterr' silver/black keycaps, and an Arduino Micro programmed with QMK firmware and some special sauce from me runs two rotary encoders -- the left side controls volume (spin 'up' for vol-up, 'down' for vol-dn, press in to toggle mute) and the right side is a mouse scroll-wheel ('up' to scroll up, 'down' to scroll down, and press for a wheel-click -- "mouse button #3 press"). Operating system is Linux Mint 19.1 with the Cinnamon DE (I made myself try it out -- it's not bad, compared to my usual XFCE. In some small ways, it's actually /better/.)

Later tonight or tomorrow morning I'll take the final set of photos and put that up in one last project log. After that, it hits the tip line like a raging locomotive's cowcatcher :P