Militarish Pi: Status update 1
I'm building Raspberry Pi Laptop called Militarish Pi, remember? You are probably not interested in the many reasons1 that stopped me from working on the project, but you might be interested in the status update.
So here are photos from the current prototype. As build is in progress it looks ugly. Still publishing an update as soon as I could because I'm aware of multiple people doing their own great builds based on that. Hope you might find something useful:
Raspberry Pi 4
The biggest deal was upgrade to Raspberry Pi 4. It can run Kitty Terminal, Sublime Text, and Vivaldi Browser - basically all software in need! My initial concerns compared with Raspberry Pi 3 were power and heat. It turned out that power is not a problem. And to address the heat issue I've added a new copper heatsink. Note that I bought the model with a fan only because it has holes, which used to screw M3x6mm the whole sandwich to the chassis.
To achieve a hot-swap between RPI3 MicroUSB and RPI4 Type-C I've bought a cable with changeable magnetic heads. Stripped and soldered it looks like this:
- An additional 20mm standoff to keep the display driver board in place
- Note new screws - now Raspberry mounts via fan holes on the heatsink
With an upgrade to RPI4, I finally could forget about all inconveniences with SD cards, and use SSD:
- USB 3.0 Hub
- SSD Drive
- Magnetic cable
The hub conveniently has 3 USB2 ports (for keyboard and trackball), and one USB3 for SSD drive. As USB3 is a mess of specification (a lot of cables just do not work together) most complicated part was to find the right cables: Hub → SSD and RPi → Hub. Before finding the right combination I've bought ~20 cables, not joking.
The trackball is a portable way to control cursor when you have no space for a touchpad. A kind of obvious choice is Blackberry Trackball. The plan was to connect Trackball over USB not GPIO, so I needed a board to emulate the mouse over USB. Adafruit QT Py RP2040 is the tiniest choice that supports that. So I've created a small script on CircuitPython for that purpose. Btw cursor is overrated and it is comfortable to browse web with keyboard only.
With Raspberry Pi 4, display on 50% brightness and internet browsing over WiFi, laptop works 6+ hours.
One inconvenience with Xiaomi power bank is when you connect or disconnect an external supply to that powerbank it turns off the output for ~0.5 seconds. Theoretically it could be solved by a power bank that has pass-through feature or getting a dedicated UPS.
I found pass-through power banks hard to get, and UPS too bulky.
I solved it by putting 5V7.5F SuperCap between Powerbank and Raspi
-. It will magically allow Raspi to survive 20-40 seconds without being connected to power. Therefore continue to work during 0.5s delay. Also, 20-40 seconds even allow hot-swap of power sources:
It did not make it into the final build because for my use case (I mostly SSH to things or read things) UPS functionality is not really crucial. I usually don't use the device for more than 2-3 hours, so considering 6h lifetime. I just charge the device occasionally, usually when it is off. In case the device suddenly turns off - no big deal. ext4 is a robust file system and everything is auto-saved anyways.
With the addition of SSD and trackball into my build, there literally left no space for a SuperCap, so I've decided against it.