Last modified 2015-03-17 02:46:15 PDT

Projects

Software

a modular, discrete-time control daemon for a hydroponic garden, written in Lua.
a real-time spectrogram tool for PulseAudio and a command-line spectrogram tool for WAV files, written in C++11.
Linux Peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) with Lua.
C Wrappers for Linux Peripheral I/O (GPIO, SPI, I2C, MMIO, Serial).
a lightweight msgpack serializer and deserializer written in pure 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 lightweight buildroot-based, X11-free, networking-centric, IPv6-ready distribution for the BeagleBone platform.
a point-to-point layer 2 tap interface tunnel over UDP/IP with HMAC-SHA256 authentication, written in Go.
a minimal fortune-mod clone, written in C.
a console-based simple serial port terminal, written in Python.
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 collection of free routines to create, read and write Atmel Generic, Intel HEX8, and Motorola S-Record formatted files; written in C.
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 with a focus on I/O, battery power, non-volatile storage, and debug-ability.
a clone of Doug's Word Clock.
an open hardware, open source Cortex M3-based electronic wind instrument (write up in progress).
a sound file spectrum extraction tool to accompany the elec-rec (write up in progress).
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.

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.

Embedded Systems and Development Notes

Math Notes

Here be dragons…

a simple QR Code decoder written in Python (for my own education; it is not a robust tool).