Hexagonal Mirror Array Hides Hidden Message

[Ben Bartlett] recently got engaged, and the proposal had a unique bit of help in the form of a 3D-printed hexagonal mirror array, whose mirrors are angled just right to spell out a message with the reflections. A small test is shown above projecting a heart, but the real deal was a bigger version reflecting the message “MARRY ME?” into sand at sunset. Who could say no to something like that? Luckily for all of us, [Ben] shared all the details of what went into designing and building such a thoughtful and fascinating device.

Essentially, the array of mirrors works a bit like a projector. Each individual reflection can be can be thought of as a pixel, and the projected position of each can be modified by the precise angle of each mirror. With the help of some Python code, [Ben] calculated the exact angles needed to spell out “MARRY ME?” and generated the necessary 3D model. A smaller-scale test (shown in the header image above) was successful, and after that it was just a matter of printing the array and gluing on some mirrors.

Of course, that’s the short version. In practice there were quite a few troublesome issues that demonstrated the value of using early tests to discover hidden problems. For one thing, mirror angle and alignment is crucial, which meant that anything that could affect the shape of the array was a potential problem. Glue that expands or otherwise changes shape as it dries or cures could slightly change a mirror’s angle, so cyanoacrylate (CA) glue was preferred. However, the tiniest bit of CA glue will mess up a mirror’s surface in a hurry, so care was needed during assembly.

Another gotcha was when [Ben] suddenly realized, twenty hours into printing the final assembly, that the message needed to be reversed! As designed, the array he was printing would project “?EM YRRAM” and this wasn’t caught during testing because the test pattern (a heart) was symmetrical. Fortunately there was time to correct the error and start again, but it was close. [Ben]’s code has an optional visualization function, which was invaluable for verifying that things would actually turn out as expected. As it happens, the project took right up to the last minute to complete and there wasn’t quite time to check everything 100% before the big moment, but it all turned out alright. What’s life without a little mystery and danger, anyway?

The pictures are great, but you won’t regret taking the time to read through the project page (don’t miss the annotated Python code) because [Ben] goes into just the right level of detail. The end result looks fantastic, and makes an excellent keepsake with a charming story.

18 thoughts on “Hexagonal Mirror Array Hides Hidden Message”

1. The Commenter Formerly Known As Ren says:

What a great hack!

2. Oopsitsaflame says:

With the right software, this could be a smart death Ray when bigger. Or a solar bbq cooking your stuff on the table. Whatever, flesh will smoulder.

1. Alex365 says:

I did build a similiar mirror out of simple mirror tiles. It does work and the math is simple enough, to do by hand, to construct it, it’s not that useful. Lining an old satellite dish with mirror foil or even aluminium foil and polishing it a bit gives better results

1. Fooji says:

Without any math, most simple design. Trash can lid, space blanket. Total cost 5\$.

2. mark g says:

Or you could just make your own JWST.

When increasing the amount of mirrors and maybe decreasing their size, it could work like a hologram projector.

1. labebête says:

Don’t know. But I have the intuition that it would be possible to calculate a build that could display differents pictures on 2 (or more ?) focal planes.
But I don’t have the patience to do this math.

1. David says:

Sure. If a digital sundial will work it;s possible.

2. CRJEEA says:

I quite like the concept of utilizing multiple focal lengths. Although using a widely spread laser beam, or even a bright focused led, might make that easier to work with than relying on the sun.

1. labebête says:

@CRJEEA …. :/ maybe I am not fluent enougth to understand your answer.

I want to clarify my idea : it would simply be cooler if the array could display at certain /setup/ a “heart” and after the message “MARRY ME?” with an other /setup/.

Relying on the sun is all the “low-tech cool” feeling there.

With lasers beams it would expect/need
– smaller mirrors / higher resolution
– more accurate aligns ( 3D prints + glueing sucks )

Back to the maths : I belive that 2 simple pictures ( a heart & “MARRY ME?” ) seems possible.
More than 2 would be exceptional ( constraints ).

2. CRJEEA says:

Those little mirrors you find on disco mirror balls might well do the trick. All precut to a fairly uniform size. Although finding away to remove them quickly might be the Achilles heel.

3. Dmitrii says:

It’s actually called DLP technology

4. Anton says:

Or it could work like a regular projector (read: DLP)

4. BT says:

I don’t feel the effort put into the reply matches the effort put into asking the question!

1. Shannon says:

If it did I would be quite suspicious!

5. What an amazing idea! I loved the artistic results, it really brings out even more the romantic feeling!

6. lksjdf lkjsdf says:

Mount mirrors to a flip-dot display and you could have a changing message. Basically a large scale DLP chip.

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.