In this course you will learn how to create an Embedded OS, really from the ground up.
You will be guided step by step in the creation of each and every technical software module composing an embedded operating system, as well as in the development of your own target device on the bench (optional: you can use a free simulator or a ready-to-use Starter Kit), starting with basic electronic components and an industry-standard processor.
In this course you will learn how to create an Embedded OS, really from the ground up.
You will be guided step by step in the creation of each and every technical software module composing an embedded operating system, as well as in the development of your own target device on the bench (optional: you can use a free simulator or a ready-to-use Starter Kit), starting with basic electronic components and an industry-standard processor.
You will learn how to create device drivers step-by-step for real hardware components like displays, SD card storage, Wi-Fi, Inertial Movement Units (IMU, i.e. accelerometer and gyroscope), USB communication, analog Joysticks, thermal camera modules and more.
By the end of this course you will master system-level programming in the assembly and C languages, as well as the technical processes governing the interaction between CPU and memory. Thanks to the numerous hands-on experiences and practical demonstrations, you will develop the ability of gaining full control on the machine by manipulating CPU registers, stack, instruction pointer, return addresses, and much more. At the end of the software development part, you will learn how to create a porting to another architecture, like x86.
Although the hardware development part is optional, if you have access to an electronics lab you will also develop the ability of prototyping your circuit, designing and assembling your own target PCB (Printed Circuit Board).
This section contains the complete OS sources, ready-to-compile inside the Microchip MPLAB-X IDE.
In this lecture I am presenting how to port an existing IMU driver from Arduino to PIC32, easily and quickly.
This can be done thanks to the BSP that we have developed in chapter 6.
- MPU6500 Breakout PCB Design: https://oshwlab.com/hvictor/mpu6500_breakout
- The driver project is available in the resources of this Lecture: MPU6500_Driver.X.zip
- The Test Application (Windows) is available in the resources as well: MPU6500_TestApp.cs
For the Test Application, you will need to create a C# .NET project in Visual Studio.
The project will need the reference to the OpenTK 3.2.0 and OpenTK.GLControl 3.1.0 Nuget Packages.
If you have trouble setting up the Test Application, drop me a message and I will help you and/or provide you the Visual Studio Solution.
In this lecture I'd like to guide you through the whole process of designing a functional ESP32-based Wireless Device featuring Wi-Fi and Bluetooth! You will learn how to make a circuit board built around the Espressif ESP32, and to write firmware for it using the industry-standard FreeRTOS real-time kernel, creating a wireless video-streaming application. In the lecture resources you can find the complete source code, as well as the hardware schematics, Gerber files, BOM and pick-and-place file.
Learn how to build an FM modulating circuit, and use it to transmit the analog video from a camera! You can build your own radio CCTV system, or many cool devices that use the FM modulation to transmit video and audio.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.