Skip to content

voneiden/cirdis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cirdis - Circuit Dissector - PCB Reverse Engineering Tool

Cirdis aims to make reverse engineering 2-sided PCB's succeed in a breeze. It allows you to load pre-aligned images and trace out the PCB features in a way that is extremely quick and fun compared to using an image editor or pen and paper.

Cirdis is meant to be used on a desktop/laptop with a keyboard and mouse. It can also be used with a mouse only and while it works on mobile devices, no effort has been made to optimize the experience for touch screens.

Contribution Policy

Cirdis is open source but the repository is closed to unrequested outside code contributions. For the time being I prefer to maintain both full copyright in this repository and also a solid grasp on the feature scope.

Feature requests/ideas/improvements can be submitted via issues. Please provide sufficient detail in describing the functionality and why it would be important to include in this software. The scope of the feature should also be reasonable.

Bugs must describe the steps to reproduce, the expected outcome and the actual outcome.

How to use

  1. Align layer(s) using your preferred image editor
  2. Import layer(s)
  3. Place THT pads and vias
  4. Place SMT pads
  5. Draw traces
  6. Bob's your uncle
Other notes
  • Middle mouse pans
  • Mouse wheel zooms
  • shift+wheel changes pad size and trace thickness

Features

Implemented
  • Import any number of layers

  • THT pads (through hole)

  • SMT pads (surface mount)

  • Surface traces

  • Snapping

  • Undo/redo

  • Keyboard + Mouse optimized UI

  • Component utilities (pin numbering, fast pin placement)

  • Planned
  • Dimensioning (define a known distance and measure stuff)

  • Snap to angle

  • Prevent overlapping component placement

  • Deleting stuff

  • Snap to trace segment

  • Custom nets (name + color)

  • Pin labels

  • Save/Load project

Exploration
  • undo/redo with multiple timelines (branching)

Roadmap

Primary milestone is to support dissecting normal 1 or 2-sided PCB's. If there is demand, the tool could possibly be extended to support proper multi-layer boards (needs support for blind vias) or even silicon reverse engineering but these are currently outside of the scope. Feel free to discuss.

Other software

There have been some attempts