Convert EasyEDA JSON PCB footprints into Circuit JSON or TypeScript React components.
npm install -g easyeda
import { fetchEasyEDAComponent } from "easyeda"
// Get raw EasyEDA JSON for a component
const rawEasyJson = await fetchEasyEDAComponent("C46749")
import { convertEasyEdaJsonToCircuitJson } from "easyeda"
// Convert to tscircuit soup
const soupJson = convertEasyEdaJsonToCircuitJson(rawEasyJson)
import { convertRawEasyEdaToTs } from "easyeda"
// Convert to TypeScript React component
const tsxComponent = await convertRawEasyEdaToTs(rawEasyJson)
import { fetchEasyEDAComponent, convertRawEasyEdaToTs } from "easyeda"
async function convertPartNumberToTsx(partNumber: string) {
const rawEasyJson = await fetchEasyEDAComponent(partNumber)
const tsxComponent = await convertRawEasyEdaToTs(rawEasyJson)
return tsxComponent
}
// Usage
const ne555TsxComponent = await convertPartNumberToTsx("C46749")
console.log(ne555TsxComponent)
Install the CLI with npm install -g easyeda
, you can then call
the cli with either easyeda
or easyeda-converter
.
# Convert a schematic and footprint for JLCPCB part number C46749 (NE555) to tscircuit component
easyeda convert -i C46749 -o C46749.tsx
easyeda convert -i C46749 -t tsx
# Convert a footprint and schematic for JLCPCB part number C46749 (NE555) to tscircuit soup JSON
# More info: https://docs.tscircuit.com/api-reference/advanced/soup
easyeda convert -i C46749 -o C46749.soup.json
# Convert a footprint for JLCPCB part number C46749 (NE555) to KiCad footprint
easyeda convert -i C46749 -o C46749.kicad_mod
# Download the C46749 footprint and schematic and convert to readable JSON
easyeda convert -i C46749 -o C46749.bettereasy.json
# Can also convert from files!
easyeda convert -i ./C46749.raweasy.json -o C46749.soup.json
# Get exactly what is returned from the JLC API
# The footprint, schematic and some other data is encoded in strings, you
# probably want to convert to *.bettereasy.json
easyeda download -i C46749 -o C46749.raweasy.json
Format | Description |
---|---|
*.raweasy.json |
The raw JSON from the EasyEDA API |
*.bettereasy.json |
The raw JSON from the EasyEDA API, but with the footprint and schematic data decoded |
*.circuit.json |
The tscircuit's easy-to-use JSON format (docs) |
*.kicad_mod |
A KiCad footprint file |
*.tsx |
A TypeScript React component file |
When converting EasyEDA JSON to tscircuit soup, you can pass additional options:
import { convertEasyEdaJsonToCircuitJson } from "easyeda"
const soupJson = convertEasyEdaJsonToCircuitJson(rawEasyJson, {
useModelCdn: true, // Use CDN for 3D models
shouldRecenter: false, // Don't recenter the component
})
The generated TypeScript React components can be imported and used in your tscircuit projects:
import { NE555 } from "./NE555"
const MyCircuit = () => {
return (
<circuit>
<NE555 name="U1" />
{/* Other components */}
</circuit>
)
}
These components include proper typing for props and integrate seamlessly with the tscircuit ecosystem.