Skip to content
UdemyIT & SoftwarePaid courseAll LevelsCertificate

Raspberry Pi: Write Your Own Operating System Step by Step (Udemy.com)

Learn how to write a 64-bit operating system from scratch for raspberry pi 3 and 4

Created by: x-BIT Development

Last updated May 2026

icon
What you will learn

  • Be able to build a simple operating system for the ARM64 architecture.
  • Understand the fundamentals of ARM64
  • How to handle interrupts and exceptions in ARM64 mode
  • How to write OS kernel with the assembly code and C code
  • Be able to build a memory manager using ARM paging mechanism
  • How to write timer handler for the process manager
  • How to build a process manager to schedule processes and change them among different states (sleep, ready, killed)
  • How to implement system call module to make user programs running in the system
  • Write a simple console and interact with OS kernel using commands
  • Be able to write a simple file system module which supports reading fat16 system.

How it compares

Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:

  • Rating4.3 out of 5higher than 20% of them
  • Reviews161#878 of 1,183 by number of reviews
  • Length11.3 hourslonger than 75% of them
  • Last updatedMay 2026more recently than 73% of them

icon
Course Description

Welcome to Raspberry Pi: Write Your Own Operating System course.

This course teaches you how to build a simple operating system from scratch. It covers basics about the AArch64 architecture and low-level programming. In this course, we will take you through the process of building a small working system step by step.

The first part of the course teaches all you need to know (processor modes, paging, exceptions and interrupts handling, etc.) before you can build the kernel on the AArch64 architecture. In this part, we will see how to prepare for mode switching. We switch from EL2 to EL1 and then jump to EL0. Our kernel is running in 64-bit mode. We will see how to handle exceptions and interrupts, how to switch between kernel mode and user mode.

The second part of the course teaches you how to build kernel modules such as processes, memory management, interrupt handling, etc. In this part, we will see how to interact with the OS kernel using the console. After finishing this part, you should know how to write user programs and make them running in your own operating system.


  • In this course you will learn:

         How to build a simple operating system for the AArch64 architecture.

         How to handle interrupts and exceptions

         How to write OS kernel with the assembly code and C code

         Be able to write print function to print characters on the screen

         Be able to build a memory manager using paging mechanism

         How to write timer handler for the process manager

         How to build a process manager to schedule processes and change them among different states (sleep, ready, killed)

         How to implement system call module to make user programs running in the system

         Write a UART driver

         Write a simple console and interact with OS kernel using commands

         Be able to write a simple file system module which supports reading fat16 system.


At the end of the course, you should be able to develop your own 64-bit operating system.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

x-BIT Development

x-BIT Development was created to help anyone learn low-level programming and gain a better understanding of how things work.

We currently focus on making high quality courses on assembly languages, operating systems and more. Our goal is to teach programming in an easy and effective way, which helps students to get the most out of our courses.



icon
More courses by x-BIT Development

$64.99

$69.99

icon
More IT & Software courses

$49.99

$10.99

$124.99

$19.99

$11.99

$19.99

icon
Reviews

4.3

161 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Vic Fer on 2/26/2025

Good and straightforward course, it presents only the required information from the datasheets and user manuals, focusing the lectures on the topic. It worths the value for money, and sincerely, overcome my expectations.

By Dayama Pradeep on 2/15/2025

The course is truly excellent and serves as a comprehensive starting point for anyone interested in learning how to write an operating system. It provides clear guidance and valuable insights, making it an ideal one-stop resource for beginners. Thank you, X-Bit Development, for creating such an informative and well-structured learning

By Mikael Glans on 8/5/2024

I had taken some courses on operating systems development before and read some books on the subject. In the earlier courses I read (one here on Udemy also) it was hard to follow the idéas and you just code along - without understanding. In this course, the instructor explains the general idéas and all course coding content follows a logical thread, so if you follow along carefully, here you actually will understand how the code works, and hence, also how a simple operating system works, from the inside. However, I suggest you read at least one theory book on operating systems first, - to have the whole picture theoretical insight, before you start this course. It is also good if you have pretty solid knowledge in assembler and C language also. After, this course, is a very good one, to put all the theory you learnt into practise.

By Chun-yien Chang on 4/8/2024

This course is somewhat unique on Udemy, which I love, but I do hope the creator can at least further update the content, including any mistakes, typos, and outdated parts.

By Sayed Hasan on 11/26/2023

Content is very good. Instructor moves at a brisk pace, without overly detail explanations, which is nice. The content will give you a chance to write a complete OS from start to finish. This will only serve as a starting point and provide a big pictuer view, which is really nice. The instructor has little bit of accent, which sometimes make it difficult to follow, but with English subtitle on, there is no issue. Great course, and thank you for developing it!

By Stefanos Bekiaris on 10/5/2022

Very detailed and good course, it needs a bit more assembly knowledge than I expected.

By Derek Schwalenberg on 6/4/2022

I'm a high-level programmer but this is my first shot at low-level programming. Very interesting so far.

By Justin Cheng on 5/6/2022

Challenging for people just learning about arm assembly, computer architecture and design. The instructor is extremely difficult to understand at times. This course essentially has you copying code. Decent introduction to bare metal programming where you use assembly and C to do low level configurations on system registers. However, not the best in my opinion. Definitely need a strong foundation regarding computer architecture, and you especially need understanding how the stack and memory works.

By Gaelan Anthony Sebastian D'costa on 3/7/2022

So far it's been understandable and clear, and I appreciate all the instructions for setting up one's environment. My big gripe is that the downloaded code is different in a few places than in the lectures, and comments in the code would have gone a long way to help retention and understanding

By Ankana Datta on 11/27/2021

Brilliant course !! for all System Software Engineers working on ARMv8 architecture.

Showing all 10 reviews on CourseDuck

Read all 161 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100