This is a very simplified design for an ADS interface. It is compatible with BMW's original ADS interface. This is just a schematic, though links to board layouts are certainly welcome in the comments below.
I did this as a matter of necessity while trying to do some related stuff for the openOBC project. It was intended to act as both a low-cost DIY ADS interface design (the first one to appear on the internet, I believe) and as a reference design to inspire other ADS interfaces. It uses parts that are most likely to be available locally so that one could theoretically discover the schematic and have an interface built and working within the same evening.
If you are in need of an ADS interface and you'd like to build one yourself, whether because it's quicker, cheaper, or just more enjoyable, I'd surely recommend building this. You'll find that it's fully compatible with INPA, DIS, and all that stuff. Actually, until Tiny ADS Interface came along, this design on a breadboard (the one in the picture) was the only ADS interface I had ever used.