I have wanted to work on a high-level OS on an embedded system for a while. I built a reference distro a few years back but never got into it too deep due to a lack of focus and no specific goal in mind. For one of my latest work projects, I utilized freeRTOS which got me interested in creating a multi-threaded web application in an embedded context.
Before I get into my plans for the project I want to briefly discuss why I’ve started this blog. For personal projects (really all projects😬), documentation has always been a struggle; but no longer! I’ve decided to use this blog as a means of forcing myself to think about what exactly I want to accomplish with a given project and how I want to go about it. I can easily reference it from any device, and it serves as documentation so future me can learn from past mistakes and (hopefully) motivate me to see projects to completion.
Now, to get into the project I’ve started working through a book I got a few years ago called: “Embedded Linux Systems with the Yocto Project” by Rudolf J. Streif. My intention is to work through this book with the reference “poky” distribution until I am confident enough to jump into making my own Linux distribution which will just act as a host for a web app and the hub for a mesh network. My goal is to develop a simple data acquisition web app and use an ESP8266 (or similar) microcontroller to transmit data from some sensor attached to it to the hub. The purpose is to create a distributed data acquisition system with excellent scalability and portability. I don’t have a firm idea of what application I want to use this for, but once I have the base system designed I can figure that out. 🤞
Thanks to Windows 11’s ability to serve graphics through the WSL I was able to easily run the Qemu emulator to test out my poky build. The next steps for this project are to continue through the textbook I referenced previously until I am confident enough to start working on my custom distribution and application. I’m not sure which web stack I will use to develop the app but I’m thinking MEAN just because I am somewhat familiar with it already. The hub will be a raspberry pi that I expect to receive sometime this week.