kicad-mod-converter v0.0.30
kicad-mod-converter
This module converts kicad files into a tscircuit soup json, an easy-to-use JSON format for electronics.
Library Usage
npm add kicad-mod-converter
import { parseKicadModToTscircuitSoup } from "kicad-mod-converter"
import { readFileSync } from "node:fs"
const fileContent = readFileSync("SW_SP3T_PCM13.kicad_mod")
const jsonSoup = await parseKicadModToTscircuitSoup(fileContent)
/*
* {
* "type": "pcb_smtpad",
* "x": 0.345,
* ...
*/
You can also output "kicad json", an intermediary JSON format that more closely resembles the original kicad sexpr.
import { parseKicadModToKicadJson } from "kicad-mod-converter"
const kicadJson = parseKicadModToKicadJson(readFileSync("SW_SP3T_PCM13.kicad_mod"))
/*
* {
* footprint_name: "...",
* fp_lines: [
* { start: [0, 0], end: [20, 4], stroke: { width: 0.1 } }
* ...
*/
CLI Usage
npm install -g kicad-mod-converter
# interactive usage
kicad-mod-converter
# Convert a directory ./my-footprints.pretty to a tscircuit project
kicad-mod-converter convert-kicad-directory --input-dir ./my-footprints.pretty --output-dir ./my-tscircuit-footprints
You can now go inside ./my-tscircuit-footprints
and run npm i
and npm run start
to
view all your footprints!
Using the Converted Kicad Directory
!NOTE You should publish the generated library to the tscircuit registry! Just run
tsci publish
inside the directory!You can then use
tsci add yourgithubusername/package-name
import { Battery_CR1225 } from "./my-tscircuit-footprints"
export default () => (
<group>
<component footprint={Battery_CR1225} />
</group>
)
Development
You should read about the kicad sexpr syntax to understand how to read the footprint files.
There are tests in this repo, take a look in the tests
directory to see how they work.
!NOTE You'll need to pull the kicad-footprints official repo before you can run the tests, you can do this by running
npm run test:pull-kicad-footprints
CLI Testing
You can test the cli by running npm run cli
.
If you want to test conversion of a kicad directory, run npm run cli:test-convert
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago