## Militarish Pi: Status update 1 I'm [building](https://developer.run/50) Raspberry Pi Laptop called Militarish Pi, remember? You are probably not interested in the many reasons[^travelot] 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](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#gistcomment-3805188) based on that. Hope you might find something useful: [![Full wiring](pic/pi2/full-200x.png)](pic/pi2/full.jpeg) ### Raspberry Pi 4 The biggest deal was upgrade to Raspberry Pi 4. It [can run](https://twitter.com/dmi0x3/status/1395710313312538628) 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](#power) is not a problem. And to address the heat issue I've added a new copper [heatsink](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-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. [![Sandwich with Raspberry Side A](pic/pi2/pi1-200x.png)](pic/pi2/pi1.jpeg) [![Sandwich with Raspberry Side B](pic/pi2/pi2-200x.png)](pic/pi2/pi2.jpeg) To achieve a hot-swap between RPI3 MicroUSB and RPI4 Type-C I've bought a [cable](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-magnetic) with changeable magnetic heads. Stripped and soldered it looks like this: [![Magnetic cable](pic/pi2/cable-200x.png)](pic/pi2/cable.jpeg) ### Chassis [![Top](pic/pi2/b-200x.png)](pic/pi2/b.jpeg) [![Side](pic/pi2/c-200x.png)](pic/pi2/c.jpeg) 1. An additional 20mm standoff to keep the display driver board in place 2. 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: [![Chassis](pic/pi2/a-200x.png)](pic/pi2/a.jpeg) 1. USB 3.0 Hub 2. SSD Drive 3. Magnetic cable [2242 size M2 SSD](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-ssd) mounted inside [USB3 Case](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-ssdcase). [The hub](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-hub) conveniently has 3 USB2 ports (for keyboard and [trackball](#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](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-cable5) and [RPi → Hub](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-cable6). Before finding the right combination I've bought ~20 cables, not joking. ### Trackball 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](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-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](https://gist.github.com/dmi3/5fe788a7e73c9dc12925dcc3a809609d#user-content-qtpy) is the tiniest choice that supports that. So I've created a small [script on CircuitPython](https://gist.github.com/dmi3/e5368b0acb3e5af34e0f99c6d945a159) for that purpose. Btw cursor is overrated and it is comfortable to [browse web with keyboard only](https://developer.run/47). [![Trackpoint](pic/pi2/d-200x.png)](pic/pi2/d.jpeg) ### Power With Raspberry Pi 4, display on 50% brightness and [internet browsing](https://gist.github.com/dmi3/0f4d152e9940d94bd8251dd6daf8323e) 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](https://www.aliexpress.com/item/33011106536.html). I found pass-through power banks hard to get, and UPS too bulky. I solved it by putting [5V7.5F SuperCap](https://uk.farnell.com/avx/scmt32c755srba0/cap-7-5f-5v-20-super-cap-radial/dp/2696630) between Powerbank and Raspi `+` and `-`. 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: [![Supercap](pic/pi2/supercap-200x.png)](pic/pi2/supercap.jpeg) 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. 🏷️DIY 🏷️raspberrypi 🏷️cyberdeck 🏷️linux 🏷️survival 🏷️gear 🏷️prepper [^travelot]: [Thays why](https://developer.run/60)