<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="pretty-atom-feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>art-no-one-asked-for.com</title>
  <subtitle>A blog with neither a concept nor a name.</subtitle>
  <link href="https://art-no-one-asked-for.pages.dev/feed/feed.xml" rel="self" />
  <link href="https://art-no-one-asked-for.pages.dev/" />
  <updated>2026-07-31T00:00:00Z</updated>
  <id>https://art-no-one-asked-for.pages.dev/</id>
  <author>
    <name>Your Name</name>
  </author>
  <entry>
    <title>Designing my first pen plotter from scratch</title>
    <link href="https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/" />
    <updated>2026-07-31T00:00:00Z</updated>
    <id>https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/</id>
    <content type="html">&lt;p&gt;Recently I really got into sewing and sewed some designs from &lt;a href=&quot;https://freesewing.eu/&quot;&gt;https://freesewing.eu&lt;/a&gt;. While I enjoyed the overall process I really disliked printing the sewing patterns on A4 paper and assembling them into larger patterns by painstakingly cutting and gluing all the pages. I dreamed of owning a plotter that could simply take large rolls of paper and create the designs in one go. A second reason for owning/building a plotter was that I could create large artworks like big signs, maps and so on.&lt;/p&gt;
&lt;p&gt;While large format plotters can be had from brands like Vevor for around 300€, I opted to build my own plotter. For the hacker credibility, for gaining mechanical design skills and also for seeing how far I could get without buying any new parts.&lt;/p&gt;
&lt;p&gt;I had a large box of old 3D Printer parts, a functioning 3D printer and a lot of free time I could invest and so I set out to build my first plotter.&lt;/p&gt;
&lt;p&gt;The goal of the whole design process was to get a working plotter, but the larger goal was to gain experience with mechanical design and plotter design to be able to build a larger better plotter down the line and all sorts of other machines and robots.&lt;/p&gt;
&lt;h1 id=&quot;base-design&quot;&gt;Base Design&lt;/h1&gt;
&lt;p&gt;I opted for a moving paper design in order to be able to plot huge sewing patterns and artworks. (For an exhaustive list of design variants and examples see &lt;a href=&quot;https://mattwidmann.net/notes/pen-plotters/&quot;&gt;Matt Widmanns site&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The design is able to move a pen carriage on the Y-Axis. The carriage mounts the pen and has some mechanism to lift it up and down. The paper is moved by feed rollers on the X-Axis giving me a canvas size that is theoretically only limited by the size of the paper roll. Practically of course there will be tracking issues with the rollers and the system will lose precision eventually.&lt;/p&gt;
&lt;p&gt;The width of the design and thus the paper that could be used was set by the available linear rods I had for the Y-Axis. The design is able to work with paper up to a width of roughly 30 cm.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/Klb2wnsbRm-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/Klb2wnsbRm-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/Klb2wnsbRm-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;750&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/Klb2wnsbRm-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/Klb2wnsbRm-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The overall design of the plotter which is now the two hours&#39; traffic of our stage.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h1 id=&quot;components&quot;&gt;Components&lt;/h1&gt;
&lt;h2 id=&quot;slider-y-axis&quot;&gt;Slider / Y-Axis&lt;/h2&gt;
&lt;p&gt;The Slider for the Pen Carriage was the easiest part to design. I used precision rods, linear bearings and linear bearing holders I still had from dismantling my first 3D-Printer. I used a GT2 Belt I also still had lying around.&lt;/p&gt;
&lt;p&gt;To fix the belt to the carriage I used a solution that was a little bit janky. The belts get looped and lock themselves on their own teeth and then get inserted into the 3D printed part at the back of the carriage. Bolts are then put into the loops and the belt is tightened, so the bolts are immobilized by the friction. I tried to design the belt holder in a way, that there would be pieces of 3D printed plastic to stop the belts from moving, but I couldn&#39;t get the shape and dimensions right and they always snapped off.
For the next design I would of course try to come up with a smarter solution.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/8qHwbjv2Ki-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/8qHwbjv2Ki-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/8qHwbjv2Ki-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/8qHwbjv2Ki-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/8qHwbjv2Ki-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The very janky mechanism to fix the belt to the carriage. Note that those bolts are just jammed in there and not screwed in at the back.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;To tighten the belt I recreated a tightening mechanism I saw online. Tightening a nut pulls in the part of the mechanism that is connected to the bearing guiding the belt thus tightening it. I printed the static part of the mechanism in two parts, so the part would have optimal strength from the layer lines.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/PFDfJxRTXA-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/PFDfJxRTXA-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/PFDfJxRTXA-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/PFDfJxRTXA-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/PFDfJxRTXA-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The tensioner mechanism. Turning the nut pulls the inner bracket and thus tensions the belt.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;To mount the stepper motor I designed a simple bracket that screws both into the Frame and that the stepper can be bolted on.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/IxNbQ8CfJo-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/IxNbQ8CfJo-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/IxNbQ8CfJo-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;750&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/IxNbQ8CfJo-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/IxNbQ8CfJo-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;A sideview of the whole design, showing the servos and their mounts and wiring.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;pen-lifter&quot;&gt;Pen Lifter&lt;/h2&gt;
&lt;p&gt;The Pen Lifter is connected to the Slider and is used to lift the Pen up and down from the paper. I designed two iterations of the Pen Lifter because the first one didn&#39;t work out.&lt;/p&gt;
&lt;p&gt;The Base Constraint for Both Iterations was that the Pen Lifter must be able to mount a Sharpie and that if the pen is down, it is actually pushed down by a spring. This way the pen doesn&#39;t get destroyed or jam the paper if there is some imprecision in the build, but simply moves a little.&lt;/p&gt;
&lt;h3 id=&quot;first-iteration&quot;&gt;First Iteration&lt;/h3&gt;
&lt;p&gt;For the First Iteration I opted to also use linear bearings to have the pen mount move up and down. Because I didn&#39;t have any precision rods that were small enough and also neither tools nor desire to cut the rods I had, I went to the hardware store and bought 8mm aluminium rods. Those I could cut easily.&lt;/p&gt;
&lt;p&gt;I designed a system where the rods were mounted to the Slider Carriage for the sideway movement and a smaller carriage for moving the pen up and down was fixed to the aluminium rods. I also placed springs around the rods, to push the carriage down.&lt;/p&gt;
&lt;p&gt;I designed a slider-crank mechanism and used a fairly large servo I had lying around to drive it. In the animation below you can see, how the whole thing worked.&lt;/p&gt;
&lt;p&gt;&lt;video src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/liftone.webm&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;The design had several problems. The first problem was many points of slack in the whole manufactured design. The aluminium rods allowed the pen carriage to wiggle in the X/Y-Plane. I also had no bearings for the slider crank mechanism, so there was a lot of play in that part.
The other big problem was, that the servo was unreliable. It was not able to consistently overcome the pressure of the springs and lift the pen carriage up.&lt;/p&gt;
&lt;h3 id=&quot;second-iteration&quot;&gt;Second Iteration&lt;/h3&gt;
&lt;p&gt;Because the whole slider crank design was so unreliable and the servo seemed unusable I bought a new smaller servo and did a new design around that. Because I also realized I can&#39;t get away with the types of loose linkages I had used in the first design I utilized small bearings I found in my mechanical parts stash.&lt;/p&gt;
&lt;p&gt;The second design is a lever based design. When the servo is not engaged a spring pushes the pen side of the lever down. When the servo engages and pushes on the other side of the lever the pen gets lifted up.&lt;/p&gt;
&lt;p&gt;I have the gut feeling people who know basic lever physics might have come up with a better design, I will look into that for the next iteration. But maybe I will also try to come up with a third completly new design.&lt;/p&gt;
&lt;p&gt;After all it works and I am happy that I was able to design my first small mechanical system.&lt;/p&gt;
&lt;p&gt;&lt;video src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/lifttwo.webm&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;h2 id=&quot;feed-system&quot;&gt;Feed System&lt;/h2&gt;
&lt;p&gt;The Feed System is used to feed the paper through the machine. It is one of the design elements that differentiates this plotter from a classic CNC system like a router or a 3D Printer. Thus I wasn&#39;t able to find many reference designs or even off-the-shelf parts and instead had to design the whole thing myself.&lt;/p&gt;
&lt;p&gt;The Feed System consists of a motorized Drive Roller that moves the paper and Pinch Rollers, that press the paper onto the Drive Roller.&lt;/p&gt;
&lt;h3 id=&quot;drive-roller&quot;&gt;Drive Roller&lt;/h3&gt;
&lt;p&gt;I manufactured the Drive Roller from 28mm stainless steel tube. I knew the roller had to be pretty straight in order to work well and the tube seemed suitable. I glued sandpaper to the tube to make it grippy and designed adaptors to mount the tube in my Frame and attach it to a servo.&lt;/p&gt;
&lt;p&gt;The sandpaper was cut in a parallelogram shape, so there wouldn&#39;t be one straight seam where the paper could slip.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/r5LRqZPizl-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/r5LRqZPizl-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/r5LRqZPizl-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/r5LRqZPizl-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/r5LRqZPizl-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;A picture of the glue up. The tube was roughed up, the sandpaper was coated in 2K Epoxy Glue and then fixed to the tube using rubber bands. The rubber bands could easily be removed after the glue had cured.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&quot;pinch-roller&quot;&gt;Pinch Roller&lt;/h3&gt;
&lt;p&gt;The Pinch Rollers need to exert pressure on the paper that is fed through the machine. I designed an arm with two roller bearings that would make contact with the paper and added a spring to exert constant pressure on to the bearings.&lt;/p&gt;
&lt;p&gt;I tried to be smart and designed the thing in a sort of flat pack style to save printing time, however that made an already janky design even worse and thus the Pinch Roller is pretty wobbly, hard to orient right and one of the main pain points of the current design.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/6innLoqWQM-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/6innLoqWQM-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/6innLoqWQM-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/6innLoqWQM-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/6innLoqWQM-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The very wonky pinch rollers. You can see that they are way too thin.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h1 id=&quot;frame&quot;&gt;Frame&lt;/h1&gt;
&lt;p&gt;In order to keep the whole design cheap, I made the frame out of wood that I got cut at the hardware store. The frame cost me 12€ this way and I could easily add mounting holes using a cordless drill. While I am certain that aluminium extrusions would have been the nicer choice, this frame got the job done and was appropriate for a first design.&lt;/p&gt;
&lt;h2 id=&quot;electronics-and-software&quot;&gt;Electronics &amp;amp; Software&lt;/h2&gt;
&lt;p&gt;For motors I used unlabeled Nema 17 Servo Motors I had lying around from my first 3D-Printer. A friend gave me a GT2560 Board with reprap stepsticks for driving those. I also used an Arduino UNO to generate the appropriate signals for the servo motor, because I couldn&#39;t get the GT2560 board to do so.&lt;/p&gt;
&lt;p&gt;As a firmware I used GRBL Mega and vibe coded an additional command into the firmware, so I could trigger the Arduino UNO to lower and raise the servo.&lt;/p&gt;
&lt;p&gt;The plotter is connected to a PC via a USB Cable. I used Universal G-Code Sender for preliminary testing and GRBL-Plotter for plotting.&lt;/p&gt;
&lt;p&gt;I ran into a small issue with my pen lifting command. Lifting the Pen takes some time, but GRBL doesn&#39;t know about that and simply keeps running through the motion commands after processing the pen lift command. Thus I had to add a little wait command in GRBL-Plotter, so the plotting would be fine.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/KjlYvg7hXt-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/KjlYvg7hXt-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/KjlYvg7hXt-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;750&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/KjlYvg7hXt-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/KjlYvg7hXt-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The electronics I used.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;running-the-whole-thing-and-issues&quot;&gt;Running the whole thing and Issues&lt;/h2&gt;
&lt;p&gt;Running the plotter is pretty straightforward. The paper is fed between the two rollers, the carriage is moved to the outer most point (no endstop yet) and the zero point for plotting is defined. Then GRBL-Plotter does its thing and a design is plotted onto paper. However there are some issues.&lt;/p&gt;
&lt;p&gt;One of the main issues I already hinted at is the Paper Drive System. The pinch rollers are wonky, the sandpaper glued to the tube might introduce irregularities and the tube itself might not be mounted completely parallel to the Y-Axis, due to the wood frame construction. All of these issues compound and lead to the paper skewing after roughly 80 centimeters of feed. This may be mitigated in the future by using an aluminium extrusion frame and designing better pinch rollers. I have not found any alternative to my tube with sandpaper approach, but that is also an area that could be improved upon.&lt;/p&gt;
&lt;p&gt;Another issue is, that putting the pen in the holder and adjusting it for the right height is fiddly. When it works it works well, but when not done right the paper jams or the pen simply doesn&#39;t reach the paper. This is an area that could be improved upon to increase the quality of life when using the plotter.&lt;/p&gt;
&lt;p&gt;The last big design mistake I made is that the pinch roller is too far away from the pen. This way the paper can buckle between the pinch roller and the pen and thus make the final result worse. The fix is obvious.&lt;/p&gt;
&lt;p&gt;See the plotter working in the video below.&lt;/p&gt;
&lt;p&gt;&lt;video src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_07_31_plotterone/fullaction.webm&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;h1 id=&quot;conclusion-outlook&quot;&gt;Conclusion / Outlook&lt;/h1&gt;
&lt;p&gt;Overall I am happy with this first plotter. I proved to myself, that I am able to design and build a mechanical system and I was able to use the plotter to plot some larger designs.&lt;/p&gt;
&lt;p&gt;The main thing for the next design would be to make it wider, to be able to plot larger formats. Preferably A0.&lt;/p&gt;
&lt;p&gt;For a follow up design improving the feed roller is the main thing. Besides working on the obvious things I mentioned above I believe it would also be nice to have a paper roll holder parallel to the feed roller. In the current design the roll simply lays on the floor.&lt;/p&gt;
&lt;p&gt;The Pen Mount was also a pain to use, but maybe simply using a Knurled Screw to fix the pen can fix it. Plotters from the 80s by HP used a voice coil actuator to move the pen up and down, and if one would want to get fancy, a system with a voice coil actuator and a position sensor could automatically home any pen, by simply checking when the pen collides with the paper. However voice coil actuators are not that easy to source and making them also requires new materials and skills.&lt;/p&gt;
&lt;p&gt;I would also source a new driver board, that can run pwm directly, so I can forego the added Arduino UNO solution. GRBL seemed like the right choice, but I would somehow need to get my Pen Lift integrated into the motion pipeline to run more efficiently.&lt;/p&gt;
&lt;p&gt;Software wise, I would imagine that for a moving paper design it would be wise to minimize large paper movements, in order to minimize drift issues. I could write a little G-Code Generator that takes this constraint into account.&lt;/p&gt;
&lt;p&gt;To add new features one could add an optical flow sensor, to measure the drift of paper. However it is unclear how that information could be used and it is probably wise to invest as many resources as possible into building a perfect paper feed mechanism.&lt;/p&gt;
&lt;p&gt;Another quality of life feature to add would be one button that simply turns the feed roller one rotation, to easily load paper into the machine.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Using different shades of fruit as pixels</title>
    <link href="https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/" />
    <updated>2026-04-19T00:00:00Z</updated>
    <id>https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/</id>
    <content type="html">&lt;p&gt;The USDA Pomological Watercolor Collection is a huge collection of watercolor images of fruits and nuts that was created between the 1880s and 1930s. The collection spans about 7.000 images with 2-4 individual fruit elements per image. My idea was to use all those approximately round elements as pixels to reproduce normal photographs using those fruit pixels. This is the write-up of how I did it.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SAHEzfahIY-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SAHEzfahIY-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SAHEzfahIY-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;507&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SAHEzfahIY-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SAHEzfahIY-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;/figure&gt;
&lt;h1 id=&quot;acquiring-the-usda-pomological-watercolor-collection&quot;&gt;Acquiring the USDA Pomological Watercolor Collection&lt;/h1&gt;
&lt;p&gt;The first step was to obtain all images in the collection. The collection is described at a &lt;a href=&quot;https://archivesspace.nal.usda.gov/repositories/4/resources/651&quot;&gt;designated page&lt;/a&gt; by the National Agricultural Library of the U.S. Department of Agriculture. The page links to the actual collection page, where each image can be viewed individually. Sadly, there is no way to download all images at once, and the page is also programmed in a way that makes crawling difficult.&lt;/p&gt;
&lt;p&gt;Luckily, someone already &lt;a href=&quot;https://commons.wikimedia.org/wiki/Category:USDA_Pomological_Watercolors&quot;&gt;mirrored the collection on&lt;/a&gt; Wikimedia, and so I opted to crawl all images from there.&lt;/p&gt;
&lt;p&gt;I did the crawling 2 years ago for another project, so I am not sure if there might be an option to download the collection as a whole today.&lt;/p&gt;
&lt;p&gt;One last thing to note is that the whole collection is in the public domain, so we can work with it freely.&lt;/p&gt;
&lt;h1 id=&quot;converting-the-images-to-individual-assets&quot;&gt;Converting the Images to Individual Assets&lt;/h1&gt;
&lt;p&gt;The images of the collection often contain several fruits in one image. If we want to use the fruits as individual pixels, it would be ideal to separate these into their own files. There are also handwritten notes on a lot of images that we are not interested in.&lt;/p&gt;
&lt;p&gt;As a first step, I batch processed all images with the tool &lt;a href=&quot;https://github.com/danielgatis/rembg&quot;&gt;rembg&lt;/a&gt;to remove the backgrounds. This worked great and gave me a folder full of PNGs of fruits with transparent backgrounds.&lt;/p&gt;
&lt;p&gt;However, the fruits were still together in one image, so the next step was to separate them. Because they were now clearly separated on a transparent background, that was quite easy. I used Rust, the crate imageproc, and the &lt;a href=&quot;https://docs.rs/imageproc/latest/imageproc/region_labelling/index.html&quot;&gt;function connected_components&lt;/a&gt; to identify the individual fruits and saved them to separate files. I also scaled them down and converted them to the &lt;a href=&quot;https://en.wikipedia.org/wiki/QOI_(image_format)&quot;&gt;Quite OK Image Format (QOI)&lt;/a&gt; so I could read them faster from file when using them later. In a previous iteration, I used PNG for saving the assets and didn&#39;t downscale the images, and that was painfully slow to use.&lt;/p&gt;
&lt;p&gt;I wrote a little tool to automatically work through all 7.000 images and ended up with around 11.000 individual assets. rembg had sometimes failed to correctly separate out the background, and this gave me fruits that were mostly grey as assets. I reworked the tool and added some simple filters to discard those.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/1MzYg9ciH--800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/1MzYg9ciH--1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/1MzYg9ciH--800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1000&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/1MzYg9ciH--800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/1MzYg9ciH--1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;/figure&gt;
&lt;h1 id=&quot;colors&quot;&gt;Colors&lt;/h1&gt;
&lt;p&gt;In order to use these images as pixels, we have to determine their dominant color. A few weeks ago I read &lt;a href=&quot;https://dgroshev.com/blog/okmain/&quot;&gt;this article on identifying the main color of an image&lt;/a&gt; and used some of the ideas presented. The core idea is that averaging all colors is a bad idea that will often leave you with muddy colors as a result. The author also argued that working in the sRGB color space further worsens the result. He proposed using the Oklab color space.&lt;/p&gt;
&lt;p&gt;The core idea of the author is to not use an averaging approach but K-Means Clustering to identify N dominant colors of the image and then pick one. I tried that, but K-Means Clustering was really unperformant (at least when I used it with Python in a Jupyter Notebook). I opted to use a weighted average, where the intensity of the color was the weight, so more intense colors counted more towards the average. That worked for my use case. The image below shows how all the assets are placed in the Oklab color space using this method.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/y5SDOo-xRm-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/y5SDOo-xRm-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/y5SDOo-xRm-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1000&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/y5SDOo-xRm-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/y5SDOo-xRm-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;/figure&gt;
&lt;p&gt;Reflecting now, while doing this write-up, I had the idea that by using K-means clustering, I would maybe be able to place these things differently and maybe use more of the color space. If that translates to better end results (whatever better means in this case),  remains to be seen. Even though K-Means Clustering was unperformant with Python, I am now using Rust and downscaled images, so maybe it can work.&lt;/p&gt;
&lt;h1 id=&quot;intermission-ideas-that-seemed-smart-but-werent&quot;&gt;Intermission - Ideas that seemed Smart but weren&#39;t&lt;/h1&gt;
&lt;p&gt;Before I tell you about the final step to create images with the fruit pixels and show you results, I want to do a little intermission where I tell you about the ideas I thought were smart but didn&#39;t work out.&lt;/p&gt;
&lt;p&gt;When first creating images with the fruit pixels, I placed them in a grid. I was unsure if I liked the grid look or maybe wanted a more chaotic look. I tried placing points randomly in a 2D canvas and placing my fruit pixels at those locations; however, I didn&#39;t like the look. In the end I preferred the natural shape of the fruits contrasted with the forced order of the grid.&lt;/p&gt;
&lt;p&gt;I also tried to make Floyd-Steinberg dithering work. I had never used it before but knew it could be used to obtain nicer results when reducing the colors in an image, as opposed to simply using the most similar color of the reduced color set to the original color set at each pixel. However, I made each fruit 20-40 px large to get a nice balance between seeing the individual fruits and also being able to still see the whole image. At this scale, Floyd-Steinberg dithering had no effect, and so I didn&#39;t use it in the end.&lt;/p&gt;
&lt;h1 id=&quot;creating-images-from-the-assets&quot;&gt;Creating Images from the Assets&lt;/h1&gt;
&lt;p&gt;Creating Images from the Assets&lt;/p&gt;
&lt;p&gt;With all the things that didn&#39;t work out of the way, let&#39;s focus on what worked and how I got from a folder full of fruit assets and an input image to my final results.&lt;/p&gt;
&lt;p&gt;The first step was to load all images into my program. Each image was analyzed for the dominant color using the method explained above and placed in a list. After that, a grid was placed on the original image, and for each pixel in the original image at a grid point, the best fruit asset by dominant color was identified. The fruit was placed on a new empty canvas, and thus the new image was built up. The results looked promising but also had two major flaws. Even though there were many assets with bright reds and greens, the algorithm favored the duller colors. Also, the algorithm often seemed to pick the same assets, making for a very repetitive image.&lt;/p&gt;
&lt;p&gt;To combat the problem with the duller colors, I added a vibrancy bias. To check if an asset can represent an original color, the system checks the Euclidean distance in the Oklab color space between the original color and the dominant color of the asset. The vibrancy bias gets multiplied with the vibrancy of an asset and then subtracted from the overall distance. Thus, the system can be tuned to prefer more vibrant colors.&lt;/p&gt;
&lt;p&gt;To combat the problem with the repetition, I added an overuse penalty. The system keeps track of how often a tile was already used and calculates an excess score quantifying if the tile is overused. The score then gets multiplied by the overuse penalty and added to the distance calculation between a candidate asset and the original color, meaning overused assets become more unattractive to pick. I also randomly rotate the picked asset when placing, so even the same assets give a different impression.&lt;/p&gt;
&lt;p&gt;The last thing I fixed was adding some pictures of blue candies to the assets, because i felt this would make the images more interesting.&lt;/p&gt;
&lt;p&gt;And so, without further ado:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SarEDKXXFQ-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SarEDKXXFQ-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SarEDKXXFQ-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;562&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SarEDKXXFQ-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/SarEDKXXFQ-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
Based on a photo by &lt;a href=&quot;https://unsplash.com/de/@femi_oyekoya?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Femi Oyekoya&lt;/a&gt;on &lt;a href=&quot;https://unsplash.com/de/fotos/ein-grosses-steingebaude-mit-saulen-und-statuen-auf-der-spitze-mit-dem-brandenburger-tor-im-hintergrund-C-gm12fkTwc?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/caQWx_E8H2-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/caQWx_E8H2-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/caQWx_E8H2-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1315&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/caQWx_E8H2-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/caQWx_E8H2-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
Based on a photo by &lt;a href=&quot;https://unsplash.com/de/@aussieactive?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;AussieActive&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/de/fotos/statue-of-liberty-new-york-1brtlzDq-o8?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/MA74KO1uuC-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/MA74KO1uuC-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/MA74KO1uuC-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1777&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/MA74KO1uuC-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/MA74KO1uuC-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
Based on a photo by &lt;a href=&quot;https://unsplash.com/de/@alexbemore?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Alexander Shatov&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/de/fotos/weisses-digitales-gerat-bei-12-00-DHl49oyrn7Y?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/2z_AR8tJsl-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/2z_AR8tJsl-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/2z_AR8tJsl-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1597&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/2z_AR8tJsl-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2026_04_19_fruit2pixel/2025_04_06_vinyl_wood/2z_AR8tJsl-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
Based on a photo by &lt;a href=&quot;https://unsplash.com/de/@henry_be?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;enrico bet&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/de/fotos/big-ben-london-MdJq0zFUwrw?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&quot;&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;further-work&quot;&gt;Further work&lt;/h1&gt;
&lt;p&gt;The algorithm is still not perfect. There are still some grey transparent assets in my 11.000 assets that lead to black spots in the final images; for example, the floppy drive of the Macintosh. This needs to be fixed.&lt;/p&gt;
&lt;p&gt;Loading and analyzing the images into one list takes the most time when running the tool. This can be done once and then cached for each new tool run.&lt;/p&gt;
&lt;p&gt;I also plan to revisit the K-means approach for dominant color calculation in Rust to see if it will give me better results.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Painting on wood with foil stencils - The conclusion</title>
    <link href="https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/" />
    <updated>2025-07-20T00:00:00Z</updated>
    <id>https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/</id>
    <content type="html">&lt;p&gt;In a previous blog post, I experimented with creating stencils for painting on wooden surfaces. While the results were decent for a first attempt, there was significant paint bleed.&lt;/p&gt;
&lt;p&gt;Following the time-honored computer scientist tradition of testing in production, I decided to skip further experimentation and jumped straight into stenciling the actual furniture I wanted to paint.&lt;/p&gt;
&lt;p&gt;This time I invested much more effort in surface preparation. I sanded until the wood felt completely smooth, applied the stencil, then sprayed multiple clear coat layers to achieve crisp lines. I applied the paint with a foam roller in two passes and let it dry fully.&lt;/p&gt;
&lt;p&gt;The result was an improvement over my previous experiment, but paint bleed remained an issue. For my next round of wood stenciling, I&#39;ll likely prime the surface before applying the stencil to hopefully further minimize bleed.&lt;/p&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/nKElNpkzJE-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/nKElNpkzJE-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/nKElNpkzJE-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/nKElNpkzJE-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/nKElNpkzJE-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The stencil after spraying clear coat.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/A4xS0jH2nH-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/A4xS0jH2nH-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/A4xS0jH2nH-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/A4xS0jH2nH-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/A4xS0jH2nH-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;Close-up of the final result.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/Uo7F9jfuIA-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/Uo7F9jfuIA-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/Uo7F9jfuIA-800.webp&quot; alt=&quot;&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/Uo7F9jfuIA-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_07_20_vinyl_wood_2/2025_04_06_vinyl_wood/Uo7F9jfuIA-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;figcaption&gt;The complete result. I am still working on my overall interior design concept.&lt;/figcaption&gt;&lt;/figure&gt;
</content>
  </entry>
  <entry>
    <title>Painting on wood with foil stencils - A first experiment</title>
    <link href="https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/" />
    <updated>2025-04-06T00:00:00Z</updated>
    <id>https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/</id>
    <content type="html">&lt;p&gt;The front of the university library building in Münster, Germany, is decorated with a sculpture. In huge letters, it says “GEHORCHE KEINEM” (Obey no one). The artist explained that the sculpture is meant as a message to the users of the library: to use the information they obtain critically, ask questions and be ready to change their perspectives on topics.&lt;/p&gt;
&lt;p&gt;The sculpture forces the visitor to literally change their perspective, because it is very large and installed on a corner of the building, so you must change your perspective to see the whole sentence.&lt;/p&gt;
&lt;p&gt;I like both the message and the way the sculpture forces the viewer to change his perspective to fully see it. I am also a former student of the University of Münster and wanted something to remind me of my time there. I thought reproducing this sculpture in some way was a good idea.
I have some boxy furniture I will paint the lettering on. This way I can make the furniture more interesting, and by painting the words on the edge of the furniture I also get the perspective effect.&lt;/p&gt;
&lt;p&gt;But before I can do that, I want to experiment with how I can paint the lettering on my furniture.
I own a Silhouette Cameo 4 Vinyl Cutting Machine, so I opted to cut a stencil out of foil and try that out. I started with some &lt;em&gt;Oramask 810S&lt;/em&gt;, but that was a nightmare to cut and didn’t properly stick to the wood. After that, I went back to the foil I use for making vinyl stickers, &lt;em&gt;Oracal 631&lt;/em&gt;. I cut the foil and transferred a first test piece onto some wood, and it adhered properly to it.&lt;/p&gt;
&lt;p&gt;To test the whole workflow, I got a new piece of wood, similar to my furniture, and first sanded it up to 240 Grid Sandpaper. After that I transferred my stencil to the wood and masked off the surrounding area with masking tape. I sprayed on a first layer of clear coat, because I read that this prevents paint bleed around the edges of the stencil. After the first layer dried, I applied two more layers of red paint. After everything had dried, I pulled off the stencil.&lt;/p&gt;
&lt;p&gt;For a first experiment I believe the results are good, but there is a lot of paint bleed in the direction of the wood grain. For the next experiment, I think I will first coat the wood with primer and maybe even a complete first layer of clear coat before using the stencil.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/ltn8XsckFk-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/ltn8XsckFk-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/ltn8XsckFk-800.webp&quot; alt=&quot;The stencil after spraying clear coat.&quot; width=&quot;1000&quot; height=&quot;1333&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/ltn8XsckFk-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/ltn8XsckFk-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/-GNwSSi4x2-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/-GNwSSi4x2-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/-GNwSSi4x2-800.webp&quot; alt=&quot;The stencil after the first layer of (red) paint.&quot; width=&quot;1000&quot; height=&quot;750&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/-GNwSSi4x2-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/-GNwSSi4x2-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/GR8gdnyQ3_-800.avif 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/GR8gdnyQ3_-1000.avif 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/GR8gdnyQ3_-800.webp&quot; alt=&quot;The final result. Paint bleed is clearly visible.&quot; width=&quot;1000&quot; height=&quot;750&quot; srcset=&quot;https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/GR8gdnyQ3_-800.webp 800w, https://art-no-one-asked-for.pages.dev/blog/2025_04_06_vinyl_wood/GR8gdnyQ3_-1000.webp 1000w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;&lt;/p&gt;
</content>
  </entry>
</feed>