Nervos CKB · Embedded Hardware · Open Source
CKB on
embedded hardware.
Mine it. Sign it. Watch it. Run it.
The complete open-source stack for Nervos CKB on ESP32 hardware —
from a $3 microcontroller watching an address over LoRa,
to a full light client node with RISC-V script execution on the ESP32-P4.
Every repo here is real, tested against mainnet, and built because something needed to exist.
Purpose
Why build CKB tooling
from scratch?
CKB has a solid ecosystem for web and server environments — JS SDKs, Rust crates, Python tools.
What it doesn't have is embedded hardware support.
No Arduino library. No ESP32 light client. No way to sign a transaction from a $10 board
without routing through a custodial server.
That gap is what this work is closing. Not as a thought experiment —
each repo here is tested against live mainnet, solves a real problem,
and is built to be useful to other people in the CKB ecosystem.
🔐
Self-custody at the edge
Sign transactions on-device with on-chip secp256k1. No keys leave the hardware. No server in the middle. CKB-ESP32 makes this possible on any ESP32 board today.
📡
Off-grid CKB access
LoRa transport means CKB monitoring in places WiFi doesn't reach. The light client protocol is designed for exactly this kind of constrained, intermittent access.
⛏️
Real mining, real hardware
NerdMiner CKB puts Eaglesong mining on a $10 CYD board. The stratum proxy lets you route any ASIC or hobby miner through your own LAN infrastructure.
🔭
Building toward something
Each repo feeds the next. CKB-ESP32 provides the crypto. ckb-light-esp adds sync. Together they're the foundation for a hardware CKB wallet — the kind that doesn't exist yet.
Architecture
The embedded CKB stack.
Three repos form the core library stack — each layer builds on the one below it. Everything else is an application built on top.
Core library stack
🔧
Board targets, peripheral defines, 32+ board configurations. Every project starts here — one lib_deps line gives you pins, defines, and build flags for any target board.
ESP32 · S3 · C6 · P4
PlatformIO
32 boards
↑ all CKB repos depend on this
🔐
Arduino library for CKB protocol primitives: Blake2b-256, Eaglesong PoW, secp256k1 signing, Molecule serialisation, RPC client. End-to-end mainnet transaction signing confirmed. No crypto duplication in downstream projects.
Blake2b
Eaglesong
secp256k1
Molecule
Arduino Library
↑ ckb-light-esp builds on this
📡
First C/Arduino implementation of the CKB light client protocol. Watch any address from any ESP32 board — no cloud, no custodian. WiFi, LoRa, LoRaWAN, cellular transports. Eaglesong PoW and CBMT Merkle proofs verified against mainnet. Builds to MINIMAL (C6, address watch) through FULL (P4, CKB-VM).
Light Client
GCS Filters
WiFi · LoRa · LoRaWAN
ESP32 → P4
Applications using the stack
⛏️
Eaglesong miner on ESP32 CYD. Uses Eaglesong from CKB-ESP32. Real Stratum, live display, ViaBTC compatible.
MiningCYD
🖥️
ESP32-S3 node dashboard + wallet. Live chain stats, HTTP relay. Targets Guition 4848S040 HMI boards.
Node DisplayS3 HMI
🟧
CKB payment terminal. ESP32 HMI + thermal printer + barcode scanner. Generates QR invoices, confirms on-chain via CKB-ESP32 signing.
PaymentsESP32 HMI
Hardware
Embedded repos.
CKB running on real hardware. Every project here talks to a real node, a real pool, or the real blockchain.
First Arduino implementation of the CKB light client protocol. Watch any address, any board. Eaglesong PoW + CBMT Merkle proofs verified against mainnet. WiFi, LoRa, LoRaWAN transports. In active development.
Light Client
ESP32 → P4
Active
Arduino library for CKB protocol: Blake2b, Eaglesong, secp256k1, Molecule, RPC. On-device transaction signing — mainnet transfer confirmed. The crypto foundation every CKB ESP32 project needs.
Protocol
Arduino Library
Eaglesong solo miner for the ESP32 CYD ($10 board with built-in display). Adapted from NerdMiner V2. Real Stratum, live stats, ViaBTC compatible. Because you can mine CKB from a $10 board.
Eaglesong
CYD
Stratum
ESP32-S3 firmware for node operators. Live chain stats, HTTP broadcast relay, S3 wallet. Targets Guition 4848S040 and compatible HMI boards. Real node operator tooling.
ESP32-S3
Node Display
CKB payment terminal for merchants. Elecrow ESP32 HMI 3.5" + thermal printer + barcode scanner. Scan your address on first boot, print QR invoices, confirm on-chain. No setup, no server.
Payments
ESP32 HMI
ESP32 HUB75E LED matrix clock showing live CKB block height from a local node. Large LED panel, desk or wall-mounted. The kind of thing that makes people ask what CKB is.
ESP32
HUB75E
Infrastructure
Infrastructure repos.
The server-side and community tooling that keeps the CKB ecosystem running. Node monitoring, whale alerts, anti-scam bots, fast sync — built and run by node operators, for node operators.
Weekly GPG-signed CKB chain snapshots via Cloudflare R2. SHA256 verified, streamed directly. Skip days of syncing — up in hours. Includes assume_valid_target trustless option.
SnapshotsFull Node
Real-time CKB node monitoring for arm64 SBCs. Node.js proxy + HTML polling UI. Block height, sync status, peer count, epoch progress — at a glance from any browser on the LAN.
MonitoringNode.js
Local Stratum proxy for CKB Eaglesong mining. Per-miner extranonce allocation, ViaBTC quirk handling, HTTP stats. Point any ASIC or NerdMiner at your LAN — proxy handles the upstream pool.
MiningStratum
Monitors a local CKB node for large transactions, fires Telegram alerts. Live USD threshold via CoinGecko, skips cellbase and self-transfers. Running live in the Nervos Nation community group.
AlertsTelegram Bot
Telegram bot detecting and banning fake moderator impersonators in CKB community groups. Behavioural scoring: lurk rate, fresh accounts, trading spam patterns. Protecting the community, automated.
CommunityTelegram Bot
Complete guide to running a Nervos CKB full node on an Orange Pi 3B. Step-by-step from fresh board to synced node. Community resource for the hardware-minded node operator.
Full NodeOrange PiGuide
How we build
Design principles.
Things that have stayed consistent across every repo in the stack.
Mainnet-first
Every implementation is verified against live CKB mainnet before it ships. No simulated test data for protocol-critical code.
RFC before code
Before implementing any CKB data structure or protocol, read the RFC. It's already caught field naming bugs and incorrect serialisation assumptions.
No duplication
Crypto primitives live in CKB-ESP32. Board targets in wyltek-embedded-builder. No copy-pasting between projects — changes propagate through lib_deps.
Host-testable
Core logic compiles and runs on a Linux host with g++. Catch bugs fast without flashing hardware. All critical code has a test suite.
Minimal footprint
Conditional compilation throughout. Unused features cost zero flash. MINIMAL profile fits on a $3 C6 with room to spare.
Real use cases only
Nothing gets built without a concrete use case. Payment terminal. Mining device. Address watcher. If it can't be used by a real person, it doesn't exist.