Coder Social home page Coder Social logo

pcbre's Introduction

PCBRE

PCB is an open source package for semiautomated and manual PCB reverse engineering.

Documentation and Support

PCBRE currently doesn't have any documentation. This will likely change fairly soon.

For support, please join #pcbre on freenode.

Install

PCBRE requires the following dependencies. Some will probably need to come from your systems package manager. Some might come from pip. Some need to be custom installed.

System Packages

  • python3.4
  • python3-pip (for installing python packages)
  • numpy
  • scipy
  • PySide
  • Cython (required by poly2tri and pypotrace)
  • geos (required by shapely, be sure to install geos with development headers)
  • capnp (required by pycapnp)
  • libspatialindex (required by rtree)
  • freetype (required by freetype_py)
  • opencv3 (with Python 3 bindings)
  • libagg (required by pypotrace, not yet needed)
  • potrace (required by pypotrace, not yet needed)

Python Packages

Personally, I use the following sequence to setup a test environment

virtualenv --system-site-packages -p python3.4 .env
. .env/bin/activate
pip install shapely signalslot mock freetype_py git+https://github.com/davidcarne/pypotrace.git git+https://github.com/davidcarne/poly2tri.python.git
python setup.py develop

Then you can just run pcbre by typing pcbre into your shell (its in the virtualenv path)

Debian/Ubuntu Specific Installation notes

PCBRE should function correctly on Debian/Ubuntu. Install the following packages using apt:

  • python3
  • python3-pip libspatialindex-dev
  • libgeos-dev
  • libpotrace-dev
  • libagg-dev
  • libfreetype6-dev

The following libraries may have issues when installed using the package manager, but are still required:

  • libcapnp-dev (outdated, you need 0.5.2, just make install if your distro lacks this version)
  • libopencv-dev (outdated, you need > 3.0.0 -- follow the instructions here, but make sure to use the release version of OpenCV 3.0.)

Install the packages listed above in Python Packages using pip (except for mock, which you should have already installed if you need it), and you should be good to go with prerequisites.

Windows-specific Installation notes

PCBRE is still in the process of being ported to Windows, and does not yet function correctly.

Install Python 3.4 (32-bit or 64-bit, depending on system)
Use pip to install the following binary packages from http://www.lfd.uci.edu/~gohlke/pythonlibs:

numpy scipy PySide Shapely PyOpenGL PyOpenGL_accelerate opencv_python Cython

Binary .whl packages for rtree, freetype_py, and poly2tri will be available soon. This is still a work-in-progress.
[py]capnp is currently an issue on Windows, since it heavily uses C++11, which is not available with the Visual C++ 2010 runtime used by Python 3.4.

Mac-specific Installation notes

PCBRE is still in the process of being ported to Mac OS X, and does not yet function correctly. It is being developed with the above-listed dependencies installed from Homebrew with some packages from the Homebrew-science tap.

License and Contribution Information

All source with the excluding of the following is licensed under GPLv2-or-later. That said, if you need a different license, feel free to contact me. I'm likely to grant such requests, unless its to make a commercial, closed source fork of the entire codebase.

csrc/edtaa3func.* is licensed under the license in its file headers (BSD) pysrc/pcbre/resources/Vera.ttf is under the Bistream Vera Fonts copyright (BSD-like)

pcbre's People

Contributors

davidcarne avatar balr0g avatar bpoetz avatar trou avatar

Watchers

 avatar James Cloos avatar

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.