What I Do


Embedded Development

A love for computers and technology developed over time into a love for embedded systems. They surround us, control much of the modern world, and yet go unnoticed by the vast majority of people. I started learning C almost two decades ago, and in the last 5 years have transitioned to C++ for embedded projects. I have experience working with ARM Cortex chips, from the M0 all the way to the M7 and beyond; the ESP8266 and ESP32 (both the Xtensa cores and the RISC-V cores); AVR cores, ranging from the miniature ATtiny5 to the ATmega1284 and above; PIC microcontrollers, especially the PIC32MX series -- I love the MIPS M4k architecture; and also the MSP430 low-power microcontrollers. In recent years I've been trying to branch out to different vendors and architectures to learn more, but with the industry rapidly coverging on just ARM Cortex and RISC-V cores, I believe it won't be too many years before a lot of the neat, less common chips like the Parallax Propeller or XMOS multi-core chips become even more niche than they are.

Along with programming embedded devices, I also do schematic capture, PCB layout, and prototyping of embedded hardware. PCB layout is one of my favourite activities, and I thoroughly enjoy the puzzle of routing the often hundreds of connections without turning the PCB into spaghetti.

An embedded device for controlling a very strange, physical programming environment I'm working on! A business card style PCB with a scientific touch calculator on the front! A breakout board I designed for the Pico

Blog Writing

I have done professional writing gigs for quite a few years now. I've written for websites like Hackaday, Hackaday.io, Tindie Blog, element14 Community, and even the Supplyframe Hardware Blog. I've accumulated a lot of experience writing articles and blog posts that engage the maker/engineer/hacker community.

Link Source Description
Modern Drop-in 6809 Emulator Article for Hackaday
Meccano-based Hellschreiber machine Article for Hackaday
ESP8266 Tutorials, Part 1 Series of 9 projects for Hackaday.io
Getting Started with Cypress PSoC 6 and AWS A project for Hackaday.io on using the Cypress PSoC 6
Data Logging Weather Clock Promotional piece for element14

If you're interested in hiring me to do writing for you, contact me using any of the methods on the Contact page!


Education

The opportunity came up to teach a course for Hackaday University during the pandemic, and I jumped at the change. I taught a 4-week video course on Embedded Serial Buses, specifically 1-Wire and I²C. The course was well-received, and many students emailed me to say how much they enjoyed the course and benefitted from it. I am interested in doing more work in this area. I've written a few drafts of potential chapters for books on Linux, PCB Layout, Embedded Prototyping and more.