I recently updated the Roomba’s microcontroller program a little bit, then I decided to finally get to work on a printed circuit board (PCB) for the PIC. I was able to design the PCB with open source gEDA tools.
Here’s the schematic:

…and here’s the PCB layout:

I used the well-known “print layout on glossy photo paper, iron onto copperclad board, bathe in ferric chloride, scrub off toner with nail polish remover, drill with dremel tool” method to fabricate my board. Here it is before soldering:

…and here I tilted it so the copper traces catch the light:

I (poorly) soldered all of the components into place:

…the underside:

I learned quite a bit from my mistakes on this PCB. The traces I used are too thin and a couple were broken by either the toner transfer process or during the etch. Next time I’ll use thicker lines and iron it longer. I also tried to patch the lines with sharpie marker, which worked to some extent, but left some ugly black and gray stains all over the board. Some of the thin traces also burned up when I tried to solder in my jumper wire, so I won’t use the same solid copper wire next time. The big nasty solder blob is a repair to one of the broken traces.