Last modified 2024-12-20 00:27:20 CST

Projects

Primary

a lightweight, embeddable software-defined radio framework built on LuaJIT
a lightweight software-defined radio framework built with Zig
a pure Python 2/3 library for peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) in Linux
a Lua library for peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) in Linux
a C library for peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) in Linux
a lightweight msgpack serializer and deserializer written in pure Python
a weather frontend to a variety of weather providers

Software

Simple console snake implementation written in TypeScript
Rule 110 on the Ethereum blockchain
a tool to dump, plot, and convert impedance sweeps from a RigExpert antenna analyzer
a console-based simple serial port terminal, written in Python
an example getblocktemplate Bitcoin miner, written in Python
a standalone Bitcoin keypair/address generator, written in Go
Rule 110 implemented with C++11 templates
a point-to-point layer 2 tap interface tunnel over UDP/IP with HMAC-SHA256 authentication, written in Go
a real-time spectrogram tool for PulseAudio and a command-line spectrogram tool for WAV files, written in C++11
a minimal fortune-mod clone, written in C

Hardware

a simple kitchen timer implemented in digital logic on a Lattice MachXO2 CPLD
an inexpensive, open hardware, 32-bit Cortex-M0 development board
a clone of Doug's Word Clock
a simple 8-bit multi-cycle von Neumann architecture CPU, written in Verilog
an open hardware, open source Cortex M3-based electronic wind instrument
a sound file spectrum extraction tool to accompany the elec-rec
an electromagnetic levitating digital scale
a 5V regulated switched capacitor boost converter implemented with discrete components
a basic audio echo/delay "pedal" based on LPC1768/mbed
a Wireless ZigBee/XBee controlled TRIAC
a Wireless ZigBee/XBee V-I Power Meter

3D Models

a 3D printable speaker dock for the SmartiPi Touch 2 case made with OpenSCAD
a 3D printable parametric slotted float made with OpenSCAD
a 3D printable parametric hook clip made with OpenSCAD
a 3D printable flosser holder made with OpenSCAD
a 3D printable parametric trimmer tray made with OpenSCAD
a 3D printable parametric closet rod end cap made with OpenSCAD
a 3D printable door latch spacer made with OpenSCAD
a 3D printable door strike spacer made with OpenSCAD
a 3D printable miniature motorized turntable for small objects made with OpenSCAD
a 3D printable jewelry box made with OpenSCAD
a 3D printable container for Ned rig baits made with OpenSCAD
a 3D printable parametric black powder flask spout made with OpenSCAD
a simple, single-file modeled ISO thread module for OpenSCAD
a 3D printable holster claw accessory made with Fusion 360
a 3D printable parametric spiral cup made with OpenSCAD
a 3D printable fiber optic project enclosure made with Fusion 360
a 3D printable gear toy made with Fusion 360
a 3D printable webcam mount made with Fusion 360
several 3D parametric gears made with Fusion 360
several 3D printable spinning tops made with Fusion 360
miscellaneous 3D printable projects

Antennas

Presentations

Basic Makefiles for Fun & Profit
a short course on x86 assembly; slides also available online here

Development Notes

a lightweight buildroot-based, X11-free, networking-centric, IPv6-ready distribution for the BeagleBone platform

Notes

Archived

a modular, discrete-time control daemon for a hydroponic garden, written in Lua
a collection of free routines to create, read and write Atmel Generic, Intel HEX8, and Motorola S-Record formatted files; written in C
a simple QR Code decoder written in Python (for my own education; it is not a robust tool)
a simple telnet client using Linux system calls only, written in 32-bit x86 assembly
an Atmel AVR firmware disassembler with several handy features, written in C
a Microchip PIC firmware disassembler with several handy features, written in C
Creative Commons License