LμKOS – The Learning μKernel OS
This project (found at my GitHub) is a COVID-19 free-time project I’ve been working on. I have a series of posts devoted to it, but the quick gist is this: I’ve never worked with microkernel OSes before, and decided I’d build one from scratch to bolster my understanding. Check out the source or blog entries for more info, or shoot me an email.
Blog Category: https://jacobncalvert.com/category/series/kernels/
GitHub Link: https://github.com/jacobcalvert/lukos
Virtualization for Embedded Systems Series
This series of posts is focused around virtualization and how we can use it in embedded systems to build better, more scalable and more secure systems. It’s broken down into several parts:
I have a few more posts to finalize this series when time allows.
This project is my first foray into “from scratch” guitar electronics. I started with the simplest of all possibilities: a clean boost guitar pedal. I called it the HotMic because it should give a boost of 2x-4x from the input signal (and because all good guitar pedals have a cool name!). There is no code in this design because all the electronics are analogue. My blog post on the project sums up the parts and step.
Features: 2x-4x clean boost, true signal bypass, LED indicator
Links: Intro, Schematic + Layout , Build, Test + Demo
This project is the starting point for a large MIDI music controller. littleKernel is a multitasking kernel targeted at the AVR platform. This project will eventually flow into the MIDI control surface project. The multitasking system will handle MIDI events, as well as read potentiometers, faders, a scroll wheel, some buttons, and drive an LCD. I hope to complete this whole project some time in the Spring or Summer of 2017.
Dependencies: AVR platform, avr-gcc toolchain
This package is an abstraction of the GPIO library for the Raspberry Pi. I have modules written for specific motor driver chips, LEDs and general PWM control, as well as several other items. If you’re interested in it, check out its GitHub page for the source. I am slowly adding chips and modules to it as I find time.
Features: oop access to motors, LEDs, ADC chips
Dependencies: spidev, RPi.GPIO
Link: RPi Components
This is a framework that uses PHP to map URLs using a regex-like syntax to handler classes. Each handler class can define actions based on what HTTP verb was used in the request (GET, POST, PUT, OPTIONS, etc) and can enforce a required SSL restriction on a per URL or per handler class basis. I designed this with easy REST implementations in mind. I recently added a templating portion which is decoupled from the other part of the framework. Since I wanted to test the framework and template mechanism together, many of my development trials use the framework. If you’re interested in it, check out its GitHub page for the source.
Features: URL mapping to handler classes
Dependencies: mod_rewrite, PHP
Generic Data Structures
This is a set of templated data structure in C++. It includes stacks, queues, lists, binary heaps, binary search trees, and is a work in progress. If you’re interested in it, check out its GitHub page for the source. I am slowly adding structures to it as I find time.
Features: generic data structures, templated
Link: Generic Data Structures
This is a Python backed web app for streaming local content on a ChromeCast. For the most detailed info and the latest regarding this project please visit its GitHub page.
Features: REST interface, GUI built with Bootstrap
WordBot2 is a chat bot that will log into an IRC server and monitor what is being said. It gathers statistics and collects this information into a JSON database. It has a primitive web interface that uses WebSockets to communicate via JSON messages to the server and display the top words being used, etc.
Language: Python (2.7 compliant)
Features: CLI, database, Web Interface, realtime statistics, multi-threaded
Dependencies: Tornado.py, TwistedMatrix
PacketMachine is a useless utility to flood an IP address with the maximum amount of UDP packets your system can generate and pass to the router. Can be used for network load testing.
Features: CLI, statistics, multi-threaded, cross platform
Dependencies: Boost Library (you’ll have to compile it for your architecture)