Former Hackaday contributor [mikeysklar] has been trying to etch a QR code into a sheet of copper. Although his phone can’t read the CuR codes he’s made so far, he’s still made an impressive piece of milled copper.
The biggest problem [mikey] ran into is getting Inkscape to generate proper cnc tool paths instead of just tracing a bitmap image. He’s got the CNC part of his build under control, but he still can’t find a QR code reader that will register his work.
We’re no stranger to QR codes here at Hack a Day, and it’s very possible the only thing that could be stopping [mikey]’s QR code from being read by a phone is the contrast of the image. We’re thinking a little bit of printer’s ink forced into the non-copper part of the PCB would make the QR code register. Since [mikey] already has a very nice negative etching of his QR code, he could easily use his new board as a printing plate, making infinite paper copies of his copper-based QR code.
If you’ve got any ideas on how [mikey] can get his QR code working, post them in the comments.
http://wtfqrcodes.com/
Here is the process I’ve been using to import a qr code into Inkscape. I’m pretty sure the issue is that the trace bitmap is only cutting a outline instead of removing the copper for all the dark areas in the qr code.
– goo.gl for qrcode
– open in preview and crop border
– import image into Inkscape
– Object –> Transform (2″ x 2″)
– Filters –> Color –> Invert
– Path –> Trace Bitmap
* Brightness Cutoff –> Threshold .001
* Uncheck Smooth
* Options –> Uncheck smooth cornes
– Path –> Stroke to Path
– Path –> Dynamic Offset
– Extensions –> Gcodetools –> Orientation Points
* Zdepth: .006
– Extensions –> Gcodetools –> Tools Library
* depth step .002
– runtime: 23 minutes for a 2″ code
– the black areas will be transparent and white areas will be copper
– invert test
It’s tracing the contours of the elements instead of tracing the elements themselves, so it’s not a valid QR code. Still, it’s very pretty :-)
Winrar!
Color in the blocks with a black sharpie to confirm.
He could patina the copper if the contrast of colors is an issue.
1) Judging by the picture at the top of this posting, the copper tracks are thinner than the gaps between them, don’t QR codes require equal sized features for logic 1 and logic 0?
2) Also the copper is reflective and that alone will cause scanning issues, particularly for camera (versus laser) scanners.
3) the curved bits may be interpreted as something random in between 0 and 1, confusing the scanner.
I’ve seen QR codes used in PCB design before in industrial products, many of them are on the silkscreen layer but occasionally they are etched into the copper using normal chemical methods. They would probably work better with dark coloured soldermasks.
There are a few graphic designers that have experimented with curved lines in QR codes, and even a few actually readable QR codes that have been made with round pixels.
The QR decoder algorithm is remarkably tolerant of weird shaped pixels. It’s probably the contrast and inversion of the pixels that’s screwing up mikey’s build.
Hmm, food for thought! Cool. :)
It looks cute, however, I propose 2 easier alternatives:
a- etch the dots/pixels as such rather than contoured lines.
b- simply use the silk screen layer to print the QR code on a cooper area.
1) Cut out copper letters.
2) Spell out URL.
3) Actually get hits.
Generate QR Code, invert colors, and then silk screen to copper.
The two things I notice preventing his current version from scanning: 1. Copper paths should be reversed – un-etched copper should be white and etched should be the black. 2. As [vic] pointed out, it’s tracing contours instead of the pixels themselves.
I’d silkscreen and get a working version first, and then attempt to replicate that with CNC.
I did a mockup in mspaint, scans pretty easily even off my computer screen. http://www.flickr.com/photos/11709980@N05/6925243980/
I tried doing this on a business card with etching.
http://jwcxz.com/projects/bcard/pics/etch-9.jpg
However, it definitely doesn’t pick up on my phone. So, I’m planning to leave the transferred toner on the QR code in order to make it work.
I never thought about doing a negative. That might in fact look much cooler.
@jwcxz: Yeah… inversion makes it scan with my phone as well… it’s seeing the copper as “bright” and the substrate as “dark” currently…
Inkscape can save as HPGL, which might be easier to process on the milling side.
Perhaps tinning the copper would improve contrast?
@jwcxz: That picture almost scans if I just invert the colors. I just scanned the QR in this image with no problems: http://jwcxz.com/projects/bcard/pics/etch-8.jpg
The issue with etch-9 is that the wrong pixels are etched. Invert the pattern and you’ll be golden.
Thanks, Skitchin and Vaewyn for your input! :)
I’ll experiment with inverting the pattern too. I was actually planning to leave the toner on everywhere except for the pads I plan to solder to depending on how repeatable I can make the process.
I was digging in the list of CNC hacks and stumbled on this one. Nice mill work, you might want to look in to mortise bits ( basically a square chisel with a drill bit in them ) and an apropriate holder for the chisel part to not spin as you drill ‘ square ‘ holes for the black part. It could also simplify the milling process as it would become a series of drill/no drill raster passes of the work area with the size of the bit determining the steps/resolution of the overall pattern. Just a thought to get this project back on track and possibly back on the front of Hack A Day.