Last modified 2016-10-08 18:57:21 PDT

Projects

Software

a lightweight, embeddable software-defined radio framework built on LuaJIT
a modular, discrete-time control daemon for a hydroponic garden, written in Lua
scripts to dump, plot, and convert RigExpert Antenna Analyzer impedance sweeps
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
C wrappers for peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) in Linux
a lightweight msgpack serializer and deserializer written in pure Python
a console-based simple serial port terminal, written in Python
a standalone Bitcoin keypair/address generator, written in Go
an example getblocktemplate Bitcoin miner, written in Python
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
an Atmel AVR firmware disassembler with several handy features, written in C
a Microchip PIC firmware disassembler with several handy features, written in C
a lightweight buildroot-based, X11-free, networking-centric, IPv6-ready distribution for the BeagleBone platform
a simple telnet client using Linux system calls only, written in 32-bit x86 assembly

Hardware

an inexpensive, open hardware, 32-bit Cortex-M0 development board
a clone of Doug's Word Clock
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

Antennas

Logic

a simple 8-bit multi-cycle von Neumann architecture CPU, written in Verilog

Presentations

a short course on x86 assembly; slides also available online here

Development Notes

Notes

Here be dragons…

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)
Creative Commons License