← Back to jobs

Senior Linux BSP Software Engineer

Canaan Inc.
FULL_TIME Remote · US US Posted: 2026-05-11 Until: 2026-07-10
Apply Now →
You will be redirected to the original job posting on BeBee.
Apply directly with the employer.
Job Description
About the Role Canaan Inc. is a leading RISC-V chip design company powering the world's most efficient Bitcoin mining machines. We're looking for a Senior Linux BSP Software Engineer — Mining Machine Software to lead the embedded software stack for our mining products. This role sits at the intersection of low-level BSP and high-performance distributed computing — you'll own the communication layer between mining machines and remote computing centers, optimize mining firmware performance, and drive integration with smart home device compute offloading where applicable. Location: US Hybrid · San Francisco Bay Area preferred Responsibilities Mining Machine Embedded System Architecture — Lead the overall software architecture for Canaan mining machine products on RISC-V based SoCs; design for multi-tasking, real-time performance, and high reliability under sustained hash rate load Board Bring-up & BSP — Drive BSP development and maintenance for Canaan RISC-V mining chips; port and optimize U-Boot and Linux kernel for mining form factors; own boot time, security, and reliability Distributed Computing Communication — Design and maintain long-connection communication protocols with remote distributed computing centers; implement task dispatch, dynamic frequency tuning, throughput reporting, and heartbeat maintenance; optimize for high-concurrency, long-lived TCP connections Intelligent Control & Core Features — Implement precise control algorithms, multi-level power regulation, and comprehensive safety protection logic; optimize mining efficiency under power, thermal, and noise constraints Heterogeneous Computing Integration — Develop low-level drivers and task coordination for mining ASICs / co-processors integrated alongside RISC-V cores; implement IPC between main processor and dedicated compute units System Optimization & Debugging — Performance analysis and bottleneck optimization (hash rate, power efficiency, thermal management); low-level issue troubleshooting (boot, memory, peripherals); chip validation and mass production yield improvement System Security & Performance — Implement secure boot, device identity authentication, and communication encryption for mining fleet management; continuously optimize power consumption and memory footprint Smart Home Compute Offloading — Where applicable, enable mining machines to serve as distributed compute nodes supporting smart home device workloads; architect efficient task offloading and result return mechanisms Open Source Contribution — Drive and maintain open-source projects on GitHub; contribute upstream patches to Linux kernel, U-Boot, and related open-source projects Engineering Collaboration — Define software architecture and technical roadmap; mentor junior engineers; work closely with hardware (RF, power, thermal), cloud infrastructure, and product teams; lead technical design reviews Requirements Essential Bachelor's degree or above in Computer Science, Electronics, Automation, or related field 5+ years of embedded development experience At least one complete product cycle from concept to mass production Deep familiarity with RISC-V or ARM Cortex series development Expert-level proficiency in Linux kernel principles and driver development Proven track record with U-Boot porting and debugging Active GitHub profile with proven open-source contribution history Hands-on experience with: UART, SPI, I2C · NAND/NOR Flash · Ethernet (MAC/PHY) · WiFi/BLE modules Strong understanding of TCP/IP, MQTT, HTTP protocol stacks; experienced with long-connection, high-concurrency network communication Nice to Have Experience in Bitcoin miner or high-performance computing chip development Experience with distributed computing task scheduling or remote compute offloading Knowledge of heterogeneous computing (MCU/DSP/ASIC/FPGA co-development) Experience with RTOS (FreeRTOS / RT-Thread) Familiar with Canaan RISC-V MCU development (K210, K230) Knowledge of Yocto / OpenEmbedded build system Patches or drivers merged into mainline Linux kernel, U-Boot, or other well-known open-source projects Technical Stack | Hardware | RISC-V / ARM Cortex-A / M | | OS | Linux (Kernel 4.14+) / FreeRTOS / RT-Thread | | Bootloader | U-Boot | | Languages | C / C++ / Python / Shell | | Toolchain | GCC (riscv64-unknown-elf) | | Debug | GDB / J-Link / OpenOCD | | Version Ctrl | Git / GitHub | | Open Source | Linux Kernel, U-Boot, upstream contributions | | Network | TCP/IP, MQTT, HTTPs, long-connection protocols |