I'm a software engineer by profession, generally on large-ish systems built by someone
else. (originally PDP-10 mainframes running tops10 or tops20, later and currently
assorted cisco routers.) However, I'm an EE by education, and enjoy "fiddling" with
assorted microcontrollers and such, doing stufff with actual hardware. I seem to be
especially attracted to small microcontrollers, such as:


Microchip PIC processors.

One of the first microcontollers offered in a small (18 pin) package, and marketted to hobbyists
and amateurs as well as large corporations, this family of chips has achieved quite a lot in the
way of penetration. There's an excellant mailing list and archive of information at the website
www.piclist.com


Nigel Goodwin has a PIC tutorial that uses some simple hardware. While Nigel suggests stripboard,
and documents suggested layouts, I've taken it as an exercise to lay out actual PCBs using Cadsoft's
EAGLE layout tool. The most recent version of these is goodwin-tutorial.zip (23-Dec-05)
The idea here is to fit as many of his board on the 160x100mm "panel" as possible, so that it could be
fabricated cheaply at Olimex. I *think* these layouts permit 14 boards (twelve boards w/two copies of
the IR board the the main CPU) to fit on such a panel.



Atmel AVR processors.

A relatively new line of flash-based microcontrollers aimed at being more C-friendly than most
competitors. A very broad range of parts from 8pin chips with 512 words or so of program
memory to "mega" parts with 100+ pins and 64k+ of memory. I've written:

Atmel AVR Instruction set decode table, first effort


A simple serial port programmer for the ATtiny11 8-pin microcontroller.



Texas Instruments MSP430 processors.

An interesting series from a TI acquisition. Notable for extremely low power consumption,
these are somewhat less available than the Microchip and Atmel parts. I've written:

Trip report from MSP430 Training seminar





PCB Design

I've recently been fiddling with designing my own printed circuit boards, using the Cadsoft EAGLE schematic and PCB layout tool. This is available under a number of nice terms for the hobbyist or small business (including as freeware), and is a reasonably powerful and complete package. In particular, many of the other PCB packages available as freeware are quite old and no longer have any real support. Eagle is actively and well supported. It also has its own c-like programming language, allowing additional functionality to be added. This section is for publishing scripts and add-on functionality and such for Eagle itself. Actual board designs will appear under the more-appropriate topic.

I've written some tutorials:

Design rules for hobbyist boards

EAGLE Schematic Entry

EAGLE PCB Creation (from schematic)



Communications and Networking

My chosen profession, as it were. Occasionally I do something non-proprietary and open
source, and I'll put it here, whether code or informational.

XMODEM/YMODEM Documentation from the dawn of history

X/YMODEM Code for tops20, as used at the original SIMTEL-20

XMODEM for (original!) IBM PC, in "BASICA"



Assorted Personal Computers. I own assorted PCs and Macs. Here's stuff for them,
should I ever happen to write it...

XMODEM for (original!) IBM PC, in "BASICA"