The circuits work and normally several people have tried before publish on the website. You can see some photos of their circuits and there is even a Step by Step to implement some of them.
Review your PCB for possible shortcircuits, a cut track or bad welds that are usually the main reasons they do not work. Feel free to ask in the forum but try to give as many details better, a simple 'doesn't work' does not give much information to help you
Sorry, I do not have any PCB of my circuits (except some of the RS modules). To do it yourself you can find useful these tutorials, and there is even a Step by Step to implement some of them.
Unless stated otherwise (such as the PIC16F876 of DCC_Gen) the .hex file is valid for the PIC16F628 and PIC16F628A (and PIC16F628-04 PIC16F628-20, in this case the number after the dash indicates the maximum frequency of the crystal)
In the turnout decoder, if instead of using the PIC16F84 or PIC16F84A you want to use the PIC16F628 you can program it with one of the .hex of the MERG web.
I do not know all the programmers on the market, be sure that your programmer can program this type of PIC, the main problems occurring in the serial port programmers (Type TE-20), use preferably a desktop PC to a notebook PC as their port series gives more current. I made a little guide for using the ICProg.
Something that sometimes works is to erase four or five times the PIC before you program it (with PIC12F629 take note of the value of the last position of the program memory, the 34xx, and be sure that is later programmed in the last position the value you saved)
In the JDM programmer (TE-20) with 8 and 18 pin sockets, the PIC12F629 has to be placed on the 18-pin socket. With PIC16F628 may be necessary NOT to insert the pin 10 of the PIC into the socket of the programmer.
To program the 16F690 in the JDM (TE-20) put a pair of 8 pin sockets on 18 pin socket like the picture
The switch decoder acts as permissive, it has to hold pressed while program the CV from the command station. There are command stations that can not program the CV513 and above (such as using the bus Xpressnet 3.0), in this case it may be easier to modify the CV before program the PIC:
Make sure that your command station can read CV (the Lokmaus / Multimaus with Roco booster can not read CV). Reading the CV is made by detecting the pulses produced by the decoder consumption, if consumption is too low can not be read. Probably also have to feed the decoder with DCC signal instead of AC voltage.
The turnout decoder produces the pulse of the ACK only in the LED so the consumption is so low that no pulses are detected.
The source code is in the Download section. If you can not find the file you want, is that I did not publish for personal reasons. Do not ask
To use GenLI in your control train program, select the interface Lenz LI100 at speed of 9600b, even if you use the GenLI-USB or GenLI with a serial-USB cable.
For GenLI-RS-USB and RS2PC interfaces select Lenz LI100F at a speed of 19200b