More jobs:
Junior Embedded Software Engineer
Remote / Online - Candidates ideally in
San Francisco, San Francisco County, California, 94199, USA
Listed on 2026-06-02
San Francisco, San Francisco County, California, 94199, USA
Listing for:
Canaan Inc.
Remote/Work from Home
position Listed on 2026-06-02
Job specializations:
-
Software Development
Embedded Software Engineer, Python
Job Description & How to Apply Below
About the Role
Canaan Inc. is a leading RISC-V chip design company powering Bitcoin mining machines and next-generation smart home devices. We are looking for Junior Linux BSP Software Engineers to join our BSP team, supporting both mining and smart home product lines – a great opportunity to grow your career in embedded systems with hands‑on hardware exposure from day one.
Location: US Hybrid
· San Francisco Bay Area preferred
- Support BSP development and maintenance for Canaan RISC‑V based chips (K210, K230, K230M, and upcoming SoCs).
- Assist in U‑Boot porting and debugging.
- Learn and apply boot time and reliability optimization techniques.
- Contribute to Linux kernel customization for embedded SoCs.
- Learn kernel subsystems (memory management, interrupt handling, power management).
- Grow familiarity with upstream kernel development.
- Implement and debug drivers with guidance from senior engineers.
- Storage: NAND/NOR Flash with file system support (UBI, Squash
FS, ext4). - Connectivity: Ethernet MAC/PHY, WiFi/BLE wireless module integration.
- Peripherals: UART, SPI, I²C.
- MCU integration and dual‑core heterogeneous system IPC.
- RTOS / Bare‑metal Development: Learn RTOS application development; assist with MCU firmware design and debugging.
- System Optimization & Debugging: Participate in performance analysis and issue troubleshooting (boot, memory, peripherals); support chip validation and reference design work.
- Open Source Contribution: Get involved in open‑source projects on Git Hub; start contributing patches to Linux kernel, U‑Boot, or related projects with mentorship from the team.
- Collaboration: Document hardware interfaces, driver designs, and bring‑up procedures; work closely with senior engineers, hardware teams, SDK team, and application teams.
- Bachelor's degree or above in Computer Science, Electronics, Automation, or related field.
- 0–3 years of embedded development experience (internships or academic projects count).
- Basic familiarity with RISC‑V or ARM architecture.
- Good understanding of Linux kernel principles and driver development fundamentals.
- Experience with U‑Boot basics (porting or debugging academic projects is a plus).
- Interest in or early steps toward open‑source contribution on Git Hub.
- Hands‑on experience with at least 2 of the following: UART, SPI, I²C, NAND/NOR Flash, Ethernet (MAC/PHY), WiFi/BLE modules.
- Experience with RTOS (FreeRTOS / RT‑Thread).
- Familiar with Canaan RISC‑V MCU development (K210, K230).
- Undergraduate project or internship involving embedded Linux or kernel/driver development.
- Knowledge of Yocto / Open Embedded / Buildroot build system.
- Personal Git Hub projects or open‑source contributions (even small ones).
- Hardware: RISC‑V / ARM Cortex‑A / M
- OS:
Linux (Kernel 4.14+) - Boot loader: U‑Boot
- Languages:
C / Python / Shell - Toolchain: GCC (riscv
64-unknown‑elf) - Debug: GDB / J‑Link / OpenOCD
- Version Control:
Git / Git Hub - Open Source:
Linux Kernel, U‑Boot, upstream contributions
- Competitive salary and equity compensation.
- Mentorship from senior engineers and clear career growth path in RISC‑V chip development.
- Hands‑on hardware exposure from day one — real silicon, real products.
- Open and collaborative technical team culture.
- Flexible working hours and remote work options.
- Conference attendance and training support.
- Git Hub‑backed development workflow with emphasis on open‑source collaboration.
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×