<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j" -->

---
title: Rust in the kernel? What about Rust without the kernel!
description: Bare-metal embedded programming without an operating system is presented as a growing trend enabled by Rust and AI-assisted coding. Rather than shipping full...
canonical: https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Rust in the kernel? What about Rust without the kernel! | daily.dev
og:description: Bare-metal embedded programming without an operating system is presented as a growing trend enabled by Rust and AI-assisted coding. Rather than shipping full...
og:url: https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j
og:image: https://api.daily.dev/og/posts/p0GhSDJ0J.png
og:image:alt: Rust in the kernel? What about Rust without the kernel!
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rust in the kernel? What about Rust without the kernel!

**[Sylvain Kerkour](https://daily.dev/sources/kerkour)** · 4 min read · 6 upvotes · 0 comments

## Summary

Bare-metal embedded programming without an operating system is presented as a growing trend enabled by Rust and AI-assisted coding. Rather than shipping full Linux distributions on single-purpose devices like routers or cameras, developers can now write statically-linked firmware directly for cheap, powerful microcontrollers (Espressif ESP32-S31, Nordic, WCH, Raspberry Pi chips). Rust's package manager and type system replace dependency and memory-safety concerns traditionally handled by an OS, while LLMs can generate embedded code quickly given a correct spec. The Embassy framework is recommended as a no-OS async runtime, with a cargo feature-flag pattern shown for targeting multiple chips (ESP32-C6, nRF52840) from one codebase.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://kerkour.com/rust-kernel>

## Questions this post answers

### What is Embassy in Rust embedded development used for?

Embassy is a Rust framework that replaces the need for a traditional operating system in embedded projects. It provides an async executor and hardware abstraction so firmware can run bare metal on microcontrollers, supporting chips like the ESP32-C6 and nRF52840 through cargo feature flags rather than requiring a full OS image.

_daily.dev surfaces embedded Rust frameworks like Embassy for developers building no-OS firmware._

### How do you build a single Rust firmware that targets multiple microcontroller chips like ESP32-C6 and nRF52840?

Use Cargo feature flags to conditionally compile chip-specific dependencies and entry points in one codebase. Define features such as esp32c6 and nrf52840 in Cargo.toml pulling in the right hardware crates, guard each async main function with #[cfg(feature = "...")], and build with a command like cargo build --release --feature esp32c6, with a build.rs validating the chosen feature and loading the matching memory.x file.

_engineers targeting multiple microcontrollers can track patterns like this via daily.dev before writing their own build scripts._

## Similar posts on daily.dev

- [embassy-rs/embassy: Modern embedded framework, using Rust and async.](https://daily.dev/posts/embassy-rs-embassy-modern-embedded-framework-using-rust-and-async--xlt2wqihq) · Lobsters · 2 upvotes · 0 comments
- [Microcontrollers with good support for Rust](https://daily.dev/posts/microcontrollers-with-good-support-for-rust-ktbdvaoxc) · Sylvain Kerkour · 1 upvotes · 0 comments
- [\[2604.25679\] Embedded Rust or C Firmware? Lessons from an Industrial Microcontroller Use Case with Ariel OS](https://daily.dev/posts/2604-25679-embedded-rust-or-c-firmware-lessons-from-an-industrial-microcontroller-use-case-with-a-a3d3ki6ve) · Hacker News · 2 upvotes · 0 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#embedded](https://daily.dev/tags/embedded)

[View this post on daily.dev](https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Rust in the kernel? What about Rust without the kernel!","url":"https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j"},"datePublished":"2026-09-30T16:29:43.061Z","dateModified":"2026-09-30T16:30:34.715Z","description":"Bare-metal embedded programming without an operating system is presented as a growing trend enabled by Rust and AI-assisted coding. Rather than shipping full...","image":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","thumbnailUrl":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","isAccessibleForFree":true,"articleSection":"Sylvain Kerkour","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Sylvain Kerkour","logo":"https://media.daily.dev/image/upload/s--3ngWt4Yp--/f_auto,q_auto/v1786438308/logos/kerkour?_a=BAMAMicg0","url":"https://daily.dev/sources/kerkour"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":6},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"rust,embedded","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sylvain Kerkour","item":"https://daily.dev/sources/kerkour"},{"@type":"ListItem","position":3,"name":"Rust in the kernel? What about Rust without the kernel!"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/rust-in-the-kernel-what-about-rust-without-the-kernel--p0ghsdj0j#faq","mainEntity":[{"@type":"Question","name":"What is Embassy in Rust embedded development used for?","acceptedAnswer":{"@type":"Answer","text":"Embassy is a Rust framework that replaces the need for a traditional operating system in embedded projects. It provides an async executor and hardware abstraction so firmware can run bare metal on microcontrollers, supporting chips like the ESP32-C6 and nRF52840 through cargo feature flags rather than requiring a full OS image. daily.dev surfaces embedded Rust frameworks like Embassy for developers building no-OS firmware."}},{"@type":"Question","name":"How do you build a single Rust firmware that targets multiple microcontroller chips like ESP32-C6 and nRF52840?","acceptedAnswer":{"@type":"Answer","text":"Use Cargo feature flags to conditionally compile chip-specific dependencies and entry points in one codebase. Define features such as esp32c6 and nrf52840 in Cargo.toml pulling in the right hardware crates, guard each async main function with #[cfg(feature = \"...\")], and build with a command like cargo build --release --feature esp32c6, with a build.rs validating the chosen feature and loading the matching memory.x file. engineers targeting multiple microcontrollers can track patterns like this via daily.dev before writing their own build scripts."}}]}
```

