Customizable Pixel Beads Photo Panel

by anoved, published

Customizable Pixel Beads Photo Panel by anoved Apr 1, 2014


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

41256Views 3627Downloads Found in 2D Art


Processing taking too long? Try this faster version by jsc!

Use this customizer to create a printable panel of a photo. Pixels are strung together in rows or columns like beads on a string. The size of each pixel varies according to brightness, so dark pixels are larger and block more light from passing through the panel.

In addition to uploading your own photo, you can tweak a few other settings including panel shape and pixel spacing. (To use larger photos, download the .scad file, adjust the height/width variables, and use this image array tool to generate the picture array.)

All coordinates in the customizer are arbitrary units where 1 is the width of one image pixel. Scale results up or down as desired.

Thanks to tbuser for comments helpful to get this working with Customizer.

Use it to make medallions, coasters, or Bat-signal lens caps!

Image Tips

To get the best results, you might want to crop your image and increase its contrast before uploading. Try saving it in grayscale to see it the the way the customizer will see it. If the tones are too similar, the pixels will appear about the same size. You want the light areas to be white and the dark areas to be black.

You can make room to display a little more variation in pixel size by decreasing the grid size and increasing the [maximum] pixel size settings. However, if you decrease the grid size too much it may not print, and if you increase the pixel size too much dark areas may overlap into a blob, so some compromise is necessary.

It is normal for the image not to be too clear when you look at the panel or preview directly. It kind of relies on the blurring that occurs when you squint or look at it from a distance.


Some experimentation may be needed to find print settings that work well with your printer. Good adhesion is necessary as well. I printed my test copies in brown PLA on my Printrbot Simple.

More from 2D Art

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

please help me .. ı did everything but ı don't have. I'm starting this part in customizer and I click 'view source' and ı copy and paste ımage to array code . ı mean picture code. and ı click compile and click create . But I don't have any my picture file. Please help me.Where do I make mistakes ?

Sep 11, 2015 - Modified Sep 11, 2015

I will make mine self portrait , i have a file in jpg and png , can i make it
I understand the operation not good, what do you do after the " Usage To Array " (what do you do with the numeric code ????)
( sorry for mine bad englisch

Sep 11, 2015 - Modified Sep 11, 2015
anoved - in reply to Sembot

If you click "Open in Customizer" on this Thingiverse page, you should be able to upload your photo directly. The numeric code you get from the "Image to Array" tool is only necessary if you want to use larger photos. If so, you also need to download the pixel-beads-fixed.scad file, open in OpenSCAD, and paste the code in for the picture variable. (You will see a similar block of code for the default image - just replace that.)

Comments deleted.

Thanks for the design, it's awesome!. Unfortunately I am having a lot of problems during the print in my printrbot simple, it might be because of the adhesion or maybe he speed, I am a newbie in 3d printing. Could you please show me your printer settings or give me some advise? Regardless of our answer, thanks for share the design.

Glad you like it. Yes, this design can be difficult to print (I have a Printrbot Simple, too). The key is making sure the first layer sticks, so make sure your bed is level and the extruder nozzle is just above it (but not touching or dragging). Use a slow speed like 20 mm/s (you can fiddle with speed in Slic3r settings). I like to enable a couple "skirts" in Slic3r as well - this will begin the print with a series of loops around the outside of the object. It is a good way to check that everything is set up and sticking well; if not, you can cancel the print and adjust your settings right away without wasting too much filament.

I am getting errors when runnin this. image: http://i60.tinypic.com/2z4dzwy.jpghttp://i60.tinypic.com/2z4dzwy... This is the error i get: http://pastebin.com/VSu44ajnhttp://pastebin.com/VSu44ajn Is this a customiser bug, a thing bug or something with the image?

Hmm, I'm not sure. Have you tried jsc's version of this thing? It fixes some bugs so it may or may not resolve your problem: http://www.thingiverse.com/thing:310541http://www.thingiverse.com/thi...

Faster Pixel Beads Photo Pane
by jsc

I worked it out, it was due to overlapping pixels/beads. Too bad i have given the thing away after printing. Anyways thank you for the making this.

This is Super Cool! Thanks!

Thanks, I'm glad you like it!

Anoved, I was trying to run off a version for my friend, and it was unable to export to STL because the object was not 2-manifold. I had told him he wanted a high contrast image and he took me at my word, some pixels are 0.000. I believe the issue is because it tries to draw a circle of exactly the grid width which results in coincident points/faces. Clamping the minimum pixel width to 0.001 would seem to fix the issue, although since it takes 6 hours for it to run, it will be a while before I can tell you if it worked.

Hmm, let me know how it goes. I have encountered similar coincident edge issues with previous OpenSCAD projects. If you figure out a good fix I'd be happy to incorporate it. (Any optimization ideas are welcome, too - I know it's pretty slow to compile, especially with higher resolution images.)

anoved, my previous comment is irrelevant, I think I have found the actual issue. From the comments on my Make:

If pixel_size and grid_size together are exactly 1, then two neighboring beads can just touch, making it non-manifold. The quick solution is to modify grid_size or pixel_size so that their sum is not 1. The default is 0.3 and 0.7.

For a simple test case, make a 2x1 grid with both image pixels 1.0. Changing pixel_size to 0.69 or some such makes my test case compile and export.