Skip to content

bcr/routercise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Routercise

Chit-Chat

2019-06-30

I want to make a system for learning routing in PCB designs. The idea is present incrementally harder routing scenarios and then see if you can devise a solution.

Considering that we have:

  • "Layers" (independent layers for routing)
  • "Vias" (inter-layer conductive connections)
  • "Pads" (interconnection points)
  • "Parts" (groups of pads)
  • "Nets" (lists of electrically connected pads)
  • "Wires" or "Traces" (conductive traces added to satisfy the nets)

There are some real-world constraints that are part of this, which can be introduced selectively:

  • Interconnection of nets. Probably uniformly disallowed. No touching traces or pads for other nets.
  • Movement of parts. This includes rotation and translation. Some parts cannot be moved due to mechanical limitations.
  • Number of layers.
  • Trace width.
  • Trace / space constraints.
  • Number of vias.
  • Annular ring size.
  • Drill size.
  • Keepouts.
  • Board shape / drills / cutouts.
  • Pad / trace proximity to board edge / drills / cutouts.

A first set of user operations might be:

  • Draw a wire from here to here
  • Remove this wire
  • Translate this part
  • Rotate this part
  • Undo stack

Units are numbers in mm. Because JavaScript and none of your business how numbers work.

About

Exercise. For PCB routing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published