Schematic
The hardware has changed to a PIC16F877, which has 40 pins. The new version looks much the same, twice as many switches and relays. Plus it has a "Bank Toggle" switch, so you can have 2 settings for each switch, and toggle between them. So you can have 24 settings for the 12 relays stored in memory.
graphic
The wiring is repetitive, and not really complicated. You can't attach a relay directly to the microcontroller, it draws too much current from the chip. So you use a transistor "driver" to switch the relay on. Relays need a diode across the coil to protect the transistor.