The fact that Wang's procedure cannot theoretically work for arbitrary large tile sets does not render it useless for practical purposes.

This is from the Wikipedia web page on Wang tiles.

Here is an algorithm for special cases that *may* (not certain) apply to your situation ($|T|=4$).
$T$ is a subset of $\mathbb{Z}^2$.

**Abstract**. ... Here we present two algorithms, one for the case when $|T|$ is prime, and another for the case when $|T|=4$ ...

Szegedy, Mario. "Algorithms to tile the infinite grid with finite clusters." *Foundations of Computer Science*, 1998. Proceedings. 39th Annual Symposium on. IEEE, 1998. (IEEE link)

And finally, a bit off the beaten path, but very interesting:

Abel, Zachary, Nadia Benbernou, Mirela Damian, Erik D. Demaine, Martin L. Demaine, Robin Flatland, Scott D. Kominers, and Robert Schwelle. "Shape replication through self-assembly and RNase enzymes." In *Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms*, pp. 1045-1064. Society for Industrial and Applied Mathematics, 2010. (ACM link):