Ask HN: Are there examples of 3D printing data onto physical surfaces?

40 points by catapart ↗ HN
I had a thought about encoding a very small amount of data onto some kind of "disk" using 3D printing as the mechanism for filament-based storage. The assumption was that using common 3D printer measurement tools (like for bed-leveling) would provide a way to read back whatever data was encoded onto the surface.

Since that seems like a pretty well-known concept, crudely applied to a domain I haven't seen it in before - but is already large and growing fast - I'm assuming that others have thought of this? I was hoping maybe someone had implemented something like it? And then, obviously, if that proof of concept exists, I'd wonder about some kind of advanced version that used specialized equipment for the reading (and possibly the writing/printing).

In any case, I'm just curious. I was thinking about long term (century +) archival storage, or encryption keys only stored as the print with no digital copies. Stuff that wouldn't need tons of storage, but would be crucial to maintain statically. It probably wouldn't be useful for that, which is why I assume I'm not finding much in my searches for it. But I was just wondering if anyone knew about it, in case there is stuff it's good for.

49 comments

[ 2.9 ms ] story [ 70.5 ms ] thread
Seems like low data density. I recall some people talking about laser-engraving. IMHO engraving on a solid chemically-inert surface is more likely to be useful.
Yeah. I kind of lumped in engraving with 3D printing because the difference is really just a toolhead (simplified; motors, tolerances, etc, but still). But that's part of what the 'specialized tool' part of the question was meant to cover. Like, if you can store data in an additive way, you can obviously store it in a subtractive way. But... is anyone doing that with a 3D printer? Or a CNC machine, for that matter?

I think some of the other answered showed that people are, it's just pretty niche. Not something a hobbyist can (currently) do, but definitely the same idea at a production scale.

The benefit of a laser is that it can not only remove material, it can also discolor it. Either as a side effect of removing it or simply as a lower-power setting. And discolorations can be picked up with optical methods, which are far more accessible, reliable and higher density than 3d scanning.

Another variation of this is how we encode information into granite and other stones in Western funeral rites (grave stones): you engrave the information, then fill the groove with pigment. The pigment is susceptible to weathering, but the 3d information is pretty resistant. When the pigment is too worn down you just smear some more on there and wipe the excess away, leaving pigment only in the grooves, making the message clearly visible again

I’ve been plenty of graveyards where the old gravestones are completely unreadable. Did they use different/worse stone in the past or is this the most likely outcome of new gravestones after a couple hundred years? Several people have mentioned engraving into stone in this discussion but in this one example I can think of engraved stone, it doesn’t leave me feeling confident about the medium. What am I missing?
FWIW I think a more precise word for what you're looking for is "fabricating". Covers machining, lasers, printing, etc.
> But... is anyone doing that with a 3D printer? Or a CNC machine, for that matter?

Do you count plaques on public landmarks?

> I think some of the other answered showed that people are, it's just pretty niche. Not something a hobbyist can (currently) do, but definitely the same idea at a production scale.

Definitely is doable, having done it myself. You can probably hit your century target using the more specialized FDM/SLA/DLP hobby feedstock, if you can guarantee climate-controlled storage. Millenia if you shell out high double to low triple digits for a print service with fancy industrial machines, or if you combine a home printer with ceramics or metal jewellery skills.

why not print onto paper and put it in a safety deposit box?

your X/Y resolution isnt going to be fantastic woth filament, but your Z is gonna really suck.

you could instead print(emboss?) like a barcode on some paper, and encase that in resin. the big benefit being that you can read it non-destructively. keep it out of the sun so whatever ink doesnt fade and you're set

You could print an old-school punch card, bring it full circle.
Depending on how you define 3D printing: braille.
To satisfy the "disk" condition, would a vinyl record suit your needs?
I think vinyl would, but as others have noted, it probably wouldn't satisfy the "3D printed" condition.

I know this wasn't in the original ask, but my focus was on what I would be able to do, as far as archival storage, if I had a 3D printer. The assumption being that it's easier for me to have, maintain, and use a 3D printer than it would be for me to have a vinyl press.

Wouldn't that be just QR codes (and equivalents)? I suppose 3D printers can be used to etch/print them onto a durable material and then have it read back using the measuring tools you mention, but at that point I think you would be better off just 3D-printing out something like a a vinyl disc maker/reader and using that.
Some sort of wire recorder? The teeth of the 3d printer ‘driver’ (sorry lost on the terminology here) already make an imprint on the filament, maybe it could be made intentional
Wow! Now that's some outside the box thinking. That even seems to suggest that "watermarking" a print (or a small, hard to notice part of a print) would be possible.

I also think you could get denser storage that way? I guess depending upon how thick the "wire" is? But it's an interesting idea for both just printing the wire, and for the driver-teeth imprinting, separately. Very cool!

How much data do you want to preserve?

I know it sounds “boring” but it is hard to beat a good acid-free archival paper printed with a good quality ink. Stored in the right circumstances (not too humid, dark place, not on fire) it should last half a millennia easily. It is also pretty much guaranteed that whatever happens we will have the technology to read it again.

Exotics like laser engraved metal plates or ceramics might be better if you have a lot of data and can’t guarantee your storage will be fire and flood free. If you don’t have a lot of data you can also think of engraving it into stone or press it into a clay tablet and fire it. These mediums are known to be very stable even in adverse circumstances.

Right on. Simple text/encoded strings weren't really on my mind while imagining the more complicated solution, but you're right that data is probably best preserved with just "printing" rather than 3d printing.

I didn't have an amount in mind, I was just kind of wondering about the hobbyist aspect. Like if I woke up one day and realized I need to archive something and my most readily available tool was a 3d printer, would I have to come up with my own scheme, or has someone already done it?

If you do not have a lot of data, carving it in stone and hiding it in some desert might give the best results.
Embed it in the DNA of a cockroach.
How about b/w laser printers? Since black toner is made of carbon black and plastic, I imagine it has an extremely long lifespan.
There are M-Disks. These are CD/DVD/BluRay disks which use a drive with a higher power laser and work by ablating a metal layer, rather than a photosensitive dye as in the lower-powered disks. Regular drives will read both kinds.

For a small amount of data (crypto keys?), consider deep laser engraving on stainless steel. That's very durable. Or even engrave text into stainless steel with a small CNC mill.

You can engrave QR codes, bar codes, etc. But there's a lot to be said for engraving plain text.

First example I thought of is the titanium punch sheets and wordlists for crypto wallet recovery phrases https://shop.ledger.com/products/cryptotag-zeus and https://github.com/bitcoin/bips/blob/master/bip-0039/bip-003...

There is also Microsoft Project Silica which I recall seeing in person at their EBC playing back a movie from it https://www.microsoft.com/en-us/research/project/project-sil...

Then there is m-disc which uses the DVD+R and BD-R/BDXL standards but writing to a sort of glass rather than to the traditional medium. These are cool as they play back n regular players too. https://www.mdisc.com/

Unfortunately, currently produced mdisks are not the same as older ones. Requirements for media has been relaxed a while ago, most disks are not meant to last 1000 years anymore. Still, I don't know any viable alternative, besides maybe LTOs if you're lucky to know somebody with reasonable drive (not sure about US, in EU drives are quite expensive, and I mean used drives of course).

Edit: found Reddit discussion I learned that from: https://www.reddit.com/r/DataHoarder/comments/13693k0/new_de...

3D printing (additive manufacturing) usually involves layers that tend to be a weak point.

If you want something truly long lasting you might find substractive manufacturing techniques like CNC milling better. Indeed there are solutions from companies like Cryptotag for punching cryptographic seed data into plates / blocks of titanium. Something like this could be automated with a CNC router to store a bunch more data.

Titanium gets hype, but is it actually the best option considering chemical and fatigue properties? I find it implausible that tensile strength-to-weight would be the weakest part even for good old fashioned stainless steel.
Best choice will be thick metal medium, such as stainless steel.

Probably use a 177x177 QR code with Q or H error correction engraved (deeply). I would probably compress the data and encode it as Hex so it can be stored in alphanumeric mode on the QR. You might need a series of QRs for larger data.

I completely hadn't considered the idea that QR codes could be made 3D (in fact, now I'm curious how much denser they can get, if you can both read and write them in 3D), but now that people have said it, it seems so obvious! I really like your follow up about using the error-correcting properties of it. A great feature that would be very unlikely to be realized in amateur 3d data implementation.
This was solved with M-DISC. The data is literally glassy carbon pits. http://www.microscopy-uk.org.uk/mag/artsep16/mol-mdisc-revie...
Right on. The only problem with M-DISC is that it's industrial only and most certainly not free for public use.

I know that isn't relevant to the question I asked, as stated, but the focus was on 3D printing because it is something any person could do, rather than something that has to be manufactured by specialized equipment.

In the abstract, I don't see an obvious practical advantage of 3d steganography over 2d because the tools for 2d (printers and cameras) are more readily accessible and the processes of creation and reading are faster...particularly reading.

There might be corner cases where 3d makes sense...but it is hard to compete with decals/stickers, and 2d steganography can also use color and saturation as additional data dimensions.

But I could be wrong.

The advantage is much more durability. Hardier materials, and the print can lose an entire paper sheet's worth of mass/thickness, and still be readable.
Those properties sound beneficial in non-obvious corner cases.

In particular those when a sheet of paper’s thickness does not impact the required data density. While storing data on a wear surface is desirable and necessary to system design. And when conventional use of a engraved number as index to extended data is insufficient.

I run a business that makes 3d printed braille molds that are used to repeatably emboss paper. I haven't considered the molds being offline storage, but I suppose they are. I mostly operate with the assumption of a shelf life of 10 years for the PETG molds, but ink free, embossed paper has excellent lifespan if stored correctly.

I guess you could consider it an "offline datastore as a service." It would be a pretty good offline storage of keys with a way to request a paper copy. Certainly issues of trust and physical security but wrapping it with encryption would be easy. Also benefit from your government's legal protections for mail. There might actually be a usecase here.

Couple fast facts:

- Current 26 * 32 = 832 cells * 6 dot braille = 4992 bits/mold/page

- Possible 28 * 34 = 952 cells * 6 dot braille = 5712 bits/mold/page

- Maybe some more headroom, but that's what is possible with current spacings

Oh, very cool! Thanks for chiming in! Lots of good responses, but few that seem to have literal experience with the production. I appreciate the hard numbers. I think that was near the capacity I was assuming.

One or the more interesting things about asking this was seeing all of the types of "storage" that I hadn't even really considered. Braille didn't enter my mind, but of course it's a great analogy!

3d printing filaments generally aren't very heat resistant, by the nature of the process. There are ways around that, like 3d printing metal or clay. But if we are allowed attachments to 3d printers I'd choose a laser or a pen, then use optical equipment for reading back the data
Modern chips made via EUV lithography can be thought of as 3d printed. Like the most mind bogglingly complicated 3d printing imaginable.

I dont think TSMC make ROM chips using their 5nm process but I think they _could_, if needed. So that would be a very compact way of storing info.

Nope. If you stretch the definition of 3d printed that much, then anything is 3d printed.

There is a lot of etching and masking going on in lithography, it is not localised additive manufacturing, the distinctive feature of 3d printed.

For long term data storage, you might consider using a UV laser to etch inside a crystal cube. This should last for thousands of years I would think. You could also read back the bits using optics which is non destructive.
There are special companys, like for ex. Axnum, the make needle printers for steel.
A "vinyl" record is probably your cleanest option. Record players are pretty common so there's much less risk of losing the ability to turn it back into a digital file. (physical object to .wav file is commodity, .wav to you your original binary data is left as an exercise for the reader.)
You can print QR code with different heights representing white or black. That piece of plastic would last a long time, and you could encode.....something. You could pint a version 40 (177x177) grid with a Prusa XL easily, and that would last for a few thousand years and be waterproof and fairly resilient to a lot of things. You could probably print a 177x177 grid on a regular Prusa MK4 and just have a color change layer. E.g. layer 1 white, and then layer 2 black. This would be 2,953 bytes.

You could even get a binder, and then print the QR codes sheets as 'pages'. You could print these thin enough to do 1mm sheets. That means ~ 120 of these in a 5 inch binder. So, a 3 ring binder of 1mm sheets of 177x177 QR codes would hold about 346.2 KiB. You could store encryption keys in this way. You can probably push the density well past 177x177 even on a Mk4s pretty safely. I may try this later today.

you could maybe do the inverse of what a vinyl does or something. the problem would likely be reading the data back efficiently for whatever it represents more than some encodingscheme to put data onto a surface (just looking at it from an encoding issue without problems of running out of surface so to say :p)
Easiest way (I'm sure it's been done) would be to encode as QR codes and print that. (Multi-filament for two colours, or raise one of them enough for shadow or filament change.)