Hi
what bits are you struggling with?
The pic reads in the dip switches (the first 3) are a binary representation of the flash delay in 100ms intervals, and the 4th tells the pic what type of flash to do.
Operation:
Power for whatever is to be flashed is connected to J7, this could be either a live or earth, depending in the configuration of what you want to flash.
J4 is connected to the left hand light, J6 is connected to the right hand light.
J3 and J5 are provided so that you can connect the circuit 'in-line' with existing lights.
The pretext here is that if you wanted to flash your headlights you would snip the switched wire to the bulb, and connect the loom side to J3, and the bulb side to J4, same with J5 and J6 on the other side of the vehicle. J7 gets connected to whichever power source is switched on your vehicle, so if you have a switched live, then live connects to J7, if you have switched earth then earth gets connected to J7.
This configuration means that when the flasher is powered down, the lights will operate properly as is you hadn't connected the flash, when powered up, the circuit disables the factory circuit (to prevent backfeeding the lighting circuit), and pulses power from J7 to J4 and J6 alternativly.
For your purpose you could leave out the bottom 2 relays
Im still working on the code