Skip to main content

Posts

Showing posts from December, 2024

Programmable Music Module

Simtelic Music Module is a user-programmable module that uses RTTTL data to store and play melodies. EL0003 - Programmable music module. RTTTL , which stands for Ring Tone Text Transfer Language , was created to provide a simple, text-based format for sharing ringtones on early mobile phones. Developed by Nokia , it quickly became popular due to its compact size and compatibility with text messaging services. This format allowed users to easily exchange custom melodies without needing specialized software or data connections. RTTTL is a human-readable data format where each ringtone is represented as a sequence of notes, durations, and optional settings. According to Simtelic naming conventions, this module is identified as EL0003 and is available for purchase online. Top view of the EL0003 module. This module is built around a 32-bit MCU, a 2Kbit EEPROM, and a CH340 USB bus conversion chip. It is compatible with the latest Windows and Linux-based PCs. The module is user-fr...

Building an experimental monolithic kernel

In this blog post, we will walk you through the process of developing a monolithic kernel call tinyOS from scratch by following tutorials from JamesM's and Bran's Kernel Development guides. This includes setting up a cross-compilation toolchain, writing assembly and C code for the kernel, creating an ISO image with GRUB , and testing it in a virtual machine (VM) using VirtualBox . Since some resources are no longer available, we will also provide alternative solutions and details on the entire process. There are several kernel development tutorials available on the internet, but JamesM's tutorial stands out as more organized and comprehensive, covering a broad range of features. I followed this tutorial a few years ago, but unfortunately, the original site is no longer accessible. Thankful to archive.org, the content is still available , and the full source code can also be downloaded from the site . tinyOS in GRUB menu. Before diving into the kernel development, we need...