CI

Senior Embedded Software Engineer

Accepting applications

Canaan Inc. · California, United States

Full-Time Mid_senior ARMASICC++EthernetFPGA
Posted
2d ago
Category
Test
Experience
Mid_senior
Country
United States
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 |

What We Offer
Competitive salary and equity compensation
Opportunity to work on world-leading Bitcoin mining hardware powered by Canaan RISC-V chips
Open and collaborative technical team culture with mentorship opportunities
Flexible working hours and remote work options
Conference attendance and training support
GitHub-backed development workflow with emphasis on open-source collaboration
Show more Show less