Magnatiles! Duplo blocks (the big ones, I think that is what they are called). Have you tried teaching him some sign language? We had really good luck with our boys with it -- it helped because they could at least communicate 15-20 needs or wants.

And, patience. I'm not sure where one gets it but I think it helps. ;-)