6 stable releases
Uses new Rust 2024
| new 1.0.5 | Feb 12, 2026 |
|---|---|
| 1.0.3 | Feb 11, 2026 |
#216 in Data formats
165KB
3.5K
SLoC
nlbn
Fast EasyEDA/LCSC to KiCad converter written in Rust
Convert EasyEDA and LCSC components to KiCad library formats with blazing fast parallel downloads.
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.gzornlbn-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