A Mobile Minilab

by Steven K. Roberts
Nomadic Research Labs

Introducing a cognitive prosthesis and information toolkit built into a hand truck… with 14TB of NAS, video and audio production, sensor suite, communications, on-board power with solar charging, PC/Mac/Linux development tools, and even a few favorite toys.

Background

I seem to have a history of putting computers on wheels, starting with the Winnebiko in 1983. As the first “digital nomad,” I pedaled three versions of this machine 17,000 miles around the United States over the next 8 years, writing a book called Computing Across America that is being serialized for free on Substack. The bike evolved into a mad contraption with binary handlebar keyboard and extensive computing resources, culminating at last in BEHEMOTH — a 580-pound, 105-speed unixcyle that is now on permanent display in the Computer History Museum.

BEHEMOTH mobile lab, circa 1991

Through the ’90s, I worked on porting my technomadic toolset to water, with the Microship project eventually yielding an amphibian pedal/solar/sail micro-trimaran. In 2006, I moved to a sailboat of cruising scale, and spent years working on nautical geekery, then went to the Dark Side with a big comfortable power boat that never gets off the dock. Now, in my seventies, I have a 48-foot mobile media lab where I do digitizing projects for clients… and I have been craving a passion project.

During a ferry ride to the mainland a few months ago, I started fantasizing about an integrated toolset… a last hurrah… something that would incorporate all my essential tech into a portable package while presenting the archives of my life in a local AI. Not only would this be a technomadic swan song housing my favorite toys, but if I do it right, it could become the docent of my exhibit after I’m gone.

The resulting Bionode quickly took shape as a networked collection of systems with a stable power environment, sensor suite, communications, and video production tools… all built into a hand truck. (The name is a dotcom I bought a quarter century ago when attempting to productize a PIC-based gadget that would allow basic I/O via USB, but this is an even better fit.)

Bionode Packaging

There has been a welcome movement in recent years involving “minilabs” – systems built for home use, based on an emerging 10-inch rackmount standard instead of the traditional 19-inch units that go back to the black-crackle forties. I’ve lived with the latter all my life, and the mini-rack form factor is a svelte, refreshing packaging style that better reflects the miniaturization of our technological tools. There is a lively community on Reddit (65K members at this writing), including a few folks who have really helped shaped the field and point to trusted vendors (see resources on that page). There is a huge resource of downloadable 3D printer files on Printables and Thingiverse…

As this system started taking shape in my head, however, I realized that, like my aptly named BEHEMOTH, it was going to be hard to fit it all in. Even a tall rack from one of the excellent vendors like DeskPi was going to be a challenge with all I wanted to do, so I decided to make it a doublewide. I used 2020 extrusion and stock connectors to build this, with rack rails front and back (cage nuts rails shown are what became the rear; my 10-32 rails had not yet arrived at time of this photo):

Dual 8U 10-inch rack frame, now with rails on both sides — a total of 32U of rack space sharing 14-inch depth

From the start, I wanted an integrated UPS to keep power stable, and while there are a couple of DIY solutions, they would have gobbled precious real estate. With that, and the desire to have convenient on-board storage for essentials (laptop, cabling, tools, documentation) I decided to integrate this into a portable cabinet. That would quickly become unmanageable if it didn’t have integral wheels… so I dove into the deep rabbit hole of toolbox systems, at last choosing the well-supported and easily available Packout from Milwaukee:

Packout tool cabinet with integrated drawer and double-wide 10-inch rack frame

This involved some trickery… since it was clear when staring at it that I was also going to need a keyboard drawer. I bought a desktop for the Packout to give me a nice wood surface, and integrated that Penn Elcom drawer into the support system. If you look just below it, there is a Bluetti AC70 power system in the cabinet… not exactly a UPS (no NUT or other NAS support and no Home Assistant integration since they recently added encryption) but still, a sweet and well-scaled rig for the anticipated loads, including solar charge capability. Details will be in future articles in this series.

At this point, I was committed… this contraption was taking over a corner of my lab and spawning a shelf full of gizmos. Some of those would have to be mounted on top… the router with its antennas, a Shure studio mic on its arm, camera with prompter, key light, security cam, soundbar, fans for the compute stack, sensor module… so I used some half-inch HDPE and more of the 2020 extrusion, and conjured a hinged roof.

Of course, at some point I had to get busy on the geeky bits. Given the limitations of space in such a system, the console (keyboard, video, mouse) has to be shared except in situations when devices run headless and can be managed with SSH or a web interface. In my case, there are a few things that don’t fit that model, and I got a bit carried away with the overkill PiKVM:

PiKVM packaging in Bionode

For ages I was looking for an elegant solution to rack-mounting this that would still let me deal with cabling overhead. I finally kluged a clamping system with more of the ubiquitous 2020 stuff, and it survived the test of cabling (though that silly lever is history). But the bigger problem with this unit was that it is just plain complicated for a stand-alone home system instead of remote data center management. I wanted a way to just have the local console natively connect to the PC without having to fire up an external machine on the LAN and SSH to this device just to throw a switch. So… in the spirit of this quick teaser tour of Bionodal innards…

I mostly include this to show the emerging documentation standard — every device has a chapter in the Scrivener manual, most with a drawing done in draw.io running locally (excellent). This uses a cheapie KVM from Amazon to let me switch the console between PC and the overkill KVM, which can then do all the things that make it so expensive… which have actually turned out to be somewhat handy on occasion (and ATX is just bits, so some of that is an extra control and sensing pipe… but I’m getting ahead of myself).

Computers

Speaking of systems, Bionode currently contains a Minisforum PC with GPU (for local AI and Immich machine learning tasks), TrueNAS installed on a Terramaster F8 with 14TB of M.2 SSD, an older NUC running Ubuntu, a Pi5 with 1TB for Home Assistant, another identical Pi with native OS for dev, an older Pi3 devoted to Octopi 3D printing, and a Pi4 for SDR applications. It kind of blows my paleogeek mind that I can casually mention “Raspberry Pi with 1 terabyte.”

Bionode pies – room for 2 more fives with 1TB each, and the empty spot to the right of the 3 gets a unit for SDR

The machines are on the left half of the enclosure, in a configuration that is designed to optimize airflow. Convection helps elevate the exhaust from the MS-01 when its GPU is cranking, and the F8 NAS is blowing vertically anyway (over some nice heat sinks I installed with 3D-printed clips). The roof of this region has two fans, one of which exhausts up onto the bottom of a Flint router that can reportedly get hot at times. Spill from this then washes over an AIR-1 from Apollo, part of the Home Assistant installation in Bionode that gives me excellent air quality data.

Apollo AIR-1 catching a breeze from under the GL.iNet Flint router

One of the fun things about all this, which probably sounds like a haphazard combination of unrelated tools compared to some of the media servers and dev systems I’ve seen, is that we are starting to see synergy among systems. The Whisper/Piper voice (Nabu) is stitched to local AI, and I confess secret delight when one of my silly automations pipes up after guests leave and says “ah, the air is getting much better in here!” (CO2 dropped below 550). It is also aware of all relevant temperatures including power bay and most CPUs, NAS behavior, status of drawers and access panels, and so on… HA is becoming the Bionode’s nervous system, not the classic “home control.” Immich is running under TrueNAS, which was a bit of a nightmarish marathon of learning curves, but we’re now sticking the mostly idle GPU into a Docker container so it can handle face recognition tasks. That will also be handling some of the original development objectives for the system, and I’m getting the sense of cooperative interoperability.

Video System

I mentioned the devices on the “roof” — this adds up to a nice production suite for video projects, though the hinged 24-inch monitor that snaps magnetically in place is not really great for DaVinci Resolve compared to the larger ones I’m used to. I’m also mostly a Mac user, and the “big iron” in Bionode is a PC. What to do?

Prompter on the roof carries Sony ZV-E10 camera, with Shure MV7+ on a boom over the soundbar. Recording is ATEM Mini Pro ISO in the keyboard drawer.

For a while I was pretty sure the solution would be an M4 Mac Mini in 3D-printed mount, and I really wanted a good excuse to buy one for that unified memory. But when I started realizing how often I need an external laptop to poke at the PiKVM (and how Mac doesn’t really like to have its console coming and going) I realized that the more practical solution is to just keep a MacBook Pro around.

But wait, the point of this thing is to have all the gizmos on one device with wheels… does it now need an adjacent desk? Actually, no… I am just now installing a fold-out table for the laptop, which otherwise lives in one of the Packout drawers. This will own the MOTU audio interface as well as the ATEM Mini Pro ISO for video production, and the Prompter can do double-duty as a Zoom station.

Communications

In addition to network communications, I’ve been a ham for most of my life and have a deep fondness for radios. As this developed I kept eyeing a spot in Zone B (on the right side) where my little Yaesu QRP rig could fit, but that really is off in another domain entirely and would be a distraction. The plan now is to include all network-enabled comms in Bionode, then build a hand-truckable 19-inch rack for all the radio gear. Birdie-reduction protocol…

Still, we do have some fun comm toys in this machine. Meshtastic is essential these days if you want a quiet pipe between people without having to involve the Internet. It’s also a great way to pass notifications and low-bandwidth sensor data (using MQTT) as long as you keep it from spilling out to more public channels.

Bionode Meshtastic node (Heltec)

This is also the place for Software-Defined Radio (SDR) — I currently host a receive site that boggles the mind… a Beverage antenna connected to a port bit, with the RX-888 computer essentially digitizing the HF band. Having grown up peering into the dials of rack-mount tube radios (like the gorgeous Hammarlund SP-600), this is insane. Here is my last 24 hours which often shows 50,000 or more identified digital-mode hits like WSPR, PSK-31, etc.

A long-wire antenna at the edge of a forest is not a good fit for a hand truck, however, so the SDR in Bionode will be my Funcube Dongle, RTL-SDR, and the one I used to feed ADS-B servers from the boat.

I know, I’m a glutton for geekery… one good thing about a hand-truck substrate is that it is intrinsically space-limited (with a hard spec of being able to fit through typical interior doorways of 32″). We can do so much with tiny things these days that it’s hardly a constraint!

Where to from here?

I’m on a mad push to get the packaging done and cables properly dressed so focus can shift to software and applications… it’s been 4.5 months since I started this project, and I only brought the NAS up a couple of weeks ago. One of the main practical goals is to use this to isolate my extensive archives from the complexity of the digitizing lab, where I have 180TB of NAS and multiple computers. If I sell the business or shut it down, the personal mess would be daunting; if that happens after I shuffle off this mortal coil, it would be messier still. The Bionode modularizes my information life while being a cognitive prosthesis for an aging brain… and information toolkit/toybox.

But the real reason is the sweet technopassion that turns projects into obsessions — my geek manifesto on Gonzo Engineering sums this up pretty well. Every now and then I need one of these, and I look forward to sharing the details with you here, over in the Minilab subreddit, and occasionally in groups that focus on related components (like the Packout folks, who might enjoy some of the substrate hacks like power integration). This is the energy that kept the bike and Microship projects going for much of my life, and I miss it.