2026-10-07 15:41:34
In my last post, I wrote about debugging the Nordic Semiconductor nRF54LM20 when a peripheral, specifically the Key Management Unit (KMU), writes directly to memory while the CPU is halted. Or I should really say that I wrote about debugging the application core (Cortex-M33), as the nRF54LM20 also has a RISC-V coprocessor (VPR) referred to as the Fast Lightweight Peripheral Processor (FLPR). Around the time that Nordic announced the VPR core, I wrote two posts; one about its architecture and the other about how communication works between it and an application core.
2026-09-18 15:41:34
I’ve spent the last few weeks working with the security architecture of the nRF54L series from Nordic Semiconductor (in case you missed it, I recently joined Nordic!). While doing so, I have engaged my typical low-level learning technique of eschewing writing firmware for manually poking at registers using the debugger. A few nights ago I found myself observing unexpected values in memory when working with the key management unit. It turned out to be a familiar issue, but one that requires an understanding of the internal system on chip (SoC) components, and how the debugger interacts with them, to diagnose.
2026-08-24 15:41:34
Friday was my last day at Golioth (and Canonical), and today is my first day at Nordic Semiconductor! It has been an interesting journey to say the least, but before diving into what drew me to Nordic, I would be remiss not to briefly reflect on my time at Golioth. I joined Golioth after a few years at Upbound, where I spent the majority of my time working on the open source Crossplane project, before eventually moving over to lead teams that built Upbound Cloud and the Upbound Marketplace.
2026-07-31 15:41:34
I’ve recently been working on a mechatronics project that involves constructing an X-Y cartesian motion system. I opted to use stepper motors to drive each axis, and timing belts and pulleys for translating the rotational torque of the steppers into linear motion. The timing belts need to be anchored to the component that is being actuated, which in this case is the carriage on the linear rails. Though matching toothed clamps exist, it is common, particularly in DIY projects, for timing belts to be fastened using zip ties or custom clips.
2026-07-27 15:41:34
Disclaimer: this post contains spoilers for Christopher Nolan’s 2026 depiction of The Odyssey. If you are planning to watch the movie, I would recommend doing so prior to reading, even if you are already familiar with the story. I’ve spent most of my career leading teams, including serving as CTO at Golioth prior to our acquisition by Canonical. Over the years I’ve tried to commit a significant portion of my time to listening to feedback from individuals on those teams, reflecting on my own decisions and motivations, and seeking advice and guidance from those who have been successful leaders.
2026-05-30 15:41:34
It has been more than two years since I bought a Pinecil soldering iron and wrote about soldering the breakout board and accessing the UART. I’ve been doing more work with the Pinecil as of late following the addition of upstream support for the Bouffalo Lab BL706 MCU in Zephyr (big shout out to @VynDragon, @will-tm, @josuah, and everyone else who has been contributing to the upstream Bouffalo Lab efforts!).