KiCad Helper

Web-based tool to make changes to KiCad schematics that EESchema doesn’t let you do easily.

KiCad has limited options for auto-annotating components in schematics—mainly positionally. Personally, I prefer ordering components by quantity of the same value present in the circuit, so that on the bill of materials, you have, you get unbroken ranges of the same component. For example R1-R25 are all 100k resistors, rather than R1, R4, R9, R12, ....

Doing this manually is a tedious task, especially when making a change to an already annotated schematic. This tool helps with it.

It also helps resolved duplicate designator problems in schematics, taking into account components that have multiple sub-elements (for example an opamp chip with 4 opamps, represented by individually moveable symbols). For doing so, it offers two strategies: incrementing all following designators to make room right after the duplicated one, or using the next available number.

At this time, it only works with single-sheet schematics.

The tool lets you pick a file, but it doesn’t upload it anywhere. All processing happens within the webpage’s JavaScript itself, including generating the revised schematic file you can save to your computer.

Work Involved:

  • Writing a parser for KiCad .sch files (with help of documentation on its file formats)
  • Normalising component data for easy comparison
  • Correctly grouping elements from the same component
  • Designing algorithms to fix duplicates / reorder designators
  • UI implementation (HTML/CSS, implement re-usable multiple choice dialog component)

All the JavaScript for this project is “vanilla” JS, in that it doesn’t use any external libraries or pre-compilation tools beyond the web browser APIs.