#ki-cad #converter #eda #lcsc #easyeda

bin+lib nlbn

Fast and reliable EasyEDA/LCSC to KiCad converter with batch processing support

6 stable releases

Uses new Rust 2024

new 1.0.5 Feb 12, 2026
1.0.3 Feb 11, 2026

#216 in Data formats

MIT license

165KB
3.5K SLoC

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: MIT Rust


Features

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

Installation

Note: Currently tested on Windows platform only. Linux and macOS builds are provided but not yet tested.

Option 1: Download Pre-built Binary

Download from GitHub Releases:

  • Windows: nlbn-windows-x86_64.exe.zip ✓ Tested
  • Linux: nlbn-linux-x86_64.tar.gz (untested)
  • macOS: nlbn-macos-x86_64.tar.gz or nlbn-macos-aarch64.tar.gz (untested)

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

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

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

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 (fast!)
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: .]
  --parallel <N>          Parallel threads for batch mode [default: 4]
  --continue-on-error     Skip failed components in batch mode
  --overwrite             Overwrite existing components
  --v5                    Use KiCad v5 legacy format
  --debug                 Enable debug logging
  -h, --help              Print help

Performance

Batch processing with parallel downloads:

  • 5 components: ~4 seconds (8 threads)
  • 100 components: ~3-5 minutes (8 threads)
  • Up to 45x faster than sequential processing

Output Structure

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

Examples

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

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

# KiCad v5 format
nlbn --full --lcsc-id C529356 --v5

License

MIT License - See LICENSE file for details

Credits

Based on easyeda2kicad Python implementation.

Dependencies

~10–27MB
~311K SLoC