{"id":39,"date":"2025-09-18T07:55:07","date_gmt":"2025-09-18T07:55:07","guid":{"rendered":"https:\/\/microsproject.dev\/?p=39"},"modified":"2025-09-18T07:55:07","modified_gmt":"2025-09-18T07:55:07","slug":"welcome-to-micros","status":"publish","type":"post","link":"https:\/\/microsproject.dev\/index.php\/2025\/09\/18\/welcome-to-micros\/","title":{"rendered":"Welcome to MicrOS"},"content":{"rendered":"\n<p>MicrOS is a new open-source embedded operating system designed to be <strong>simple, open, and educational<\/strong>.<br>It\u2019s inspired by great projects like <a href=\"https:\/\/zephyrproject.org\/\">Zephyr<\/a>, <a href=\"https:\/\/www.freertos.org\/\">FreeRTOS<\/a>, and <a href=\"https:\/\/www.riot-os.org\/\">RIOT<\/a>, but with a twist: MicrOS aims to stay small, transparent, and beginner-friendly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf Why MicrOS?<\/h2>\n\n\n\n<p>The embedded ecosystem is rich with feature-packed RTOSes. They are powerful, but often come with steep learning curves, complex build systems, and thousands of lines of code to digest before you can understand the basics.<\/p>\n\n\n\n<p>MicrOS was born to answer a simple question:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>What if we had an OS that anyone could read, understand, and hack on \u2014 without drowning in complexity?<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>MicrOS is therefore designed with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clarity first<\/strong>: every line of code has a purpose.<\/li>\n\n\n\n<li><strong>Education in mind<\/strong>: great for learning context switching, scheduling, and drivers.<\/li>\n\n\n\n<li><strong>Open community<\/strong>: MIT licensed, open to contributions, easy to fork and experiment with.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 First Milestone<\/h2>\n\n\n\n<p>The very first MicrOS sample will showcase <strong>context switching<\/strong> running on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>STM32 (Cortex-M)<\/strong> hardware<\/li>\n\n\n\n<li><strong>QEMU ARM emulation<\/strong><\/li>\n<\/ul>\n\n\n\n<p>This is a crucial step: once the OS can switch between tasks, everything else \u2014 scheduling, drivers, user applications \u2014 builds on top of it.<\/p>\n\n\n\n<p>Expect a full walk-through blog post soon \ud83d\udc40<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcc2 Code Organization<\/h2>\n\n\n\n<p>The repository is structured with simplicity in mind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>kernel\/<\/code> \u2013 core OS logic (context switch, scheduler)<\/li>\n\n\n\n<li><code>arch\/<\/code> \u2013 architecture-specific code (Cortex-M, RISC-V in the future)<\/li>\n\n\n\n<li><code>drivers\/<\/code> \u2013 simple, modular drivers<\/li>\n\n\n\n<li><code>samples\/<\/code> \u2013 example applications to learn from<\/li>\n\n\n\n<li><code>docs\/<\/code> \u2013 documentation and blog posts (like this one!)<\/li>\n<\/ul>\n\n\n\n<p>The codebase is set around <code>Kconfig<\/code> and CMake for fast pick-up and start of your next project.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude4c How You Can Get Involved<\/h2>\n\n\n\n<p>MicrOS is at the very beginning of its journey. If you\u2019d like to help shape it, here\u2019s how:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2b50 <strong>Star the repo<\/strong> to show support.<\/li>\n\n\n\n<li>\ud83d\udc1b <strong>Open issues<\/strong> if you find bugs or have feature requests.<\/li>\n\n\n\n<li>\ud83d\udd27 <strong>Contribute code<\/strong> \u2014 even small things like fixing typos help.<\/li>\n\n\n\n<li>\ud83d\udce3 <strong>Spread the word<\/strong> if you believe in the idea of an open, educational embedded OS.<\/li>\n<\/ul>\n\n\n\n<p>Contributions are welcome \u2014 check out the <a href=\"https:\/\/chatgpt.com\/g\/g-p-68c7f71d802c8191927fcdeef66d8ec0-embedded-game-console\/CONTRIBUTING.md\">CONTRIBUTING.md<\/a> for guidelines.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude80 What\u2019s Next?<\/h2>\n\n\n\n<p>Here\u2019s the rough roadmap:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Get a basic context switch running on STM32 + QEMU.<\/li>\n\n\n\n<li>Add cooperative scheduler.<\/li>\n\n\n\n<li>Implement basic drivers (GPIO, UART, Timer).<\/li>\n\n\n\n<li>Release first &#8220;hello world&#8221; multitasking demo.<\/li>\n\n\n\n<li>Grow community through tutorials and sample projects.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>MicrOS is an experiment, a playground, and hopefully \u2014 a community project.<br>If you\u2019ve ever wanted to <strong>build your own OS, contribute to one, or just learn how these systems tick<\/strong>, this is the place for you.<\/p>\n\n\n\n<p><strong>MicrOS \u2014 simple, open, embedded.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MicrOS is a new open-source embedded operating system designed to be simple, open, and educational.It\u2019s inspired by great projects like Zephyr, FreeRTOS, and RIOT, but with a twist: MicrOS aims to stay small, transparent, and beginner-friendly. \ud83c\udfaf Why MicrOS? The embedded ecosystem is rich with feature-packed RTOSes. They are powerful, but often come with steep [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-39","post","type-post","status-publish","format-standard","hentry","category-announcement"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/posts\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/comments?post=39"}],"version-history":[{"count":1,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/posts\/39\/revisions"}],"predecessor-version":[{"id":40,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/posts\/39\/revisions\/40"}],"wp:attachment":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/media?parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/categories?post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/tags?post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}