Putting QR Codes In Copper

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.

18 thoughts on “Putting QR Codes In Copper

  1. 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

  2. 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.

    1. 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.

  3. 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.

  4. 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.

    1. 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.

  5. 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.

Leave a Reply

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.