Well, the bleeding file is too big to load here, so it can be found at
http://home.att.net/~katzenjammer/bike/Lighting0_150ppi.gif
The schematic is a bit of a kludge, since right now I'm reckoning to build 2 cards identical except for the programming, whereas the schematic pretends that it's all on one card. So you have to imagine the front and rear functions being separated. My thought is that putting everything onto one card would mean many long wires running to the actual lights being managed. Whereas with the functionality separated, the cards can be co-located in the light housings and the only thing I need run is the signals from the handlebar switches, which I think I ought to be able to do with some RJ-11 wire (please correct me if I'm wrong)
The program (still being written - the hw is the hard part for me) isn't at all clever. I simply poll the switches endlessly in one giant loop.
The mode switch decides whether the lights are in daytime (high brightness, flashing head and tail) or nighttime mode (moderate brightness, steady head and tail). Or off, of course.
The default state for the turnsignal clusters is warning. When turning, the two amber clusters on the relevant side flash in unison at a "turn-signal-looking" rate. When not turning, the two outside clusters flash twice in an urgent-looking way, followed by the two inside clusters, in an endless loop bipbip bepbep bipbip bepbep....
At no time do I go into twiddle mode except when debouncing the switches. Otherwise, I keep state information in counters and state vars so that I can service all the lamps via polling rather than playing with interrupts.
As you critique the hardware, I'd appreciate it if you'd help me learn how to think about hw design. Right now I don't at all know how to think about it, except as though it were software which isn't I'm sure very useful. I know about things like voltage drop and Ohm's law, but only in a totally abstract sort of way. For example, although I know that every diode or ic causes a certain voltage drop (.6V iirc), I don't know whether or when I need to do anything about it, never mind what I should do or how.