Last modified 2014-07-25 12:39:13 PDT

Projects

Software

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 lightweight, networking-centric, IPv6-ready, buildroot-based server distribution for the BeagleBone platform.
an example getblocktemplate Bitcoin miner, written in Python.
a standalone Bitcoin keypair generator, written in Go.
an Atmel AVR firmware disassembler with several handy features, written in C. Note: This project will soon be replaced by ucdisasm.
a Microchip PIC firmware disassembler with several handy features, written in C. Note: This project will soon be replaced by ucdisasm.
a console-based simple serial port terminal, written in Python.
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 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).