PrintDrop
Pilot · Node 001Live pilotDrop a model, pick a colour from what is actually loaded, and the owner takes it from there. One live machine so far: an X1 Carbon in Norway, reporting itself.
How honest this page is
The machine card is the real feed from node 001, reported by an agent on the printer's own network. When the agent goes quiet the card says so rather than showing the last thing it knew. Drops land in a real queue.
In this phase the owner slices and starts every print by hand: nothing runs unattended yet. Every printer here sits on one stack, ours: its owner plugs it in, gets three codes, and can delete the machine and everything about it with the personal one, any time.
Drop a model, pick a colour
Why STEP works, and why not G-code
STEP goes straight in: this node converts it with the same Open CASCADE kernel a CAD application uses, so a Fusion or SolidWorks export needs no mesh export first.
Sliced G-code is refused. It is already committed to one machine, one plate and one filament, and none of those are necessarily the ones here.
Measurements help. “Fits a 25 mm broom handle”, not “fits a broom”.
Drawing it. This takes a minute or two.
Somebody may already have made this
What it assumed
Change a number (free, and quick)
An email lets the machine's owner write to you if something is wrong with the part. It does not buzz your phone.
A push does. Tap the button below, install one free app, paste in the line it gives you. Your phone buzzes when your part is finished.
- Install ntfy from your app store. It is free, and it needs no account, no email and no sign-up.
- Open it, tap +, and paste this in as the topic:–
- That is it. Your phone buzzes when your part is finished.
Keep that string to yourself. On ntfy there are no passwords: anyone who knows it can read the message.
Which one actually reaches you, and why not a phone number
An ntfy topic gets you a push the moment your part is done, about your part and nothing else. That is the button above: it makes the topic for you, so there is nothing to set up in advance beyond installing the app.
An email address does not notify you automatically. It is stored on this one job so the machine's owner can write to you if they need to: a wrong material, a part that will not fit, a print that failed. Treat it as a way for them to reach you, not as an alert.
Either way you get a private link, and the link is the thing that always works: it shows this job's progress without an app, an address or anything to install. Leaving the field empty costs you nothing but the buzz.
A phone number is refused rather than stored. Nothing here can send an SMS, and a number is personal data with no reason to exist in this database. The owner's personal code never goes in this form either: that one is owner tooling, and the hub refuses it here.
What the numbers on each slot mean
Remaining is read off the spool's own tag. A spool nobody has measured says amount unknown rather than pretending to be full, and one the printer read no colour for shows a hatched swatch rather than inventing one.
Nearly out means a long print will stop part-way. Empty slots are listed but cannot be chosen. The slot selected when the page opens is the fullest one the machine reported, and the list refreshing never moves your pick.
Keep this: it is the whole credential. Bookmark it or send it to yourself now. Do not post it anywhere public: whoever holds it sees what you see.
What it shows, and what happens if you lose it
One page, one job: where it is, the real time and weight once sliced, a still from the machine while it is printing, and what it cost. No code, no account.
If you lose it, the machine's owner is the one person who can send it again: it sits in their console beside your job. Nobody else can find it, and there is nowhere to search for it.
One printer, fully visible
Live state and live capacity, straight from node 001. Nothing hidden, nothing smoothed over.
How that is worked out
energy · 105 W × 3.4 h = 0.36 kWh × 1.20 kr/kWh = 0.43 kr
Material plus energy, no markup and no margin: friends print at cost, and the cost is shown. The figures above are a worked example on a 42 g, 3.4 h part; each real job gets its own once the slicer reports a weight.
Rates: Bambu PLA refill ≈ 249 kr/kg delivered. SSB Q1 2026 household power after support is 1.22 kr/kWh; we use 1.20.
Everyone sees the same queue
What is printing, what is next, what waits for approval: the circle and the owner see one identical list.
Three codes decide everything
Who holds which code is the whole permission model. No accounts, no roles, nothing to administer.
The fine print on each
Personal never goes into the drop form above; that form takes friends and international codes only, and the hub refuses the personal one there. Deleting is immediate and unasked-about.
Friends does not mean unattended. In this pilot every job waits for the owner, who slices it and presses start. Letting trusted jobs begin on their own when the bed is free is a later phase, not something this code does today.
Want your printer added?
You plug in; the portal, the queue and in time the slicing run on our stack. Yours stays yours: your circle, your codes, your rules.
Ask to be added
Tell us what the machine is and where it lives. We answer with a setup code.
One tap, one form.
Set the machine up
Five words, and a guided run from nothing to a finished test print: installer, printer, slicer, and one real part through the whole loop.
What a setup code is, how to get one, and why it is safe to send
How you get one: ask, with the form on the left. It reaches whoever runs the hub, they generate a code for your machine (it prints once, on their screen) and they send it to you. If an install goes wrong and the code is spent, ask again: a fresh one can be issued for the same machine without disturbing anything else on it.
It is safe to put in a chat message. It is not a key. It is a one-time ticket: the installer trades it over HTTPS for a node key belonging to that one machine, and the ticket dies in the trade, so nobody has to send a key.
Five words from a 1024-word list, joined by hyphens (50 bits):
heggar-otere-rognur-furuen-nordil
Whoever runs the hub prints it once, and it opens exactly one machine. Claiming it mints a fresh node key, which means the key that machine is using right now stops working, so it goes to the person about to install, not to somebody who might get round to it. Guessing is throttled to a few tries an hour from any one address.
What joining actually involves
Your machine is never exposed to the internet. It connects outward from your own network: no port-forwarding, no public address. And the live values above (materials, temperatures, state) are read from the printer itself.
Nobody runs their own server, and leaving is one action with your personal code. The same short form for everyone, including us.