Skip to content

Instantly share code, notes, and snippets.

@kasbah
Created November 24, 2016 12:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kasbah/3934dc3ad09372fd12199dc417cf3e33 to your computer and use it in GitHub Desktop.
Save kasbah/3934dc3ad09372fd12199dc417cf3e33 to your computer and use it in GitHub Desktop.

Footwork is an experimental KiCAD footprint (text) editor written in Racket. Footwork takes advantage of Lisp's code-data equivalence to offer a unique approach to PCB design: KiCAD's footprint format becomes a domain specific language embedded in the Racket programming language.

  • The interface is text-first allowing users to make arbitrary edits: their needs need not be anticipated by the user interface
  • Users still immediately see the effects of their edits through a graphical preview
  • Users can use a fully featured general purpose programming languages to generate and modify footprints
  • Traditional (mouse based) manipulation is being added as calls to scripting
  • Racket's Rosette language, an interface to SMT solvers, offers the exciting opportunity to make use of cutting edge techniques in programming synthesis for design automation

https://github.com/monostable/footwork

http://racket-lang.org

https://emina.github.io/rosette/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment