Cade Weinberg
I am a Software Developer with an interest in the hardware-software-human
interface. I develop embedded firmware, developer tools, and systems
software. I have an interest in how computers work from the hardware up.
How the layers fit together, and where performance, reliability, and
usability are gained and lost.
Selected Projects
Limnmoco -- Stop-Motion Motion Control
Dual-core STM32 embedded software for a stop-motion camera crame,
integrating with Dragonframe to provide virtual-axis motion and repeatable
camera moves. The Cortex-M7 handles motion calculations and high level
control logic while the Cortex-M4 provides deterministic step generation
and timing-sensitive motor outputs.
DMCv2Analyzer -- Dragonframe Protocol Analyzer
A custom C++ protocol analyzer for Saleae Logic 2, developed to test and
validate communication between Dragonframe and the Limnmoco motion
controller. Decodes UART traffic into structured DMC v2 messages, including
motor commands, virtual-axis operations, and real-time motion control.
Features packet framing, Fletcher-16 checksum validation, error reporting,
and independently tested protocol parsing.
Virtual-Produino -- Stop-Motion Virtual Production Lighting
A low-cost virtual production lighting system for stop-motion animation,
designed to bring the lighting environment of a digital scene into a
physical miniature set. A C++/Qt desktop application integrates with
Dragonframe to synchronize animation frames with a 10 x 10 NeoPixel LED
Matrix driven by an Arduino R4 WiFi.
Exp -- A C Inspired Programming Language and Compiler
An experimental programming language and compiler implemented from sratch
in C, using no third-party libraries outside the testing framework. Exp
compiles directly to native x86-64 ELF executables targeting Linux. The
project explores language design, parsing, SSA-based intermediate
representations, and machine-code generation.