These are some electronics projects I've done or participated in.
USB HID Devices
I built some USB HID devices to play around with, and wrote Mac OS X software to talk to them: ButtonAction.
DV Video Capture
At one point, I was writing lots of software to decode 3D range images from specially lit video. Before I forgot everything I knew about DirectShow, I wrote VideoCapture, a Windows command-line program for programmatically capturing video.
I volunteer at the Explora Science Center and Children's Museum in Albuquerque. I've worked on a few exhibits for them.
This is the first exhibit I helped build. A light shines down through a thin slit with a photodetector on the other side. Transparent discs with waveforms printed on them are rotated over the slit. The light that passes through the slit is detected and amplified into sound.
The speaker is DC-coupled, so you can turn the discs as fast or slow as you like and watch it move.
I designed an early prototype of the circuit as well as the pre-amp that's in the final version.
Chain Reaction Circuits
I'm designing a bunch of circuits for people to build crazy machines out of. Check out the project wiki.
I'm almost ashamed to admit this, but back in high school I wrote games for my graphing calculator. I used it as an excuse to learn Z80 and 68K assembly language. By the way, thanks to ticalc.org for still having these files and screenshots. My originals are collecting dust on a hard drive in my parents' closet.
Back in 1998, there weren't too many good games available for the TI-85 calculator. I thought I'd write a shoot-em-up Galaga-style game to show that it could be done. I called it Avenger so it'd be near the top of the download listings. One of my goals had been to have a scrolling starfield behind the action, which heavily taxed the 4MHz processor. In the end, it turned out that there was so much stuff moving on the slow LCD display that it was hard to tell what was going on. Also, the fact that it only had one level and the game never ended made it a bit monotonous. Still, it was my first game, and was written entirely in assembly. That's pretty good for a 16-year old.
The TI-89 calculator was released my senior year of high school. Being a big nerd, I got one as soon as I could. It had a Motorola 68000 processor in it and something like a megabyte of FLASH memory. The problem was that it had no games. I did some Internet searches and found that somebody had figured out a way to run assembly programs on it. The older TI-92 calculator had lots of games for it, and it had essentially the same hardware. I figured out how to get its version of Tetris onto my TI-89 and then got to work shrinking it to fit on the smaller screen. I also had to decode the calculator's keymap and I'm sure I did some other stuff too, but I can't remember what it was. So my second calculator game was a straightforward port of Tetris. It's available from ticalc.org (though some other people have updated it a bit since my last release on 11/1/98). I quit working on it once I got the two-player mode to work.
I worked on a lot of the projects listed at The SigArch@UIUC project page.