Open Source SMT Pick and Place Hardware and Software
Clone or download
Failed to load latest commit information.
git-hooks Update pre-commit hook to note that should be updated. Mar 26, 2017
samples Moved Place script from examples to a new samples directory. This wil… Jul 7, 2018
src serial fix Oct 15, 2018
support Add new solder paste layers, exported with the new Sep 8, 2015
.gitignore - Filter PlacementsTableModel, show only active board side. Jul 2, 2018
.gitmodules Removing onvif as a submodule and adding as a Maven dependency May 25, 2016
.travis.yml Remove machine code check in travis temporarily. It's causing build b… Sep 1, 2017 Update changes for keep alive PR and set keepalive on by default to n… Sep 27, 2018 Update Jan 26, 2016 Update May 20, 2017
LICENSE.txt Moved the gui files into the repo root, in accordance with the prophesy. Nov 23, 2014
OpenPnP.install4j Upgrade bundled JRE to 1.8.0_131. This seems to fix some performance … May 13, 2017
OpenPnP_Eclipse_Formatter.xml Changes formatting rule for chained function calls to break into lines. May 2, 2017 Update May 16, 2017 Update Dec 9, 2017 Auto update test 2. Mar 28, 2017 First stab at adding some localization. Externalized strings for the … Jul 31, 2018 Started documenting the travis build, so I don't forget this stuff ag… Oct 5, 2015
openpnp.bat Remove old native library path from windows bat. Feb 13, 2017 Added one argument to so that option -DoverrideUserConfig=… Jan 24, 2017
pom.xml Updates required to move to opencv-3.4.2 Aug 4, 2018 Updated script to abort if files don't contain license info. Feb 7, 2015

OpenPNP Logo


Open Source SMT Pick and Place Hardware and Software


OpenPnP is a project to create the plans, prototype and software for a completely Open Source SMT pick and place machine that anyone can afford. I believe that with the ubiquity of cheap, precise motion control hardware, some ingenuity and plenty of Open Source software it should be possible to build and own a fully functional SMT pick and place machine for under $1000.

Project Status

OpenPnP is stable and in wide use. It is still under heavy development and new features are added continuously. See the Downloads page to get started.

If you would like to keep up with our progress you can Watch this project on GitHub, check out our Twitter, join the discussion group, or come chat with us on Freenode IRC at #openpnp. If you don't have an IRC client, you can use this web based one


Build Status Bountysource Help Wanted Bugs Feature Requests Enhancements

Before starting work on a pull request, please read:

Summary of guidelines:

  • One pull request per issue.
  • Describe the change.
  • Follow the coding style.
  • Include tests and documentation.
  • Think of the big picture.


Many thanks to ej-technologies for providing a complimentary license of install4j. install4j creates high quality, professional installers for Java applications.

More information at