The Ribbonfarm Lab

This entry is part 1 of 5 in the series Ribbonfarm Lab

As I’ve mentioned in passing a few times, through the pandemic, I’ve been been spending a lot of time getting back into hands-on engineering, after nearly 20 years. I finally have one small thing worth showing off: the first test drive of one of my robots:

It’s not a kit design. I designed and fabricated this robot from scratch. It is probably the most complex engineering project I’ve ever done by myself in my life. I’ve had bit parts in larger, more “real” engineering projects, but they were all much easier to be frank, since my bit parts were mapped to my strengths.

Getting to this video has been a long, slow 18-month journey.

The 4-wheel robot above, called Accessory Before the Fact (ABTF), is a test rig for a more complex 6-wheel rocker-bogie rover, Nature is Murder (NIM), loosely inspired by NASA’s Mars rovers. This is mechanically nearly complete (modulo some design changes and reprints). The electrical rigging is not done, and the computer hasn’t been added yet.

ABTF and NIM are nearly identical from an electrical and computing point of view. Both use N20 drive motors and SG-90 servos, and are designed to be driven by a Beaglebone Blue (a robotics-oriented single-board linux computer, similar to the Raspberry Pi). The plan for this year is to do the electronics/payload/software development on ABTF, in parallel with refining and finishing the mechanical design of NIM. The hope is that when I’m ready for it, the two can be merged neatly.

Here’s a CAD view of what I hope the final thing will look like. I have some nice red PLA filament ready for printing the final design.

If you want to follow the play-by-play, I’ve been doing a long twitter thread about my adventures since April 2021.

I’ve doing this project along with a bunch of friends who are also working on their own rovers, as part of the Yak Rover project that is now in its second year. We each have our individual goals, and some loose shared collaborative ones. This year, our shared goal is to try and develop the beginnings of a rover operating system (we have regular weekly meetings Monday nights US time; join the Yak Collective and drop by if you’re interested).

The rover has been the flagship project of my evolving lab, and the two have been driving each other in a chicken-and-egg way — the needs of the rover drive the gradual capability expansion, and the capability expansion suggests ideas for the rover, as well as other ideas. Kinda like when you first learn to cook, the things you cook shape how your pantry and equipment expand, and that in turn determines what else you can cook and think of cooking.

Of course, I also have other little projects, and sometimes capability expansion happens through random impulse buying of cool tools, but for the most part, I’ve been pretty disciplined. I’d say 80% of the lab as it exists today is the result of the chicken-egg loop, and I’ve used almost everything at least once for a real purpose, which seems healthy to me. There’s very little by way of speculatively purchased unused “vanity” capability, and very few things I need for the rover that I don’t already have.

The only thing I really lack now is enough time to work as much on, and in, this lab as I’d like, and as much knowledge and skill as I’d like to make the most effective use of what I have. It sometimes takes me days to do things which my more accomplished hacker friends could probably do in minutes. And it doesn’t help that sometimes weeks go by without my being able to carve out time and motivation for a lab session. Speeding up this OODA loop is now one of my biggest personal priorities.

I get now how nations build out an “industrial base” this way, and why flagship projects like the Apollo program matter. Technological capability is a bit like strength training — it grows when you push past its current limits. But neither random acts of weight-lifting, nor fragile theatrical exhibitions of poster-child projects, do the trick. Capabilities and programs grow together, or not at all. You can’t pull off something like a Mars rover mission as a cheap theatrical stunt of national chest-thumping. It’s a costly signal of real capability.

The lab has been my main exploratory activity for nearly 18 months now, starting with when I bought a 3d printer and a starter Arduino electronics kit in August 2020 (labs, I’ve now realized, tend to grow around anchor pieces of equipment). Since then, I’ve built it up to a fairly sophisticated level, and in the process learned an astounding amount of mundane stuff about practical engineering that I never really learned through 10 years and 3 degrees in engineering. And the stuff I did learn through those 10 years — textbook math, science, design, modeling, simulation, and writing academic papers — now appears in a surprising new light through the lens of hands-on work, and I can apply it in far more leveraged ways.

A surprisingly big part of the effort and learning has been around technical shopping, which is as much of a core engineering skill today as being able to conceive designs, do calculations, or solder things.

For anything you buy, you have to first have a technical need that leads you to the discovery that a thing even exists (for example, you discover solder wick when you first realize you need to desolder something). Then you understand its working principles and learn to evaluate the specs. Then you are finally ready to buy — which means navigating the vast ecosystem of online procurement. From Amazon to specialized sites like McMaster-Carr and Adafruit, to wildly variable quality things acquired from eBay or Alibaba. I suspect knowing Chinese might be a big multiplier on this skill.

And once you actually buy something, there’s a >50% chance you won’t actually use the capability because the project that inspired the purchase has either been abandoned, or changed shape in some way. In the last 18 months for example, I’ve learned a fair amount about types of connectors (JST, DuPont, Molex) and crimping, and acquired boxes of connectors and several crimping tools. But as it turned out, I gave up on crimped connections for my rover and went with soldered — for now. ABTF has soldered connections. Even though I suck at soldering, I suck even worse at crimping (especially the tiny connectors used in the JST standard, for delicate 26-28 AWG wiring). But I still might switch to crimped for NIM, since that makes disassembly and reassembly much easier. So the investment (mainly in time, since the materials and tools are cheap) might still pay off.

It was especially illuminating to do the shopping through the pandemic, which provided me with my own little window into the problems of the global industrial supply chain. Since, through the same period, I was also supporting several consulting clients who were all facing supply chain issues at a serious corporate scale, my futzing around at this hobbyist level proved unexpectedly helpful.

If I were to try and teach what I’ve learned via a new kind of Engineering 101 class, one of the first field exercises I’d assign would be a shopping trip that forces you to learn the materials supply chain. There was nothing like that anywhere in my education. I did order stuff from a Digikey catalog back in 1997 when I was briefly working in a lab, but that was a one-off and I didn’t really gain any appreciation for technical shopping as a skill.

Here is the current state of the lab. I’m honestly quite proud of myself for getting so far. I don’t think of myself as a hands-on, practical person, and this has felt like learning a foreign language.

Besides the rover project, I have smaller projects going in optics, microscopy, astrophotography (telescope not shown), telescope-making, and clock-making. Here’s a view of a high-school-lab style optical bench I’m designing and putting together.

I’ve learned to “see” the lab as a set of capabilities in various states of activation and use (or disuse and decay), rather than a place with stuff in it. It’s a useful perspective shift, especially if you take care to include all the invisible things in the mental model, and avoid pigeonholing or boxing the capabilities according to arbitrary institutional capabilities (ie avoid thinking in terms of a “woodworking shop” or “chemistry lab” or “electronics workbench” — technological capability is more powerful if you don’t impose arbitrary boundaries on it).

A good baseline against which to evaluate the capabilities of a lab or workshop (I use the terms interchangeably now) is the basic level of capabilities that exist in a typical home. This means a basic home repair toolbox (screwdrivers, pliers, a wrench, a drill, tape, glue, tape measure, spirit level, hammer, nails/screws and anchors, perhaps a few saved Ikea hex wrenches), and a typical kitchen and bathroom with their limited inventory of chemicals and tools (knives, scissors, vinegar, baking soda, stove, hair dryer…), and a few basic car tools.

Call this the household baseline. Most functioning adults have at least this much by their late twenties. And this is extraordinarily impressive by the way. Though we think of early modern and pre-modern people as more DIY-skilled than us postmodern consumerist degenerates, that’s just a weird illusion.

We each exercise vastly more skilled technological production agency in our homes than 99.9% of humanity before 1900 or so. It just doesn’t seem that way because so much more agency has accumulated outside the household locus, and it is so much easier/cheaper to buy than build most things we need, that we feel relatively disempowered and reduced to helpless consumerism.

Here’s an incomplete list of current capabilities I’ve built up (in terms of both equipment and the knowledge and skills to use them) past the household baseline. Each of these corresponds to multiple hands-on skills, each with its own learning curve:

  1. Technical shopping, storage, and inventory
  2. Basic lab hygiene, safety, and organization
  3. Record-keeping and notes (knowledge management)
  4. Metrology (calipers, multimeter, pocket oscilloscope)
  5. CAD (using OnShape, a free full-fledged CAD tool)
  6. Basic small-scale 3d printing (PLA, TPU, PETG)
  7. Basic light wood and metal work with a Dremel, hacksaw, and files
  8. Fasteners and basic mechanical assembly/joinery
  9. Breadboard prototyping
  10. Arduino prototyping
  11. Basic soldering, crimping, heat-shrinking, wire harnesses
  12. LiPo battery management (more complex than you might think)
  13. Basic optics (lens, mirrors, prisms, spectroscopy)
  14. Specialized optics (including microscope, telescope)
  15. Rudimentary specialized photography (astrophotography)

Installing a capability is more than just buying stuff though. Sometimes it require some design and building of its own.

For example, since I’m especially sensitive to bad air, I had to rig up an exhaust venting system out of an exhaust fan, a length of duct tube, and a shoebox, in order to do soldering. When I solder, I open a window and vent the exhaust outdoors, and keep an air quality sensor on my workbench to track. Before I rigged this up, the air quality would shoot up into the 300s. Now, if I do it right, it doesn’t go above 30 or so and I can comfortably work for a while.

That’s just a small glimpse of the astounding amount of detail you have to master to go from paper-napkin sketch to a working modern artifact like even a small, simple robot. Reality has a surprising amount of detail.

And I’m just starting to get to the software side of all this, which involves 10x as much detail. Fortunately software is mostly free, and takes up no physical room. Unfortunately, it is my achilles heel since I’m not a good programmer, so it costs me vast amounts of time to get anything done.

Building all this up has taught me two things.

First, technical education as it exists today hides almost all of the complexity of environments suitable for exercising technical agency. Nearly 100% of the time, you’re operating in pre-existing, fairly complete environments that have been built up over time through dozens of projects by many people. The lab I briefly worked in early in graduate school, for example, probably had a few million dollars worth of equipment packed into a small 10×10 room, and had been built up over a decade. The work I did in the 6 months I was there probably amounted to adding a comma to the lab, capability-wise.

For most people who pass through modern professional-grade labs and workshops, their additions are likely to be marginal (though mine were particularly marginal since I had no taste or talent for experimental work back then, and didn’t care to acquire it). You will at best add a marginal amount of knowledge and capability through your work. On the flip side, much of the heavy lifting in anything you achieve is done by the evolved environment.

For example, a soldering station was already set up in the grad-school lab I worked in, and I learned only enough about soldering to finish the small tasks I was assigned such as making a few cables under the supervision of an older grad student.

This time around, setting up my own soldering capability, I learned vastly more, through hours of reading and watching video online and chatting with experienced solderers on twitter. It is commodity knowledge that others possess at vastly superior levels of expertise, but it still makes a huge difference to actually know it yourself.

So to the extent you haven’t personally built up the capability to get something done, even if you learn to use it narrowly under skilled supervision to get a job done for a project, you don’t really understand it. Building out a capability required to do a project on your own is an order of magnitude more complex of a project than simply doing the project in circumstances where the capability is already mature and skilled supervision is available.

Even your experience with a home kitchen or with household repairs involves activities at the margins of capabilities designed and installed by background professionals.

This latent-capability blindness operates at all levels: home environment, high-school lab and shop classes, trade and engineering school teaching labs, university research labs, and government and corporate labs where you learn advanced industry-specific skills on very specialized equipment through apprenticeship.

Except for the rare people who get opportunities to “found” labs and build up capabilities from the ground up, very few catch even a glimpse of what it takes to go from basic household-baseline technological agency (such as embodied by a home kitchen say) to producer-grade.

Incidentally, the metaphor from the ground up implies a lot more, and more literally, than it does in everyday usage. To build out a lab, you have to begin by considering the actual ground — is it level, is it reinforced to hold certain kinds of equipment? Then you have to consider ventilation and fire safety. Then the choice of basic furniture makes a big difference to how the capability will evolve (the 2 tables pictured are among the most expensive things in the picture of my lab above, and I’m really glad I didn’t cheap out there — it has made a big difference).

Second, post-internet technological modernity has made a deep difference to how technological capability environments operate. Fifteen years ago, when the “Maker revolution” got started as something like an indie subculture, this was just beginning, and you had to be a very talented hacker to participate. Now it has matured and gotten far more usable with ordinary levels of skill. I probably have a somewhat above-ordinary level of skill at this point, but I’m definitely not a natural hacker as far as talent goes.

But few people seem to have noticed that the “revolution” part is kinda over, and the fruits are ready and available to transform last-mile technological agency at surprisingly low cost, while requiring surprisingly limited levels of knowledge and skill.

Much of the attention centers on what I’ve come to think of as the charismatic megafauna of the post-Maker-revolution software-eaten lab or workshop: the 3d printer, the Arduino, the drone, and the GPU.

But there’s a lot more subtlety in the ecosystem that has grown up around these.

For example, I bought a $100 phone-sized oscilloscope that is a surprisingly decent substitute for the professional-grade ones that can cost thousands, the sort many of us have encountered in various labs, from high school to corporate. This $100 thing does 80% of whatever you might need an oscilloscope for, at 20% of the cost.

This 80-20 effect is all over the place. An older example is a Dremel (a cheap high-speed rotary tool with a large number of cheap attachments). It is a fairly capable general purpose hand-held machine tool that can do a lot that you might assume you need machine-shop tools for.

Or take the fact that cheap $10 controller or compute boards allow you to rethink equipment designs to operate differently and more cheaply. Or that cheap cameras and software allow you to replace complex and specialized kinds of sensing and measurement with vision-based generic capabilities.

Or take the fact that 3d printing allows you to make your own instruments and fixtures easily. I started making my own optical bench (pictured above) because I couldn’t find one I liked at a price I could afford, but I could find all the pieces I couldn’t make — lenses, mirrors and such — and design/fabricate the rest. And once I decided to do so, I realized I could do novel things that would result in a bit of capability you can’t buy.

The modern post-Maker-revolution technological environment has, ironically, enabled working in a way that would perhaps be more familiar to 17th century scientific revolution pioneers than to our immediate industrial age predecessors. They — and I mean people like Galileo and Huygens — tended to make most of their own instruments and tools.

This particular aspect of this whole lab building program actually shaped my interests in terms of the content. The scientific revolution featured a lot of attention on a few key areas, such as clockmaking and optics. My “portfolio” at the moment is a barbell of modern projects that are relevant to the brewing technological revolution, like robotic rovers, and scientific-revolution performance art LARPs, like an optics bench and my own pendulum clock (seen in the picture, built from a kit, which I wrote about in my clockmaking posts). I’m attracted to the latter, because it’s an interestingly direct way to rediscover what I suspect are the lost first principles of empiricism and phenomenological orientation that drove the scientific revolution. You can read a lot in history of science books, such as Thing Knowledge (ht Adam Elkus), or Tenth of a Second, about how the intertwined evolution of instrument-making, laboratory practices, mathematical thought, and philosophy, led to the scientific revolution, but there’s nothing quite like trying to make your own telescope or optical bench or clock.

But it is important to do this with a contemporary sensibility, informed by the capabilities of today’s technological environment rather than by nostalgia. Unless you’re researching the history of technology of course, in which case you can try to hand-grind your lenses and mirrors instead of buying them off the internet.

Besides the obvious difference that there is now a lot more knowledge about everything, freely accessible on Google, a big aspect of the difference is the sheer quantity of free, open-source tools and designs out there. This has radically changed the resource picture you’re working with. A random person today has vastly more resources to work with, for free, than even the best-resourced gentleman-scientist of the 17th century.

An even bigger factor than the information itself is the networks of live people around it, sharing what they know, often without being asked. It fascinates me that the best way to fix a software bug is to simply google the error message. Chances are, somebody has complained about it before, and someone else has figured out what to do. The same holds for any kind of skill (you can google things like “my solder doesn’t stick”). For almost any kind of technical issue, there is a place you can go and ask a question where it will likely get answered for free. In the 17th century, you had a handful of people across Europe painfully writing letters to each other. The Anarchy of the Googleable eats the Republic of Letters for lunch. And to the extent you need live co-conspirators for whatever you’re up to, it is surprisingly easy to form groups around even the most esoteric interests because geography is no longer a constraint. The Yak Rover group has members from both US coasts, Berlin, Finland, Israel, and Japan. The hard part is not forming groups, but managing time zones and finding suitable times to meet.

The stuff you acquire for money, and which takes up room in a lab, enjoys 10x-1000x leverage because of all the free stuff out there that takes up no room, and all the freely available collaboration energy that is there to harness if you want to.

To take a simple example, the first time I saw 3d modeling capability was on an early Silicon Graphics workstation (not internet-connected) at my father’s workplace in 1993. At the time, the computer and the software together cost tens of thousands of dollars. And of course, 3d printing was an expensive, temperamental, bleeding-edge capability. Today, you can use OnShape, a browser-based CAD tool that runs on ordinary computers, and is free if you publish your designs publicly. Major materials patents have expired, which means filament is very cheap. And the Cura software that generates the 3d printing files is also mature and free. And chances are, for almost anything you want, somebody has published a design already that you can either use or modify easily.

All this means, with a marginal investment of a few hundred dollars, you can have a complete design-print prototyping loop in your home. The robot in the video cost just a couple of hundred dollars worth of materials (not counting tools used), but it would have cost thousands more if I’d had to pay for licenses for all of the software I used, and tens of thousands more if I’d had to actually pay for the expertise I consulted on stuff that stumped me.

The lab as it stands has cost perhaps $3000 to build up, but the capabilities it represents, thanks to both falling costs, and all the free stuff it’s set up to take leverage, is probably equivalent to a million-dollar lab in 1990.

I’d like to add somewhat more advanced fabrication capabilities beyond a 3d printer and Dremel (I’m eyeing a desktop CNC milling machine), more serious compute (a machine learning and blockchain node workstation maybe?), and maybe basic chemistry and materials capabilities. But all that will have to wait till I move out of this apartment (this lab now occupies about half of our spare bedroom, which is my home office) and into a suitable starter mansion with room for a full lab/workshop and perhaps enough of a budget surplus to hire an Igor or a Jarvis.

I sometimes do wonder why I’m doing all this.

Partly of course, I’m doing it because I am a middle-aged cliche.

But I’ve also been doing it because I’ve been getting the growing sense that we’re on the cusp of the second big technological revolution within my lifetime. And as with the last one (the internet), there really is no alternative to diving in hands-on, since the theories and textbooks don’t really exist yet. I’ve been writing about it a bit on my Ribbonfarm Studio substack newsletter (see for example, the July 1, 2021 issue, The Realist Stack — the view there is already obsolete, but it’s a good snapshot), but the question that really interests me is — how can I actually participate myself, given my life stage, resources, and what I know of my strengths and weaknesses. This lab has been an exercise in figuring it out.

And unlike last time, this time there are way more moving parts. While you can do a lot with just an internet-connected computer or even just a phone, most of the fun and potential is unlocked if you add just a little more capability. And this is getting easier all the time. Many interesting advanced sensors are now available as hardware extensions to phones. Apparently the USB-C standard can deliver enough power to run a soldering iron. You can cloud-print 3d designs, but desktop 3d printers are getting better and cheaper every year.

I suspect you can unlock a lot more potential on the software and internet side of the fence, if you add just a little bit of capability on the atoms side.

Things are very different from the last time I did serious hands-on engineering work, back in 2006. And they are radically different from the last time I touched physical hardware and did any hands-on actual building, around 1998 (I did briefly build a kit robot in 2007, but abandoned that attempt because it was still too hard for my talents at the time).

But this time, I’ve managed to stick to it for 18 months and make slow, steady progress. Like I said, it’s been my main exploratory activity through the pandemic.

Normally, my “main exploratory activity” is where I get most of my inspiration for writing, but in this case it has been curiously difficult to find aspects and angles to write about. But it finally feels like this stuff has progressed far enough that I’ll be able to start writing about things related to it.

Which is why I’ve now given it a name — the Ribbonfarm Lab. Right now, the Ribbonfarm Lab exists as this physical space with its projects, a bunch of software artifacts, and a Roam graph with a bunch of notes about both all the practical details. There isn’t even a website for it, which is rare for a project of mine.

But I’m hoping it will grow into much more. Maybe even into something that I can make money off of, instead of spend money on (practically speaking, if it makes money, I get to spend more time and money on it, run a tighter OODA loop, and learn faster).

It’s a seed that’s taken nearly two years to plant. Let’s see if it can actually take root in the strange soil of the Permaweird.

Series NavigationTouching Transistors >>

Get Ribbonfarm in your inbox

Get new post updates by email

New post updates are sent out once a week

About Venkatesh Rao

Venkat is the founder and editor-in-chief of ribbonfarm. Follow him on Twitter


  1. Really enjoyed this article, in particular these lines:

    > Though we think of early modern and pre-modern people as more DIY-skilled than us postmodern consumerist degenerates, that’s just a weird illusion. We each exercise vastly more skilled technological production agency in our homes than 99.9% of humanity before 1900 or so.

    As a sort of loose parallel to where you might have been eighteen months ago, I’m currently wading through a complicated paper on how the motor system works ( and feeling that my understanding of what’s going on is very lacklustre.

    As a result I’m trying to work out what the best way to get to a better stage of understanding is. Obviously, some sort of practical understanding of anything is the best way to internalise the key concepts, but that’s more difficult when it comes to the human motor system than it is for building a robot or a clock.

    I was wondering if you’ve thought at all about how to develop an understanding of concepts that resist practicality? I’m not an engineer so there may be some similar problems in engineering that I’m unaware of.

    • Do you believe engineers somehow understand their own brains because of Venkats progessivist shtick?

  2. Great post! As one middle-aged cliche to another, thanks for sharing your story!