Skip to content

Commit 656d4e7

Browse files
committed
Add README
1 parent 83b3bba commit 656d4e7

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

README.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Interactive HTML BOM generation plugin for KiCad EDA
2+
3+
This plugin was born from necessity of generating convenient BOM listing
4+
with ability to easily search for components and their placements on the
5+
pcb.
6+
7+
This is really useful when hand soldering your prototype and you have
8+
to find the 50 places where that 0.1uF cap should be or which of these
9+
SOP8 footprints are for the same micro.
10+
11+
This plugin utilizes Pcbnew python bindings to read pcb data and
12+
render silkscreen, footprint pads, texts and drawings. Most of the pcbnew
13+
features are supported but there are some rarely used things that will not
14+
be rendered. For example curve type segments in drawings are not supported.
15+
16+
## Installation
17+
18+
KiCad's Pcbnew plugins can be placed in following places, depending on
19+
platform.
20+
21+
- Windows
22+
- {KICAD_INSTALL_PATH}/share/kicad/scripting
23+
- {KICAD_INSTALL_PATH}/share/kicad/scripting/plugins
24+
- %KICAD_PATH%/scripting
25+
- %KICAD_PATH%/scripting/plugins
26+
- %APPDATA%/Roaming/kicad/scripting
27+
- %APPDATA%/Roaming/kicad/scripting/plugins
28+
29+
30+
- Linux (some distributions may install in /usr/local instead of /usr)
31+
- /usr/share/kicad/scripting
32+
- /usr/share/kicad/scripting/plugins
33+
- $KICAD_PATH/scripting
34+
- $KICAD_PATH/scripting/plugins
35+
- ~/.kicad_plugins
36+
- ~/.kicad/scripting
37+
- ~/.kicad/scripting/plugins
38+
39+
40+
- MacOS
41+
- /Applications/kicad/Kicad/Contents/SharedSupport/scripting/plugins
42+
- ~/Library/Application Support/kicad/scripting/plugins
43+
44+
I recommend downloading [latest release](http://github.com/osp/release) or
45+
cloning this repo in a directory of your choice and creating a symlink in one of
46+
KiCad's plugin directories to `InteractiveHtmlBom` folder. Linux users can do
47+
it with `ln -s <target> <link>`, in windows `cmd /c mklink /D <link> <target>`
48+
does the job.
49+
50+
If you want this plugin to work in all KiCad versions you install, it's
51+
best to put it in user folder (%APPDATA% for Windows, ~/ for Linux).
52+
53+
## Usage
54+
55+
Open Pcbnew. Draw your board, make sure it has edges drawn on Edge.Cuts layer.
56+
57+
Save the file and press the
58+
[iBOM](http://github.com/osp/InteractiveHtmlBom/icon.png) button.
59+
60+
## Supported versions
61+
62+
Kicad 5.0 and later are supported.
63+
64+
## Known issues
65+
66+
- Circle and Arc shape in edge cuts may lead to incorrect board boundary
67+
calculation in html render.
68+
69+
- Custom shape pads and copper zone drawings in footprints are supported but
70+
you need patched version of KiCad python bindings.
71+
72+
You can get these bindings [here](http://github.com/osp/bindings).
73+
74+
Overwrite corresponding files:
75+
76+
- {KICAD_INSTALL_PATH}/bin/\_pcbnew.kiface
77+
- {KICAD_INSTALL_PATH}/lib/python2.7/site-packages/pcbnew.py
78+
- {KICAD_INSTALL_PATH}/lib/python2.7/site-packages/\_pcbnew.pyd
79+
80+
Patch is sent to KiCad devs and hopefully will be integrated soon.
81+
82+
## Browser support
83+
84+
Generated html page is tested in Chrome, Firefox and Edge. IE will not be
85+
supported, patched for other browsers are welcome.
86+
87+
# License and credits
88+
89+
Plugin code is licensed under MIT license, see `LICENSE` for more info.
90+
91+
Html page uses [Split.js](https://github.com/nathancahill/Split.js) library
92+
(also distributed under MIT license) which is embedded into the page.
93+
94+
`units.py` is borrowed from [KiBom](https://github.com/SchrodingersGat/KiBoM)
95+
plugin (MIT license).

0 commit comments

Comments
 (0)