Back to Blog
Hardware13 min read

We Printed the Hardware Ourselves: Eleven Weeks From One Red Box to a Product

·By Antonio Stipic
Five AIR LOCKER units packed into a cardboard box on a kitchen table, one carrying a printed asset label reading AU-HO-0003

There is a photograph from 26 January 2022 of a cardboard box on a kitchen table. Inside it, packed in bubble wrap with their power supplies bagged alongside, are five small black computers we printed ourselves. One of them has a white label on its side.

AU-HO-0003

Australia. Head office. Unit three.

The table is in Osijek, in eastern Croatia. The destination was Air Locker Training, an altitude training franchise founded in Newcastle, New South Wales. About sixteen thousand kilometres, give or take, between the box and the room it was going to live in.

I want to be precise about what that number meant, because every decision in this post comes out of it. It did not mean shipping was expensive. It meant that from the moment the courier took that box, if one of those machines misbehaved, nobody who understood it would ever be in the same room as it again. No walking over. No swapping a part. No looking at it. Whatever we had failed to think about was now permanent, sitting on a wall in a gym on the other side of the planet, waiting.

We had about eleven weeks of hindsight ahead of us. This is what it taught.

The part where it was still only software

None of this was the plan.

The oldest file in the archive is a video from September 2021 of the AirLocker app running on a tablet. Splash screen, then a welcome panel. Four months before any of the hardware existed, the software was already real.

That is the comfortable phase of a project like this, and it lasts right up until the requirement you have been quietly deferring arrives. Ours was the layouts.

A station screen plays video. Most of the time that is one clip filling the panel, and almost anything with an HDMI port can do that. But the catalogue also contains layouts that put twelve clips on one screen at once, and twelve simultaneous decodes is not a slightly harder version of the same job. It is a different job. The failure is not a dropped frame either. It is a member standing at station nine watching a slideshow while everyone around them trains.

We started on Raspberry Pi 4s, because that is where everyone starts and because for the single video case they were completely adequate. They could not do twelve. That is not a complaint about the Pi. We were asking for more decode than the silicon had, and no amount of tuning was going to conjure it.

So the answer became Windows mini PCs, managed through Intune. More expensive per station and much less charming. It bought two things. Enough decode headroom for the ugliest layout in the catalogue, and a fleet that could be patched and inspected from another continent.

That second one is the whole game, and I did not fully appreciate it at the time. Remote management is a nice convenience when the machine is downstairs. When the machine is in Newcastle NSW and you are in Osijek, it is the only relationship you will ever have with it.

The thing about somebody else’s box

The mini PCs arrived in their own chassis, which were perfectly good. They were designed to sit on a desk beside a monitor in an office.

Ours needed to disappear into the gap behind a wall-mounted screen in a commercial gym, survive being there, and look like it belonged to the brand rather than to whoever was cheapest that month on a components site. Those are not the same requirements, and no amount of wishing makes a desktop chassis into a wall fixture.

So we printed our own.

One red box

The first red 3D printed AIR LOCKER enclosure sitting on a windowsill with Croatian rooftops visible outside

14 January 2022. The first enclosure was red because red was the filament already loaded, and nobody was going to change it to make a prototype prettier.

I still like this photo more than any of the polished ones that came later. There is a whole product in it if you know what to look for. The proportions are roughly final. The logo is embossed into the lid, which turned out to matter. There is a barrel jack going in the side. And it is sitting on a windowsill above a Croatian street rather than on a bench in a factory, which is the honest picture of where this was made.

What a first print is actually for is finding out what you got wrong, and it is brutally efficient at it. Within about thirty seconds of holding this one we knew the wall was too thin, a port cutout was a millimetre out of position, and the lid needed clearance the model had not given it. None of that was visible in CAD. It never is. You print the thing, you hold it, you reach for the calipers, and you go back and change the model.

That loop ran for a week.

The week

I can reconstruct that week almost hour by hour, because the phone that took the photographs stamped every one of them.

Thursday 20 January starts at 15:14 with five enclosures laid out on a desk in front of a borrowed TV. One red, one small black, three larger black. Five attempts at the same object, none of them yet correct, lined up the way you line things up when you are trying to decide by looking rather than by arguing.

Five AIR LOCKER enclosure iterations grouped on a desk, one red and four black in different sizes, in front of a wall-mounted TV

Then the timestamps jump. 20:11. 20:17. 20:29. Prints take hours, and there is nothing to do while they run except wait and then find out. In the 20:11 photographs a lid is sitting on the magnetic build plate with the blue logo already embedded in it, which means that particular print started somewhere in the middle of the afternoon and finished in the evening.

There is a detail in the corner of one of the bench photographs that I like more than anything staged in this whole set.

One AIR LOCKER enclosure upturned and used as a parts tray, filled with blue printed offcuts and a screwdriver, beside two finished units and an opened donor machine

One of the enclosures, upturned and pressed into service as a parts tray, filled with blue plastic. Brackets, tabs, fragments, a snapped test piece, a screwdriver thrown in on top. That is the week that did not work, sitting in a pile next to the week that did, inside a print that was itself not good enough to ship.

Nobody photographs the failures deliberately. They end up in shot because the bench is where they live.

Friday 21 January is a different rhythm. 13:49, one finished unit standing upright on a wooden desk with the calipers still lying in front of it. 15:23, four of them in a row with the donor machine opened up behind, the filament spool, and the printer visible under the desk. Then 15:27, the same four, closer. Then 17:04, and they are in a cardboard box, and someone has fetched a tape measure and a roll of packing tape.

Between 13:49 and 17:04 the project stopped being a workshop and turned into a shipment.

Opening the patient

The part that makes people wince is the transplant. Every unit began as a MINIX mini PC. We opened it, lifted the board out of the case it was born in, and moved it into a shell printed that morning.

An AIR LOCKER enclosure opened up, showing the transplanted mainboard with its RAM and M.2 drive inside the printed shell

The moment that board leaves its original chassis, three problems that belonged to somebody else become yours.

Mounting. The original case had standoffs in exactly the right places, put there by people with the board’s mechanical drawings. That case no longer exists. Every mounting point now has to be designed into your print, and it has to be genuinely right, because a board slowly flexing against a plastic boss under its own weight is not a failure that happens on your bench. It is a failure that happens fourteen months later, in a gym, in Australia.

Ports. The connectors expect to line up with holes in a case machined to tolerances a filament printer does not have. There is no clever solution. You measure, you print, you check, you adjust, you print again. This is what the calipers are doing in the background of every workshop photo from that week. They look like set dressing. They were the actual work.

Heat. Heat is the one that would have killed us.

The heat path

A mini PC in its factory chassis is a solved thermal system. The vent pattern, the internal volume and the fan curve were designed together, by people with a thermal chamber and a test rig. Reprint the outside and you have quietly discarded all of that engineering while keeping every watt that made it necessary.

Then look at where we were putting it. Mounted in the gap behind a screen, close to a wall, in a room full of people generating heat, decoding video continuously for an hour at a stretch, several times a day, in Australia. High sustained load, restricted airflow, warm ambient. If you set out to design a hostile environment for a small computer, you would land somewhere near there.

And nobody is coming to clean the fan.

That last sentence is the design brief. In an office, a thermal problem announces itself, somebody notices the noise, and a person with a screwdriver deals with it. Sixteen thousand kilometres away, a thermal problem is a machine that gets slower, then unreliable, then dead, in a room where the only available intervention is a franchisee turning it off and on again.

Two second revision AIR LOCKER units with dense perforated venting along the side panels

So the enclosure was designed around moving air across the board rather than around looking tidy. Dense perforation on the sides and the base rather than a few decorative slots. Internal volume kept close to the original so the fan was pressurising a path roughly like the one it was specified for. Mounting hardware kept clear of the intake, which is the easy mistake, because the bracket and the airflow both want the same face of the box.

Then we sent them, and waited to find out.

Five characters on a label

Before anything left the table, every unit got a printed label.

AU-HO-0003. Country, site, number. In our own office the same scheme shows up in the app as HR-JP-0002, Croatia, Jaspero, unit two.

This took maybe ten minutes to agree and it is the single cheapest good decision on the project. Here is the situation it exists for. It is the middle of the night in Croatia, a franchisee in Australia is standing in front of a wall of screens, and one of them is wrong. Without a naming scheme, that conversation begins with somebody trying to describe which box they mean. With one, it begins with a string that maps to a specific machine in Intune that you can reach, restart and inspect while they are still on the phone.

Identity before deployment, never after. Retrofitting names onto hardware already screwed to a wall on another continent is a job nobody has ever enjoyed.

Four finished AIR LOCKER units lined up on a bench ready for packing

The size was never negotiable

A hand holding an AIR LOCKER unit against the back of a wall-mounted television to check clearance

This is the photograph that explains the shape of everything.

The unit lives in the gap between a screen and the wall. That gap is set by the VESA bracket and it is not generous. Every millimetre of enclosure depth has to be found somewhere, and if it cannot be found the screen stands proud of the wall, and the install looks wrong in a way a gym owner will mention on the day and remember for a year.

So depth was fixed early and everything else negotiated around it. The board sets a floor you cannot go under. The fan needs its clearance. What is left over is your budget for wall thickness and airflow, and it is not much. There is something clarifying about a constraint that hard. It removes most of the arguments.

The logo is printed, not stuck on

A printed AIR LOCKER lid with the blue logo, still on the magnetic build plate of a Creality Ender printer

A small thing I will defend to anyone. The logo is printed into the lid in a second colour, mid-print, rather than applied afterwards as a sticker.

A sticker in a gym has a known lifespan. It catches an edge, someone drags a cleaning cloth across it, and within a year the hardware looks like a prototype that somebody forgot to collect. A logo that is part of the part cannot peel, because there is nothing there to peel.

The cost is a filament change partway through and some care around the layer where the colour swaps. Against a device expected to sit in a commercial space for years, in front of paying members, on the other side of the world where nobody can go and tidy it up, that is nothing.

The part nobody tells you about printing

A 3D printed part does not come off the bed looking like a product. It comes off looking like a 3D print, and everybody can tell the difference at a glance even if they could not explain what they are seeing.

What they are seeing is layer lines. A printer builds in stacked passes, and those passes catch the light in a way injection moulded plastic never does, in fine horizontal bands across every surface. On a bracket hidden inside a machine, nobody cares. On the lid of a device mounted at eye level in a commercial gym, in front of paying members, it is the difference between equipment and a prototype somebody left behind.

So every shell that went out was sanded and coated by hand.

Sanding a printed part is exactly as tedious as it sounds. You work through grits, knocking the layer lines down until the surface stops reading as stripes and starts reading as a surface, and you do it on every face that anyone will ever see. Then it gets coated, which does two useful things at once. It fills the fine texture the sanding leaves behind, and it gives you a consistent finish across parts that came off the bed on different days, at different ambient temperatures, from filament at different points in the spool.

That last one matters more than the aesthetics. Print the same model on a Tuesday and a Thursday and you can get a visible difference in surface. Coating pulls the batch back together so five units look like five of the same thing rather than five prototypes.

It is also the least scalable part of the entire process. Printing is time, but it is time a machine spends. Sanding is time a person spends, per unit, per face, and it does not get faster with practice as much as you would hope. On a batch of five it is an evening. It is the first thing that would have broken had the order been fifty, and it is the honest reason this approach has a ceiling.

Ten weeks of nothing

Then comes the strangest part of the whole project, and there are no photographs of it at all.

The archive has nothing between 26 January and 5 April. Two and a half months, no pictures, because there was nothing to photograph. The boxes were in the air, then in a warehouse, then presumably in a van, and then they were on a wall in New South Wales and our entire view of them was a list of machine names in a management console.

This is a genuinely uncomfortable period and I do not think anybody warns you about it. On a software project, you ship and then you watch. Errors arrive, dashboards move, somebody complains within the hour. You are still connected to the thing you made. Ship hardware to the other side of the world and you get a long silence, and inside that silence the machines are either quietly fine or quietly cooking, and you find out on somebody else’s schedule.

You spend that period rereading your own decisions. I remember being fairly confident about the mounting and the port alignment, because those either work on day one or they do not. The one I kept coming back to was the venting, because thermal problems do not announce themselves on day one. They wait.

What the first batch taught

The second batch went out on 5 April.

If you put a January enclosure next to an April one, the most obvious difference is open area. There is noticeably more of it. That was not a styling decision, and it is the part of this story I would most want another team to take seriously.

You cannot learn how your thermal design behaves from a bench in Osijek in January. You learn it from machines running real classes in real rooms in a warmer country, reporting back through the management layer, over weeks. The first batch was, whether we called it that or not, the experiment. The second batch was the result.

This is also the strongest argument for having built the enclosures ourselves. When the answer came back, the fix was an afternoon: change the model, print the new shells, use them for the next batch. No supplier, no minimum order, no tooling change, no six week lead time on a revision. The whole loop from finding out to shipping the fix lived on one bench.

An AIR LOCKER unit in a retail box with a moulded foam insert holding the unit, power supply and cable

The packaging changed too. January was bubble wrap and a tape measure. April was a moulded foam insert with cutouts for the unit, the power supply and the cable, inside a printed box with the logo on the lid.

Two closed white AIR LOCKER retail boxes with the logo printed on the lid

I have gone back and forth on whether that mattered. It is the same computer either way. But a franchisee who has paid for a connected fitness system and opens a plain cardboard box learns something about how finished the product is, and they are not wrong to draw the conclusion. The thing worth noticing is that between January and April the box was not the only thing that got better. The packaging was honest about that.

Same bench. Same printer. Same two people. Nothing outsourced in between.

A workbench with four finished AIR LOCKER units, one opened donor mini PC showing its board, a spool of black filament and a 3D printer under the desk

The room we have never stood in

The last thing in the archive is a video from a studio.

Three portrait screens in a studio showing the same three exercise clips, with one AIR LOCKER unit on the floor beneath each screen

Three portrait panels along a wall. Under each one, on the floor, a black box with a cable running up to the screen above it. The middle one has a pale label on its side, though at this resolution I cannot read which unit it is.

All three screens are showing the same three movements on the same frame at the same moment.

That is the synchronisation work doing its job, and it is the part of this project I would normally want to talk about. But the sync only ever gets the chance to run because there is enough decode headroom in that box for the worst layout, enough air moving through a shell somebody printed on a Thursday to keep it there for a full hour, and a label on the side so that on the night it does misbehave, somebody sixteen thousand kilometres away can find it.

Nobody from our side has ever stood in that room.

That is the strange part of building hardware for somewhere far away. The work is intensely physical. You measure it, you print it, you hold it, you cut yourself on it occasionally. And then it goes into a box and the entire remainder of your relationship with the thing is a row in a management console and, once or twice, a phone call.

What I would tell a software team about to build a box

Let the requirement choose the hardware. We did not pick mini PCs because we liked them. Twelve simultaneous videos picked them, and remote fleet management picked Windows. Working backwards from the ugliest case in the catalogue is more reliable than starting from a platform you already enjoy.

Print it early and hold it in your hand. Every real problem we had was invisible in CAD and obvious within thirty seconds of holding the part. The first print is not a deliverable. It is a question you are asking the physical world.

If you reprint an enclosure, you have accepted a thermal engineering job. Whether or not you meant to. The original chassis was a designed system and you have thrown it away. This is the failure that does not show up on your desk, because your desk is not a warm room in Australia with the box behind a screen.

Name every unit before it ships. Ten minutes of work. It is the difference between operating a fleet and guessing about one.

Distance is the real design constraint. Not cost, not aesthetics. Ask what happens when this fails in a building you will never enter, and most of the difficult decisions answer themselves.

Being small helps more than it hurts here. We changed the vent pattern between batches because the same two people did the modelling, the printing and the packing, and there was nothing in the way. A larger operation would have raised a change request. We needed an afternoon.

Know which step stops you scaling. For us it was never the printing. It was the sanding, because that is human hours per unit and no amount of cleverness removes them. If you are considering this route, work out your equivalent early, because it decides the batch size at which the whole approach quietly stops making sense.

We are a software company. We still are. But the software was never going to work if the box was wrong, and there was nobody else who was going to get the box right on our behalf.

If you are building something where the physical and the digital halves have to agree with each other, and the physical half ends up somewhere you cannot reach, we should talk.

Want to discuss architecture?

We help funded startups make the right technical decisions from day one.