Skip to content

linkyourbin/nlbn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nlbn logo

nlbn

Fast EasyEDA/LCSC to KiCad converter written in Rust

Convert EasyEDA and LCSC components to KiCad library formats with blazing fast parallel downloads.

Crates.io License: CC BY-NC 4.0 Rust


Features

  • Convert symbols, footprints, and 3D models
  • Batch processing with parallel downloads
  • Standalone binary - no dependencies required
  • Low memory usage

Installation

Option 1: Download Pre-built Binary

Download from GitHub Releases:

  • Windows: nlbn-windows-x86_64.exe.zip
  • Linux: nlbn-linux-x86_64.tar.gz
  • macOS: nlbn-macos-x86_64.tar.gz or nlbn-macos-aarch64.tar.gz

Option 2: Install from crates.io

cargo install nlbn

Option 3: Build from Source

git clone https://github.com/linkyourbin/nlbn.git
cd nlbn
cargo build --release

Quick Start

Single Component

# Show version and help
nlbn

# Show frequently used command lines
nlbn --prompt

# Convert everything (symbol + footprint + 3D model)
nlbn --full --lcsc-id C2040

# Convert only symbol
nlbn --symbol --lcsc-id C2040

# Append to an existing KiCad library set
nlbn --full --lcsc-id C2040 -o ./kicad-libs --lib-name MyParts

Batch Processing

# Create a file with LCSC IDs (one per line)
echo "C2040" > components.txt
echo "C529356" >> components.txt

# Batch convert with 8 parallel threads
nlbn --full --batch components.txt --parallel 8

# Continue on errors
nlbn --full --batch components.txt --parallel 8 --continue-on-error

Usage

nlbn [OPTIONS]

Options:
  --lcsc-id <ID>          LCSC component ID (e.g., C2040)
  --batch <FILE>          Batch mode: read IDs from file
  --symbol                Convert symbol only
  --footprint             Convert footprint only
  --3d                    Convert 3D model only
  --full                  Convert all (symbol + footprint + 3D)
  -o, --output <PATH>     Output directory [default: .]
  --lib-name <NAME>       Base library name under --output
  --symbol-lib <FILE>     Existing symbol library file to append/update
  --footprint-lib <DIR>   Existing footprint library directory to append/update
  --model-lib <DIR>       Existing 3D model library directory to append/update
  --prompt                Show frequently used command lines
  --parallel <N>          Parallel threads for batch mode [default: 4]
  --continue-on-error     Skip failed components in batch mode
  --overwrite             Overwrite existing components
  --debug                 Enable debug logging
  -h, --help              Print help

Output

output/
├── nlbn.kicad_sym              # Symbol library
├── nlbn.pretty/                # Footprint library
│   └── Component_Name.kicad_mod
└── nlbn.3dshapes/              # 3D model library
    └── Component_Name.step

Use --lib-name when you want to append into an existing MyParts.kicad_sym, MyParts.pretty, and MyParts.3dshapes set under one output directory. Use --symbol-lib, --footprint-lib, and --model-lib when you need to target explicit existing library locations. Existing symbol, footprint, and 3D files are skipped by default; pass --overwrite to replace them.

Symbol

KiCad symbol

Footprint

KiCad footprint

3D Model

KiCad 3D model

Examples

# High-performance batch conversion
nlbn --full --batch components.txt --parallel 16 -o ./library

# Append to explicit existing symbol / footprint / 3D libraries
nlbn --full --lcsc-id C529356 \
  --symbol-lib ./kicad/MyParts.kicad_sym \
  --footprint-lib ./kicad/MyParts.pretty \
  --model-lib ./kicad/MyParts.3dshapes

# Resume interrupted batch (skip existing)
nlbn --full --batch components.txt --continue-on-error

License

This work is licensed under CC BY-NC 4.0. You are free to share and adapt this work for non-commercial purposes with attribution.

About

This is a CLI tool to export components' symbols, footprints, 3d models from LCSC/EasyEDA to KiCad.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages