Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

PCBmodE logo

A circuit board design software with a twist

PCBmodE is a circuit board design software written in Python. Its main advantage is allowing the design to create and use arbitrary shapes for any element of the board. Using stock Inkscape as the GUI provides all the features of a drawing tool. This, in contrast to traditional PCB design tools that restrict visual freedom and don't have the full feature set of a vector editing software.

Workflow

PCBmodE folows a layout-driven design flow. There's no schematic functionality or DRC other than the designer's eyes. It's essentiallya script that runs from commandline generating files depending on the stage of the design.

  1. Text editor: edit input JSON files
  2. PCBmodE: convert JSON files to Inkscape SVG
  3. Inkscape: edit SVG (component movement, routing, etc.)
  4. PCBmodE: extract changes and apply them back to input JSON files

Iterate the above until the design is ready, and then

  1. PCBmodE: create Gerber files from SVG
  2. Send to fab
  3. Get lovely boards back and impress people on Twitter

Requirements

PCBmodE is developed and tested under Linux, so it might or might not work under other OSs.

Resources

Roadmap

PCBmodE was written and is maintained by Saar Drimer of Boldport. It has been used to design all of Boldport's products since 2013. It is, therefore, very functional but sadly not that well documented and development happens in bursts.

The next version of PCBmodE is v5, codename 'cinco'. For this release I'd like to get the following done:

  • Package PCBmodE so it's easy to install
  • Update and maintain the documentation
  • Migrate to Python3 (drop support for Python2)
  • Work with Inkscape 1.x (drop support for previous versions)
  • Improve performance and do better than the current simple caching method
  • Implement the latest Gerber X2 standard
  • Automatic 'gerber-lp' generation from SVG shapes
  • Support any font form Google Fonts
  • Fully support SVG paths (currently 'l' is buggy and 'a' isn't supported)

New desired extensions:

  • Footprint creation wizard
  • New project wizard
  • Browser viewer of PCBmodE SVGs
  • Inkscape add-on to invoke PCBmodE functions from within Inkscape

Contributing

For contributing code, see the CONTRIBUTE.md included in this repository.

If you'd like to contribute towards development in the form of hard cold electronic money, see the end of this page.

The name

The 'mod' in PCBmodE has a double meaning. The first is short for 'modern' (in contrast to tired old EDA tools). The second is a play on the familiar 'modifications' or 'mods' done to imperfect PCBs. Call it 'PCB mode' or 'PCB mod E', whichever you prefer.

License

PCBmodE is licensed under the MIT License.

About

A printed circuit board design tool with a twist

Resources

License

Sponsor this project

 
Learn more about GitHub Sponsors

Languages

You can’t perform that action at this time.