Posts in Projects
Docker for SW Development
- 01 February 2025
This is from a lunch-n-learn I hosted which aimed to showcase the features and advantages of using docker during the development process. It includes with a few tutorials on how to use it.
Git basics
- 16 December 2024
This is from a lunch-n-learn I hosted. Yet another intro to git is not necessary on the internet, but I wanted to store mine someplace easily accessible for when I need it again. This introduction is geared towards Software Engineers and touches on some of the inner workings/concepts git employs.
Spying on a CANOpen bus
- 13 December 2024
CANOpen is a protocol stack that sits on top of a normal CANBus. Recently I found myself needing to monitor the traffic between 2 devices on a CANOpen network. Monitoring a CANbus by itself is easy to do with a little Python. Where I ran into difficulty was interpreting the raw CANbus frames into CANOpen messages. Here’s how I solved that.
Defining CANBus messages with a DBC file
- 03 December 2024
DBC files are a standard way to define the messages that will be transmitted over a raw CANBus. While working with this format I found it easy to find tools that could interpret, use, and generate DBC files. However I had a hard time finding resources to describe the format and schema of these files. This post describes some of the schema details I found the most helpful, many of which I had to learn by digging through the source code of tools that work with DBC files. Personally, I find examples the easiest way to learn/understand schema basics, so I’ll use that here while also describing the schema itself.
Unified Messaging Solution for Small UAS
- 16 September 2023
A major challenge I’ve repeatedly encountered while working in embedded software is communication protocols in a heterogeneous and evolving system. The main difficulty lies in obtaining modern messaging system conveniences while supporting the lowest-common denominator in your system (ie: a tiny Cortex-M0 running in the system).
Embedded Development Primer
- 05 January 2023
This post is meant to be an overview of some principles and practices I have found helpful for professional baremetal embedded development. This is meant for people who want to have total control over their embedded development environment and codebase.
Pallet Desk
- 02 September 2018
As I finished up my sophomore year at university, I realized that I needed my own desk. At that point I had lived in three different apartments. All 3 of them had desks provided, and all of those desks were mediocre at best, downright broken at worst. What’s worse is at the time I worked from home, which meant I needed a reliable desk. With the summer about to hit, and plans to work full-time from home, I knew I needed something fast. Here’s the end result:
My Website [Old]
- 31 July 2018
This page describes how I initially implemented this website back in 2018. I’ve since moved to a much simpler solution using Sphinx Docs and ablog