GithubHelp home page GithubHelp logo

caiannello / jsvoronoipcb Goto Github PK

View Code? Open in Web Editor NEW
55.0 5.0 4.0 713 KB

Javascript app to process a PCB image and output G-code suitable for laser engraver or similar machine. To reduce tool time, by default, the board traces are Voronoi Tesselated, though this is optional.

License: MIT License

JavaScript 94.06% HTML 5.94%
g-code voronoi pcb javascript gcode-generation gcode voronoi-generator diy milling cnc

jsvoronoipcb's Introduction

jsVoronoiPCB

Javascript application to process a circuit board image and output G-code suitable for laser engraver or similar machine. To reduce tool time, the board traces are Voronoi Tesselated. https://en.wikipedia.org/wiki/Voronoi_diagram

The input image is expected to be black-and-white with an optional third color:

WHITE: Etch (Remove copper)

BLACK: Trace (Leave copper, voronoi tesselate)

OTHER: Hole/signal trace (leave copper, etch around given perimeter)

Procedure:

  • Spray-paint a piece of copperclad PCB in flat black. (I used Krylon)
  • Etch in laser engraver using output from this applet. (I used an Eleksmaker A3 Pro, 2.5W)
  • Scrub with a soapy toothbrush to remove charred paint.
  • Etch board as normal with Ferric Chloride or equivalent.
  • Remove paint with acetone and swabs. (Selective removal of paint provides solder mask.)

UI: UI

Input: input

Output: output

Etched, Tinned: etched

See Nurdrage's D.I.Y. tinning solution tutorial video here: https://hackaday.com/2017/10/23/tinning-solution-from-the-hardware-store/

I have a live demo here at the link below, and there are example input images in the examples/ folder of this repo.

http://pugbutt.com/jsVoronoiPCB/voronoi_pcb.html

One source of inspiration for this project is the Visolate project which has a similar aim but is written in Java:

https://groups.csail.mit.edu/drl/wiki/index.php?title=Visolate:_Voronoi_Toolpaths_for_PCB_Mechanical_Etch

jsvoronoipcb's People

Contributors

caiannello avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jsvoronoipcb's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.